/*
Theme Name: BC Payments
Theme URI: https://breakcheck.com.au
Author: Break Check
Author URI: https://breakcheck.com.au
Description: Single purpose theme for the Break Check payments site. Serves the booking deposit page on the naked domain and gives plain pages such as terms and privacy the same branding. Designed to run alongside the BC Deposits plugin.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bc-payments
*/

:root {
	--bcp-navy: #0E2647;
	--bcp-navy-deep: #071A31;
	--bcp-yellow: #FFC72C;
	--bcp-blue: #2E7BFF;
	--bcp-mist: #F5F8FC;
	--bcp-line: #E1E9F4;
	--bcp-slate: #5A7194;
	--bcp-light: #C3D3E8;
}

html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }

body {
	margin: 0;
	background: var(--bcp-navy);
	color: #fff;
	font-family: 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

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

a { color: var(--bcp-yellow); }

.bcp-skip {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--bcp-yellow);
	color: var(--bcp-navy);
	font-weight: 700;
	padding: 12px 18px;
	border-radius: 0 0 10px 0;
	z-index: 100;
	text-decoration: none;
}

.bcp-skip:focus { left: 0; }

/* ---------------------------------------------------------------------
 * Plain pages: terms, privacy, anything that is not the payment form.
 * ------------------------------------------------------------------ */

.bcp-page {
	position: relative;
	overflow: hidden;
	background: radial-gradient(120% 90% at 78% -10%, #1B3E6C 0%, var(--bcp-navy) 46%, var(--bcp-navy-deep) 100%);
	padding: 0 22px 80px;
}

.bcp-page::before {
	content: '';
	position: absolute;
	top: -190px;
	left: -180px;
	width: 620px;
	height: 620px;
	background: url('assets/img/rotor.svg') no-repeat center / contain;
	opacity: .14;
	pointer-events: none;
	animation: bcp-spin 140s linear infinite;
}

@keyframes bcp-spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
	.bcp-page::before { animation: none; }
}

.bcp-page__inner {
	position: relative;
	max-width: 760px;
	margin: 0 auto;
	padding-top: 60px;
}

.bcp-page__eyebrow {
	display: inline-block;
	color: var(--bcp-yellow);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .17em;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.bcp-page__title {
	font-family: 'Archivo Black', 'Archivo', sans-serif;
	font-weight: 400;
	font-size: clamp(1.9rem, 4vw, 2.8rem);
	line-height: 1.05;
	letter-spacing: -.022em;
	margin: 0 0 26px;
}

.bcp-card {
	background: #fff;
	color: var(--bcp-navy);
	border-radius: 20px;
	padding: 34px 38px;
	box-shadow: 0 32px 64px -24px rgba(2, 10, 24, .7);
}

@media (max-width: 600px) {
	.bcp-card { padding: 24px 22px; border-radius: 16px; }
	.bcp-page__inner { padding-top: 38px; }
}

.bcp-card h2,
.bcp-card h3 {
	font-family: 'Archivo Black', 'Archivo', sans-serif;
	font-weight: 400;
	letter-spacing: -.012em;
	color: var(--bcp-navy);
	margin: 28px 0 10px;
}

.bcp-card h2 { font-size: 20px; }
.bcp-card h3 { font-size: 16.5px; }
.bcp-card > :first-child { margin-top: 0; }

.bcp-card p,
.bcp-card li { color: #33496b; font-size: 15.5px; line-height: 1.68; }
.bcp-card p { margin: 0 0 15px; }
.bcp-card ul, .bcp-card ol { padding-left: 22px; margin: 0 0 15px; }
.bcp-card li { margin-bottom: 7px; }
.bcp-card a { color: var(--bcp-blue); font-weight: 600; }

.bcp-card table { width: 100%; border-collapse: collapse; margin: 0 0 18px; font-size: 14.5px; }
.bcp-card th, .bcp-card td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--bcp-line); }
.bcp-card th { background: var(--bcp-mist); color: var(--bcp-slate); font-size: 12.5px; text-transform: uppercase; letter-spacing: .07em; }

.bcp-card blockquote {
	margin: 0 0 18px;
	padding: 14px 18px;
	background: var(--bcp-mist);
	border-left: 3px solid var(--bcp-yellow);
	border-radius: 0 10px 10px 0;
}

.bcp-footer-menu {
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	justify-content: flex-end;
}

.bcp-footer-menu a {
	color: #A9BDD8;
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
}

.bcp-footer-menu a:hover { color: var(--bcp-yellow); }

@media (max-width: 720px) {
	.bcp-footer-menu { justify-content: flex-start; }
}

.bcp-back {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-top: 26px;
	font-size: 14.5px;
	font-weight: 700;
	color: var(--bcp-yellow);
	text-decoration: none;
}

.bcp-back:hover { text-decoration: underline; }

/* ---------------------------------------------------------------------
 * Missing plugin and 404
 * ------------------------------------------------------------------ */

.bcp-notice {
	background: #FFF6DF;
	border: 1px solid #F3D68A;
	color: #6B5200;
	border-radius: 12px;
	padding: 18px 20px;
	font-size: 15px;
	line-height: 1.6;
}

.bcp-notice strong { display: block; margin-bottom: 6px; font-size: 16px; }

.bcp-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	background: var(--bcp-yellow);
	color: var(--bcp-navy);
	font-size: 15.5px;
	font-weight: 700;
	text-decoration: none;
	border-radius: 12px;
	padding: 14px 24px;
	box-shadow: 0 5px 0 #D9A413;
	transition: background .15s ease, transform .12s ease, box-shadow .12s ease;
}

.bcp-card a.bcp-cta,
.bcp-cta:link,
.bcp-cta:visited { color: var(--bcp-navy); }

.bcp-cta:hover { background: #FFD25A; color: var(--bcp-navy); }
.bcp-cta:active { transform: translateY(3px); box-shadow: 0 2px 0 #D9A413; }
