/* =========================================================================
   Prime Valeting — main stylesheet
   Dark, luxurious car-care look: black base with a soft smoke/mist backdrop
   (nothing sharp), brushed-silver type, "wet-look" cyan accent.
   Plan cards styled after console store pricing.
   ========================================================================= */

:root {
	--pv-bg: #000;
	--pv-bg-soft: #101318;
	--pv-panel: #14181f;
	--pv-panel-2: #1a1f28;
	--pv-border: #262c36;
	--pv-border-soft: #1e242e;
	--pv-text: #eef1f4;
	--pv-muted: #9aa3ad;
	--pv-silver: #d7dbe0;
	--pv-silver-grad: linear-gradient(135deg, #f7f8f9 0%, #cfd3d9 45%, #aab0b8 100%);
	--pv-accent: #19b5fe;
	--pv-accent-2: #0e86d4;
	--pv-accent-grad: linear-gradient(135deg, #2fc6ff 0%, #0e86d4 100%);
	--pv-danger: #ff5c5c;
	--pv-radius: 14px;
	--pv-radius-sm: 9px;
	--pv-shadow: 0 18px 50px rgba(0, 0, 0, 0.55);
	--pv-font: "Open Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
}

/* ---- Base ------------------------------------------------------------- */

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

html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--pv-bg);
	color: var(--pv-text);
	font-family: var(--pv-font);
	font-size: 16px;
	line-height: 1.6;
}

/*
 * Smoke backdrop — dark luxurious, nothing sharp.
 * A silky thread band and a dense fractal-fog sheet rise from the floor
 * well into the middle of the canvas; a silver mist dome anchors the base.
 */
body::before {
   content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
	z-index: -1;
    margin-left: auto;
    margin-right: auto;
    height: 100%;
    width: 100%;
    background-image: url(/wp-content/uploads/2026/07/image_alt-4.png);
	background-repeat: no-repeat;
    background-size: cover;
}

/* Upper atmosphere — big soft sweeps so the black above isn't flat:
   a broad silver drift, a warm wisp high-right, and cool haze top-left. */
body::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background-image:
		radial-gradient(85% 60% at 68% 38%, rgba(195, 203, 213, 0.055), transparent 65%),
		radial-gradient(48% 58% at 78% 6%, rgba(198, 150, 92, 0.06), transparent 70%),
		radial-gradient(70% 52% at 28% 18%, rgba(205, 212, 222, 0.045), transparent 70%);
}

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

a {
	color: var(--pv-accent);
	text-decoration: none;
	transition: color 0.15s ease;
}

a:hover {
	color: #6fd4ff;
}

h1, h2, h3, h4, h5, h6 {
	color: var(--pv-text);
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.25;
	margin: 0 0 0.6em;
}

.pv-container {
	width: min(1180px, 100% - 2.5rem);
	margin-inline: auto;
}

.pv-section {
	padding: 3.5rem 0 4.5rem;
}

.pv-main {
	min-height: 62vh;
}

.pv-panel {
	background: var(--pv-panel);
	border: 1px solid var(--pv-border-soft);
	border-radius: var(--pv-radius);
	padding: 1.75rem 2rem;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	word-wrap: normal !important;
}

.skip-link:focus {
	position: fixed !important;
	top: 8px;
	left: 8px;
	z-index: 999;
	width: auto;
	height: auto;
	clip: auto;
	background: var(--pv-accent);
	color: #04121c;
	padding: 0.5rem 1rem;
	border-radius: 6px;
}

/* ---- Buttons ---------------------------------------------------------- */

.pv-btn,
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	background: var(--pv-silver-grad);
	color: #10141a;
	border: 0;
	border-radius: var(--pv-radius-sm);
	padding: 0.8rem 1.7rem;
	font-family: var(--pv-font);
	font-size: 0.92rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	cursor: pointer;
	transition: filter 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.pv-btn:hover,
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover {
	filter: brightness(1.08);
	transform: translateY(-1px);
	color: #eef1f4;
	background-color: #6fd4ff;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.45);
}

