/* ============================================================
   PokerScore.co.uk — design system (Stage 8, approved 18 Oct 2026)
   Tokens: navy #0B1B2B · teal #0E8A96 · bg #F7F9FB · ink #1F2933
   ============================================================ */

:root {
	--ps-navy: #0b1b2b;
	--ps-navy-dark: #08131f;
	--ps-teal: #0e8a96;
	--ps-teal-dark: #0b6b75;
	--ps-teal-soft: #e4f3f5;
	--ps-bg: #f7f9fb;
	--ps-card: #ffffff;
	--ps-ink: #1f2933;
	--ps-muted: #52606d;
	--ps-border: #d9e2ec;
	--ps-radius: 8px;
	--ps-shadow: 0 1px 3px rgba(11, 27, 43, 0.08), 0 4px 14px rgba(11, 27, 43, 0.06);
}

/* ---------- Base ---------- */
body {
	background-color: var(--ps-bg);
	color: var(--ps-ink);
}
a { color: var(--ps-teal); }
a:hover { color: var(--ps-teal-dark); }

/* ---------- Header ---------- */
.site-header,
#masthead {
	background-color: var(--ps-navy) !important;
	border-bottom: 3px solid var(--ps-teal);
}
.site-header .main-header-bar,
.ast-primary-header-bar .main-header-bar {
	background-color: transparent;
}
.site-header .ast-site-title-wrap p.site-title a,
.site-header .main-header-bar .site-title a,
.site-header .main-header-bar-toggle,
.site-header .ast-mobile-menu-trigger-minimal {
	color: #ffffff;
}
.site-header .custom-logo {
	max-height: 52px;
	width: auto;
}
.site-header .main-header-bar .main-header-bar-navigation ul li a,
.site-header .ast-desktop-header-content .main-header-bar-navigation ul li a {
	color: #e3ecf3;
	font-weight: 600;
}
.site-header .main-header-bar .main-header-bar-navigation ul li:hover > a,
.site-header .main-header-bar .main-header-bar-navigation ul li.current-menu-item > a,
.site-header .main-header-bar .main-header-bar-navigation ul li.current_page_item > a {
	color: #ffffff;
	background-color: rgba(14, 138, 150, 0.28);
}
/* mobile menu dropdown */
#ast-mobile-header .ast-mobile-header-content,
.ast-mobile-popup-content {
	background-color: var(--ps-navy) !important;
}
.ast-mobile-header-content .main-header-menu ul li a,
.ast-mobile-header-content .main-header-menu ul li a:focus,
.ast-mobile-popup-content .main-header-menu ul li a {
	color: #e3ecf3;
}
.ast-mobile-header-content .main-header-menu ul li:hover > a,
.ast-mobile-header-content .main-header-menu ul li.current-menu-item > a {
	color: #ffffff;
	background-color: rgba(14, 138, 150, 0.28);
}

/* ---------- Search (header, added by child theme JS) ---------- */
.site-header {
	position: relative;
}
.ps-header-search {
	position: absolute;
	top: 12px;
	right: 26px;
	z-index: 30;
	display: flex;
	align-items: center;
}
.ps-header-search .search-form {
	position: relative;
}
.ps-header-search .search-field {
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 999px;
	color: #fff;
	padding: 7px 30px 7px 14px;
	width: 150px;
	min-height: 36px;
}
.ps-header-search .search-field::placeholder { color: rgba(255, 255, 255, 0.7); }
.ps-header-search .search-submit {
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	background: transparent;
	border: 0;
	color: #fff;
	cursor: pointer;
	font-size: 1rem;
	padding: 4px 8px;
}
.ps-header-search .search-submit:hover { color: var(--ps-teal); }
@media (max-width: 1100px) {
	.ps-header-search { display: none; }
}

