/*
Theme Name: Pivot Point Community Solutions
Theme URI: https://pivotpointconsulting.online
Author: Pivot Point Consulting
Description: Brand child theme for Pivot Point Community Solutions. Bridge the Gaps.
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.5
License: GPL-2.0-or-later
Text Domain: pivotpoint-community
*/

/* Skip link and focus visibility */
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--lavender);
	outline-offset: 3px;
	border-radius: 4px;
}

/* Layered wave band, echoing the three layer bridge mark */
.pp-wave {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, var(--wp--preset--color--deep-ocean) 0%, var(--wp--preset--color--sea-glass) 100%);
	color: #fff;
}
.pp-wave::after {
	content: "";
	position: absolute;
	inset: auto -10% -40% -10%;
	height: 70%;
	background:
		radial-gradient(120% 60% at 20% 100%, rgba(184,166,197,.35) 0%, transparent 60%),
		radial-gradient(120% 60% at 80% 100%, rgba(145,189,184,.30) 0%, transparent 60%);
	pointer-events: none;
}
.pp-wave > * { position: relative; z-index: 1; }
.pp-wave a:not(.wp-element-button) { color: #fff; }
.pp-wave :where(h1, h2, h3), .pp-plum :where(h1, h2, h3) { color: #fff; }
.pp-wave .wp-block-button:not(.is-style-outline) .wp-element-button { background: #fff; color: var(--wp--preset--color--deep-ocean); }

.pp-plum {
	background: linear-gradient(135deg, var(--wp--preset--color--deep-plum) 0%, var(--wp--preset--color--deep-ocean) 100%);
	color: #fff;
}
.pp-plum a:not(.wp-element-button) { color: #fff; }

.pp-eyebrow {
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--sea-glass-text);
}
.pp-wave .pp-eyebrow, .pp-plum .pp-eyebrow { color: var(--wp--preset--color--lavender); }

/* Cards */
.pp-card {
	background: #fff;
	border: 1px solid rgba(22,63,70,.12);
	border-top: 4px solid var(--wp--preset--color--sea-glass);
	border-radius: 14px;
	padding: clamp(1.25rem, 3vw, 1.75rem);
	height: 100%;
}
.pp-card.is-plum { border-top-color: var(--wp--preset--color--deep-plum); }
.pp-card.is-lavender { border-top-color: var(--wp--preset--color--lavender); }
.pp-card h3 { margin-top: 0; }

.pp-lane-number {
	font-family: var(--wp--preset--font-family--montserrat);
	font-weight: 700;
	font-size: .85rem;
	color: var(--wp--preset--color--deep-plum);
	letter-spacing: .08em;
}

/* Price display */
.pp-price {
	font-family: var(--wp--preset--font-family--montserrat);
	font-weight: 700;
	font-size: clamp(2rem, 5vw, 2.75rem);
	line-height: 1;
	color: var(--wp--preset--color--deep-ocean);
	margin: .25rem 0;
}
.pp-tag {
	display: inline-block;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: .25rem .6rem;
	border-radius: 999px;
	background: var(--wp--preset--color--mist);
	color: var(--wp--preset--color--deep-plum);
}

/* Notice box for scope and referral language */
.pp-notice {
	border-left: 5px solid var(--wp--preset--color--deep-plum);
	background: #fff;
	padding: 1.25rem 1.5rem;
	border-radius: 0 12px 12px 0;
}

/* Checklists */
ul.pp-check { list-style: none; padding-left: 0; }
ul.pp-check li { position: relative; padding-left: 1.75rem; margin-bottom: .6rem; }
ul.pp-check li::before {
	content: "";
	position: absolute; left: 0; top: .45em;
	width: .9rem; height: .9rem; border-radius: 50%;
	background: var(--wp--preset--color--sea-glass);
	box-shadow: inset 0 0 0 3px #fff, 0 0 0 1px var(--wp--preset--color--sea-glass);
}
ul.pp-x { list-style: none; padding-left: 0; }
ul.pp-x li { position: relative; padding-left: 1.75rem; margin-bottom: .6rem; }
ul.pp-x li::before {
	content: "\00D7";
	position: absolute; left: .15rem; top: -.05em;
	font-weight: 700; color: var(--wp--preset--color--deep-plum);
}

/* Header brand lockup */
.pp-brand { display: flex; align-items: center; gap: .65rem; text-decoration: none; color: inherit; }
.pp-brand svg { flex: 0 0 auto; }
.pp-brand-text { line-height: 1.1; }
.pp-brand-name { font-family: var(--wp--preset--font-family--montserrat); font-weight: 700; font-size: 1.05rem; color: var(--wp--preset--color--deep-ocean); }
.pp-brand-sub { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--deep-plum); }

/* Intake form */
.pp-form { display: grid; gap: 1.25rem; }
.pp-form fieldset { border: 1px solid rgba(22,63,70,.18); border-radius: 12px; padding: 1rem 1.25rem 1.25rem; margin: 0; }
.pp-form legend { font-family: var(--wp--preset--font-family--montserrat); font-weight: 600; padding: 0 .4rem; color: var(--wp--preset--color--deep-ocean); }
.pp-form label { display: block; font-weight: 600; margin-bottom: .35rem; }
.pp-form .pp-choice { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; margin: .55rem 0; cursor: pointer; }
.pp-form .pp-choice input { margin-top: .3rem; width: 1.15rem; height: 1.15rem; accent-color: var(--wp--preset--color--sea-glass); }
.pp-form input[type=text], .pp-form input[type=email], .pp-form input[type=tel], .pp-form select, .pp-form textarea {
	width: 100%; box-sizing: border-box;
	font: inherit; font-size: 1.05rem;
	padding: .75rem .85rem;
	border: 1.5px solid rgba(24,52,60,.35);
	border-radius: 10px;
	background: #fff; color: var(--wp--preset--color--ink);
}
.pp-form .pp-help { font-size: .9rem; color: #3d5960; margin: .3rem 0 0; }
.pp-form .pp-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pp-form button {
	font-family: var(--wp--preset--font-family--montserrat); font-weight: 600; font-size: 1.05rem;
	background: var(--wp--preset--color--sea-glass); color: #fff;
	border: 0; border-radius: 999px; padding: .9rem 1.75rem; cursor: pointer; justify-self: start;
}
.pp-form button:hover { background: var(--wp--preset--color--deep-ocean); }
.pp-alert { padding: 1rem 1.25rem; border-radius: 12px; margin-bottom: 1.25rem; }
.pp-alert.is-ok { background: #e3f2ef; border: 1px solid var(--wp--preset--color--sea-glass); }
.pp-alert.is-err { background: #f4eef7; border: 1px solid var(--wp--preset--color--deep-plum); }

@media (prefers-reduced-motion: reduce) {
	* { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