.pv-btn-accent,
.woocommerce .button.alt,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce #place_order {
	background: var(--pv-accent-grad);
	color: #04121c;
	box-shadow: 0 6px 20px rgba(20, 150, 220, 0.35);
}

.pv-btn-outline {
	background: transparent;
	color: var(--pv-silver);
	border: 1px solid var(--pv-border);
}

.pv-btn-ghost {
	background: transparent;
	color: var(--pv-muted);
}

.pv-btn-ghost:hover {
	color: var(--pv-text);
	box-shadow: none;
}

.pv-btn-sm {
	padding: 0.5rem 1.05rem;
	font-size: 0.78rem;
}

.pv-btn-block {
	width: 100%;
}

/* ---- Header ----------------------------------------------------------- */

.pv-header {
	position: relative;
	top: 0;
	z-index: 90;
	/* Translucent scrim so the smoke canvas runs uninterrupted behind it. */
	/* background: linear-gradient(to bottom, rgba(2, 3, 5, 0.88), rgba(2, 3, 5, 0.5));
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px); */
	background: transparent;
}

/* Bottom hairline that fades at both ends — nothing sharp. */
.pv-header::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: linear-gradient(to right, transparent, var(--pv-border-soft) 18%, var(--pv-border-soft) 82%, transparent);
}

.pv-header .custom-logo-link{
  width:20%;
}

.pv-header-inner {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	min-height: 72px;
}

.pv-brand {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	color: var(--pv-silver);
}

.pv-brand:hover {
	color: #ffffff;
}

.pv-brand img,
.pv-brand .custom-logo {
	max-height: 52px;
	width: auto;
	/* Logo PNG ships on a black box; screen-blend drops it into the dark backdrop. */
	mix-blend-mode: screen;
}

.pv-logo-mark {
	width: 74px;
	height: auto;
	color: inherit;
	flex-shrink: 0;
}

.pv-brand-text {
	display: flex;
	flex-direction: column;
	line-height: 1.05;
}

.pv-brand-name {
	font-size: 1.28rem;
	font-weight: 800;
	letter-spacing: 0.42em;
	background: var(--pv-silver-grad);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

.pv-brand-sub {
	display: inline-flex;
	align-items: center;
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.55em;
	text-transform: uppercase;
	color: var(--pv-muted);
}

/* "— VALETING —" side dashes, matching the client logo */
.pv-brand-sub::before,
.pv-brand-sub::after {
	content: "";
	flex: none;
	width: 1.2em;
	height: 1px;
	background: currentColor;
	opacity: 0.75;
}

.pv-brand-sub::before {
	margin-right: 0.6em;
}

.pv-brand-sub::after {
	margin-left: 0.08em; /* trailing letter-spacing already adds a gap */
}

.pv-nav {
	margin-left: auto;
}

.pv-nav-list {
	display: flex;
	align-items: center;
	gap: 1.6rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pv-nav-list a {
	color: var(--pv-muted);
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.01em;
}

.pv-nav-list a:hover,
.pv-nav-list .current-menu-item > a {
	color: var(--pv-text);
}

.pv-header-actions {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.pv-icon-link {
	position: relative;
	display: inline-flex;
	color: var(--pv-silver);
	padding: 0.35rem;
}

.pv-icon-link svg {
	width: 24px;
	height: 24px;
}

.pv-cart-count {
	position: absolute;
	top: -4px;
	right: -6px;
	min-width: 18px;
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--pv-accent);
	color: #04121c;
	font-size: 0.68rem;
	font-weight: 700;
	border-radius: 999px;
	padding: 0 4px;
}

.pv-nav-toggle {
	display: none;
	flex-direction: column;
	gap: 5px;
	background: none;
	border: 0;
	padding: 0.5rem;
	cursor: pointer;
	margin-left: auto;
}

.pv-nav-toggle-bar {
	width: 24px;
	height: 2px;
	background: var(--pv-silver);
	border-radius: 2px;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.pv-nav-toggle[aria-expanded="true"] .pv-nav-toggle-bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.pv-nav-toggle[aria-expanded="true"] .pv-nav-toggle-bar:nth-child(2) {
	opacity: 0;
}

.pv-nav-toggle[aria-expanded="true"] .pv-nav-toggle-bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

/* ---- Footer ----------------------------------------------------------- */

.pv-footer {
	position: relative;
	/* Transparent — the footer sits inside the ground mist. */
	background: transparent;
	padding: 2.25rem 0;
	margin-top: 3rem;
}

/* Top hairline that fades at both ends — nothing sharp. */
.pv-footer::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(to right, transparent, var(--pv-border-soft) 18%, var(--pv-border-soft) 82%, transparent);
}

.pv-footer-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	flex-wrap: wrap;
}

.pv-footer-brand {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	color: var(--pv-muted);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.pv-footer-brand .pv-logo-mark {
	width: 56px;
}

.pv-footer-note {
	color: #6b7480;
	font-size: 0.8rem;
	margin: 0;
}

/* ---- Auth (Sign In / Register) ---------------------------------------- */

.pv-auth {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	min-height: calc(100vh - 72px);
}

.pv-auth-brand {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	/* Transparent so the body smoke shows through; soft wisps behind the logo. */
	background-image:
		radial-gradient(46% 58% at 50% 42%, rgba(216, 222, 230, 0.07), transparent 72%),
		radial-gradient(26% 40% at 56% 24%, rgba(198, 150, 92, 0.05), transparent 72%);
	padding: 3rem 2rem;
}

/* Column divider that fades at both ends — nothing sharp. */
.pv-auth-brand::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 1px;
	background: linear-gradient(to bottom, transparent, var(--pv-border) 35%, var(--pv-border) 65%, transparent);
}

.pv-auth-brand-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	color: var(--pv-silver);
}