/* ---------- Footer ---------- */
.site-footer,
#colophon {
	background-color: var(--ps-navy-dark);
	border-top: 3px solid var(--ps-teal);
}
.site-footer a { color: #9fd8de; }
.site-footer a:hover { color: #ffffff; }
.site-footer .ast-footer-copyright p,
.site-footer .ast-footer-copyright a {
	color: #b7c4d0;
}
.site-footer .ast-footer-copyright a { color: #9fd8de; }

/* ---------- Content shell ---------- */
.site-content .entry-content {
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
	background: transparent;
}
.ast-article-single-container .entry-content {
	background: var(--ps-card);
	border: 1px solid var(--ps-border);
	border-radius: var(--ps-radius);
	box-shadow: var(--ps-shadow);
	padding: 34px 40px;
	margin-bottom: 40px;
}
@media (max-width: 768px) {
	.ast-article-single-container .entry-content { padding: 22px 18px; }
}

/* ---------- Typography ---------- */
h1, h2, h3, h4, h5, h6 {
	color: var(--ps-navy);
	line-height: 1.25;
}
.entry-content h2 {
	margin-top: 2em;
	padding-bottom: 0.35em;
	border-bottom: 2px solid var(--ps-border);
}
.entry-content h3 { margin-top: 1.5em; }

/* ---------- Buttons ---------- */
.wp-block-button__link,
.button,
a.button {
	background-color: var(--ps-teal);
	color: #ffffff;
	border-radius: var(--ps-radius);
	font-weight: 600;
}
.wp-block-button__link:hover,
.button:hover,
a.button:hover {
	background-color: var(--ps-teal-dark);
	color: #ffffff;
}

/* ---------- Tables ---------- */
.entry-content table,
.wp-block-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
}
.entry-content table th {
	background: var(--ps-navy);
	color: #ffffff;
	text-align: left;
	padding: 10px 12px;
	font-weight: 600;
}
.entry-content table td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--ps-border);
	vertical-align: top;
}
.entry-content table tbody tr:nth-child(even) { background: #f0f5f8; }
.entry-content table tbody tr:hover { background: var(--ps-teal-soft); }
/* quick-facts two-column tables */
.entry-content table th:first-child { width: 38%; }

/* ---------- Review verdict box (injected per review) ---------- */
.ps-verdict-box {
	background: var(--ps-teal-soft);
	border-left: 4px solid var(--ps-teal);
	border-radius: 0 var(--ps-radius) var(--ps-radius) 0;
	padding: 18px 22px;
	margin: 0 0 1.6em;
}
.ps-verdict-box .ps-verdict-label {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ps-teal-dark);
	margin-bottom: 6px;
}
.ps-verdict-box p { margin: 0; font-size: 1.02rem; }
.ps-verdict-box .ps-verdict-meta {
	display: block;
	margin-top: 8px;
	font-size: 0.85rem;
	color: var(--ps-muted);
}