.pv-auth-brand-inner .pv-logo-mark {
	width: 240px;
	margin-bottom: 1.25rem;
}

.pv-auth-brand-inner img,
.pv-auth-brand-inner .custom-logo {
	/* max-width: 320px; */
	margin-bottom: 1.5rem;
	/* Logo PNG ships on a black box; screen-blend drops it into the dark backdrop. */
	mix-blend-mode: screen;
}

.pv-auth-brand-name {
	font-size: 3rem;
	font-weight: 800;
	letter-spacing: 0.5em;
	margin-right: -0.5em; /* optically recentre tracked text */
	background: var(--pv-silver-grad);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

.pv-auth-brand-sub {
	display: inline-flex;
	align-items: center;
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.85em;
	text-transform: uppercase;
	color: var(--pv-muted);
	margin-top: 0.5rem;
}

/* "— VALETING —" side dashes, matching the client logo */
.pv-auth-brand-sub::before,
.pv-auth-brand-sub::after {
	content: "";
	flex: none;
	width: 1.7em;
	height: 2px;
	background: currentColor;
	opacity: 0.8;
}

.pv-auth-brand-sub::before {
	margin-right: 0.9em;
}

.pv-auth-brand-sub::after {
	margin-left: 0.08em; /* trailing letter-spacing already adds a gap */
}

.pv-auth-tagline {
	color: #FFFFFF;
	font-size: 1rem;
	letter-spacing: 0.02em;
	/* margin-top: 2.25rem; */
}

.pv-auth-form-col {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 3.5rem 1.5rem;
}

.pv-auth-card {
	width: min(460px, 100%);
	background: var(--pv-panel);
	border: 1px solid var(--pv-border-soft);
	border-radius: var(--pv-radius);
	box-shadow: var(--pv-shadow);
	padding: 2.25rem 2.25rem 2.5rem;
}

.pv-auth-title {
	font-size: 1.35rem;
	margin-bottom: 1.25rem;
}

.pv-auth-hint {
	color: var(--pv-muted);
	font-size: 0.85rem;
}

.pv-tab-nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: var(--pv-bg-soft);
	border: 1px solid var(--pv-border-soft);
	border-radius: var(--pv-radius-sm);
	padding: 4px;
	margin-bottom: 1.75rem;
}

.pv-tab {
	appearance: none;
	background: transparent;
	border: 0;
	border-radius: 7px;
	color: var(--pv-muted);
	font-family: var(--pv-font);
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	padding: 0.65rem 0.5rem;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.pv-tab.is-active {
	background: var(--pv-accent-grad);
	color: #04121c;
}

.pv-tab-panel[hidden] {
	display: none;
}

/* ---- Forms (auth + WooCommerce global) -------------------------------- */

.woocommerce form .form-row {
	margin-bottom: 1.1rem;
	padding: 0;
}

.pv-auth-card label,
.woocommerce form .form-row label {
	display: block;
	color: var(--pv-muted);
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	margin-bottom: 0.45rem;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="url"],
input[type="date"],
select,
textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	width: 100%;
	background: var(--pv-bg-soft);
	border: 1px solid var(--pv-border);
	border-radius: var(--pv-radius-sm);
	color: var(--pv-text);
	font-family: var(--pv-font);
	font-size: 0.95rem;
	padding: 0.78rem 1rem;
	outline: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

input:focus,
select:focus,
textarea:focus,
.woocommerce form .form-row input.input-text:focus {
	border-color: var(--pv-accent);
	box-shadow: 0 0 0 3px rgba(25, 181, 254, 0.18);
}

input[type="checkbox"],
input[type="radio"] {
	width: auto;
	accent-color: var(--pv-accent);
}

.pv-form-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}

.pv-form-meta label {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	text-transform: none;
	letter-spacing: 0.02em;
	font-size: 0.85rem;
}

.pv-lost-password {
	font-size: 0.82rem;
}

.required {
	color: var(--pv-accent);
	text-decoration: none;
}

/* ---- Plans page (PS-style cards) -------------------------------------- */

.pv-plans-head {
	text-align: center;
	margin-bottom: 2.75rem;
}

.pv-plans-title {
	font-size: clamp(1.9rem, 4vw, 2.7rem);
	font-weight: 800;
	letter-spacing: 0.04em;
}

.pv-plans-sub {
	color: var(--pv-muted);
	font-size: 1rem;
	max-width: 560px;
	margin: 0 auto;
}

.pv-plans-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 420px));
	justify-content: center;
	gap: 2rem;
	align-items: stretch;
}

.pv-plans-count-1 {
	grid-template-columns: minmax(0, 420px);
}

.pv-plan {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--pv-panel);
	border: 2px solid var(--pv-border-soft);
	border-radius: var(--pv-radius);
	overflow: hidden;
	box-shadow: var(--pv-shadow);
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
	cursor: pointer;
	outline: none;
}

.pv-plan:hover,
.pv-plan:focus-visible {
	transform: translateY(-5px);
}

.pv-plan.is-selected {
	border-color: #f0f2f4;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.35), 0 24px 60px rgba(0, 0, 0, 0.6);
}

.pv-plan--essential.is-selected {
	border-color: var(--pv-accent);
	box-shadow: 0 0 0 1px rgba(25, 181, 254, 0.45), 0 24px 60px rgba(0, 0, 0, 0.6);
}

.pv-plan-band {
	padding: 1rem 1.5rem;
	text-align: center;
}

.pv-plan--premium .pv-plan-band {
	background: var(--pv-silver-grad);
}

.pv-plan--essential .pv-plan-band {
	background: var(--pv-accent-grad);
}

.pv-plan-name {
	color: #0d1116;
	font-size: 1.1rem;
	font-weight: 800;
	letter-spacing: 0.02em;
}

.pv-plan-body {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 1.75rem 1.75rem 2rem;
	flex: 1;
}

.pv-plan-chip {
	display: inline-block;
	border: 1px solid var(--pv-border);
	border-radius: 6px;
	color: var(--pv-silver);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	padding: 0.35rem 1rem;
	margin-bottom: 1.4rem;
}

.pv-plan--premium .pv-plan-chip {
	border-color: rgba(215, 219, 224, 0.5);
}