/* ---------- Homepage hero ---------- */
.ps-hero {
	background: linear-gradient(135deg, var(--ps-navy) 0%, #10314c 100%);
	color: #ffffff;
	border-radius: var(--ps-radius);
	padding: 56px 48px;
	margin-bottom: 36px;
}
.ps-hero h2, .ps-hero h3 { color: #ffffff; }
.ps-hero .ps-hero-title {
	font-size: 2.3rem;
	font-weight: 700;
	margin: 0 0 14px;
	line-height: 1.15;
}
.ps-hero .ps-hero-sub {
	font-size: 1.1rem;
	color: #c9d6e2;
	max-width: 640px;
	margin: 0 0 24px;
}
.ps-hero a.ps-hero-cta {
	display: inline-block;
	background: var(--ps-teal);
	color: #fff;
	font-weight: 700;
	padding: 12px 22px;
	border-radius: var(--ps-radius);
	text-decoration: none;
}
.ps-hero a.ps-hero-cta:hover { background: var(--ps-teal-dark); color: #fff; }
@media (max-width: 768px) {
	.ps-hero { padding: 34px 22px; }
	.ps-hero .ps-hero-title { font-size: 1.6rem; }
}

/* ---------- Homepage section headings ---------- */
.ps-section-title {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--ps-navy);
	margin: 40px 0 18px;
	padding-left: 12px;
	border-left: 4px solid var(--ps-teal);
}

/* ---------- Cards ---------- */
.ps-card {
	background: var(--ps-card);
	border: 1px solid var(--ps-border);
	border-radius: var(--ps-radius);
	box-shadow: var(--ps-shadow);
	padding: 20px;
	height: 100%;
	display: flex;
	flex-direction: column;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.ps-card .ps-card-cta,
.ps-card .ps-price {
	margin-top: auto;
	padding-top: 10px;
}
.ps-card:hover {
	border-color: var(--ps-teal);
	box-shadow: 0 2px 6px rgba(11, 27, 43, 0.10), 0 8px 22px rgba(14, 138, 150, 0.12);
}
.ps-card .ps-card-kicker {
	display: block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--ps-teal-dark);
	margin-bottom: 6px;
}
.ps-card h3 { margin: 0 0 8px; font-size: 1.15rem; }
.ps-card h3 a { color: var(--ps-navy); text-decoration: none; }
.ps-card h3 a:hover { color: var(--ps-teal-dark); }
.ps-card p { color: var(--ps-muted); font-size: 0.95rem; margin: 0 0 12px; }
.ps-card .ps-card-cta {
	font-weight: 600;
	font-size: 0.92rem;
	color: var(--ps-teal-dark);
	text-decoration: none;
}
.ps-card .ps-card-cta:hover { text-decoration: underline; }
.ps-card .ps-price {
	display: block;
	margin-top: 10px;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--ps-navy);
	background: var(--ps-teal-soft);
	border-radius: 6px;
	padding: 6px 10px;
}

/* archive page intro (category hubs) */
.archive .term-description,
.ps-category-hub {
	background: var(--ps-card);
	border: 1px solid var(--ps-border);
	border-radius: var(--ps-radius);
	box-shadow: var(--ps-shadow);
	padding: 26px 30px;
	margin: 0 auto 30px;
	max-width: 900px;
}
.ps-category-hub h2 { font-size: 1.35rem; margin-bottom: 10px; }
.ps-category-hub p { color: var(--ps-muted); }

/* archive lists */
.archive .post,
.ast-grid-common-container .ast-article {
	background: var(--ps-card);
	border: 1px solid var(--ps-border);
	border-radius: var(--ps-radius);
	box-shadow: var(--ps-shadow);
	margin-bottom: 18px;
	overflow: hidden;
}

/* search results page */
.search .page-title,
.archive .page-title { color: var(--ps-navy); }

/* ---------- Homepage grid system ---------- */
.ps-grid {
	display: grid;
	gap: 18px;
	margin-bottom: 8px;
}
.ps-grid-3 { grid-template-columns: repeat(3, 1fr); }
.ps-grid-4 { grid-template-columns: repeat(4, 1fr); }
.ps-grid-2 { grid-template-columns: repeat(2, 1fr); }
.ps-grid a.ps-card { display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.ps-grid a.ps-card:hover { color: inherit; }
@media (max-width: 1024px) {
	.ps-grid-4 { grid-template-columns: repeat(2, 1fr); }
	.ps-grid-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.ps-grid-4, .ps-grid-3, .ps-grid-2 { grid-template-columns: 1fr; }
}
.ps-home-list { max-width: 860px; margin: 0 auto 8px; padding-left: 22px; }
.ps-home-list li { margin-bottom: 8px; }
.ps-home-wrap { max-width: 1180px; margin: 0 auto; }

/* ---------- Accessibility ---------- */
a:focus-visible,
button:focus-visible,
.search-field:focus-visible {
	outline: 3px solid var(--ps-teal);
	outline-offset: 2px;
}
.ps-verdict-box, .ps-hero { scroll-margin-top: 90px; }