.pv-plan--essential .pv-plan-chip {
	border-color: rgba(25, 181, 254, 0.55);
	color: #7fd6ff;
}

.pv-plan-cta-label {
	color: var(--pv-muted);
	font-size: 0.85rem;
	letter-spacing: 0.01em;
	margin: 0 0 0.35rem;
}

.pv-plan-price {
	font-size: 2.1rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	color: var(--pv-text);
	margin-bottom: 1.2rem;
}

.pv-plan-price .woocommerce-Price-amount {
	color: var(--pv-text);
}

.pv-plan-price .subscription-details,
.pv-plan-price small,
.pv-plan-price .from {
	display: block;
	color: var(--pv-muted);
	font-size: 0.85rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	margin-top: 0.2rem;
}

.pv-plan-price del {
	color: #5f6873;
	font-size: 1.1rem;
	margin-right: 0.4rem;
}

.pv-plan-price ins {
	text-decoration: none;
}

.pv-plan-features {
	color: var(--pv-muted);
	font-size: 0.9rem;
	text-align: left;
	width: 100%;
	margin-bottom: 1.5rem;
}

.pv-plan-features ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pv-plan-features li {
	position: relative;
	padding: 0.4rem 0 0.4rem 1.7rem;
	border-bottom: 1px solid var(--pv-border-soft);
}

.pv-plan-features li:last-child {
	border-bottom: 0;
}

.pv-plan-features li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.72rem;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background:
		url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="none" stroke="%2304121c" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" d="M3.5 8.5l3 3 6-6.5"/></svg>') center / 10px no-repeat,
		var(--pv-accent);
}

.pv-plan--premium .pv-plan-features li::before {
	background:
		url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="none" stroke="%230d1116" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" d="M3.5 8.5l3 3 6-6.5"/></svg>') center / 10px no-repeat,
		var(--pv-silver);
}

.pv-plan-btn {
	width: 100%;
	margin-top: auto;
}

.pv-plan--premium .pv-plan-btn {
	background: var(--pv-silver-grad);
}

.pv-plan--essential .pv-plan-btn {
	background: var(--pv-accent-grad);
	color: #04121c;
}

.pv-plan-more {
	display: inline-block;
	color: var(--pv-muted);
	font-size: 0.8rem;
	letter-spacing: 0.06em;
	margin-top: 0.9rem;
}

.pv-plan-more:hover {
	color: var(--pv-text);
}

.pv-plans-note {
	max-width: 720px;
	margin: 2.5rem auto 0;
	text-align: center;
	color: #9ea4ac;
	font-size: 1rem;
	line-height: 1.7;
}

.pv-plans-empty {
	max-width: 560px;
	margin: 0 auto;
	text-align: center;
}

.pv-admin-hint {
	color: var(--pv-muted);
	font-size: 0.85rem;
}

/* ---- WooCommerce dark-theme overrides --------------------------------- */

.pv-woo {
	color: var(--pv-text);
}

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: var(--pv-panel-2);
	border-top-color: var(--pv-accent);
	color: var(--pv-text);
	border-radius: var(--pv-radius-sm);
}

.woocommerce-error {
	border-top-color: var(--pv-danger);
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--pv-accent);
}

.woocommerce-error::before {
	color: var(--pv-danger);
}

.woocommerce ul.products li.product {
	background: var(--pv-panel);
	border: 1px solid var(--pv-border-soft);
	border-radius: var(--pv-radius);
	padding: 1rem 1rem 1.4rem;
	text-align: center;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--pv-text);
	font-size: 1rem;
	font-weight: 700;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--pv-accent);
	font-weight: 700;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: var(--pv-panel);
	border-color: var(--pv-border-soft);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: var(--pv-muted);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: var(--pv-panel-2);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--pv-text);
}

.woocommerce div.product .woocommerce-tabs .panel {
	background: transparent;
}

.woocommerce table.shop_table {
	background: var(--pv-panel);
	border: 1px solid var(--pv-border-soft);
	border-radius: var(--pv-radius);
	color: var(--pv-text);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border-color: var(--pv-border-soft);
	color: var(--pv-text);
}

.woocommerce table.shop_table thead th {
	color: var(--pv-muted);
	font-size: 0.85rem;
	letter-spacing: 0.01em;
}

.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
	background: var(--pv-panel);
	border-radius: var(--pv-radius);
	color: var(--pv-text);
}

.woocommerce-checkout #payment div.payment_box {
	background: var(--pv-panel-2);
	color: var(--pv-muted);
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--pv-panel-2);
}

.woocommerce-checkout #payment ul.payment_methods {
	border-bottom-color: var(--pv-border-soft);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	background: var(--pv-panel);
	border: 1px solid var(--pv-border-soft);
	border-radius: var(--pv-radius);
	overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--pv-border-soft);
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
	border-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 0.8rem 1.2rem;
	color: var(--pv-muted);
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.01em;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background: var(--pv-panel-2);
	color: var(--pv-text);
}

/* WooCommerce Bookings — dark styling for the booking form */

#wc-bookings-booking-form {
	background: var(--pv-panel);
	border: 1px solid var(--pv-border-soft);
	border-radius: var(--pv-radius);
	padding: 1.25rem;
}

#wc-bookings-booking-form .wc-bookings-date-picker .picker,
.wc-bookings-date-picker .ui-datepicker {
	background: var(--pv-panel-2);
	border: 1px solid var(--pv-border-soft);
	border-radius: var(--pv-radius-sm);
	color: var(--pv-text);
}

.wc-bookings-date-picker .ui-datepicker th {
	color: var(--pv-muted);
}

.wc-bookings-date-picker .ui-datepicker td a,
.wc-bookings-date-picker .ui-datepicker td span {
	color: var(--pv-text);
}

.wc-bookings-date-picker .ui-datepicker td.bookable a {
	background: rgba(25, 181, 254, 0.16);
	color: #7fd6ff;
}

.wc-bookings-date-picker .ui-datepicker td a.ui-state-active {
	background: var(--pv-accent);
	color: #04121c;
}

.wc-bookings-booking-cost {
	background: var(--pv-panel-2) !important;
	border: 1px solid var(--pv-border-soft);
	border-radius: var(--pv-radius-sm);
	color: var(--pv-text) !important;
}

/* ---- Blog bits -------------------------------------------------------- */

.pv-entry {
	margin-bottom: 1.5rem;
}

.pv-entry-title a {
	color: var(--pv-text);
}

.pv-entry-content {
	color: var(--pv-muted);
}

.pv-page-title {
	font-size: 1.7rem;
}

/* ---- Responsive ------------------------------------------------------- */

@media (max-width: 980px) {
	.pv-auth {
		grid-template-columns: 1fr;
	}

	.pv-auth-brand {
		border-bottom: 1px solid var(--pv-border-soft);
		padding: 2.5rem 1.5rem;
	}

	.pv-auth-brand::after {
		display: none;
	}

	.pv-auth-brand-inner .pv-logo-mark {
		width: 170px;
	}

	.pv-auth-brand-name {
		font-size: 2.1rem;
	}

	.pv-plans-grid {
		grid-template-columns: minmax(0, 460px);
	}
}

@media (max-width: 820px) {
	.pv-nav-toggle {
		display: flex;
	}

	.pv-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		margin-left: 0;
		background: #0b0d10;
		border-bottom: 1px solid var(--pv-border-soft);
		display: none;
		padding: 1rem 1.25rem 1.5rem;
	}

	.pv-nav.is-open {
		display: block;
	}

	.pv-nav-list {
		flex-direction: column;
		align-items: flex-start;
		gap: 1rem;
	}

	.pv-header-actions .pv-btn-ghost {
		display: none;
	}
}

@media (max-width: 560px) {
	.pv-auth-card {
		padding: 1.6rem 1.35rem 1.9rem;
	}

	.pv-plan-body {
		padding: 1.4rem 1.2rem 1.6rem;
	}

	.pv-section {
		padding: 2.25rem 0 3rem;
	}

	body::before {
		content:none;
	}
}
