/* VPC V7 – Block Editor Front-end Overrides */

/* Ensure theme palette colours work in blocks */
.has-vpc-blue-color      { color: var(--vpc-blue) !important; }
.has-vpc-blue-background-color { background-color: var(--vpc-blue) !important; }
.has-vpc-aqua-color      { color: var(--vpc-aqua) !important; }
.has-vpc-aqua-background-color { background-color: var(--vpc-aqua) !important; }
.has-vpc-gold-color      { color: var(--vpc-gold) !important; }
.has-vpc-gold-background-color { background-color: var(--vpc-gold) !important; }
.has-vpc-grey-900-color  { color: var(--vpc-grey-900) !important; }
.has-vpc-grey-900-background-color { background-color: var(--vpc-grey-900) !important; }
.has-vpc-white-color     { color: var(--vpc-white) !important; }
.has-vpc-white-background-color { background-color: var(--vpc-white) !important; }
.has-vpc-off-white-background-color { background-color: var(--vpc-off-white) !important; }
.has-vpc-grey-50-background-color   { background-color: var(--vpc-grey-50) !important; }

/* Font sizes */
.has-xs-font-size      { font-size: var(--vpc-t-xs) !important; }
.has-sm-font-size      { font-size: var(--vpc-t-sm) !important; }
.has-base-font-size    { font-size: var(--vpc-t-base) !important; }
.has-lg-font-size      { font-size: var(--vpc-t-lg) !important; }
.has-xl-font-size      { font-size: var(--vpc-t-xl) !important; }
.has-2xl-font-size     { font-size: var(--vpc-t-2xl) !important; }
.has-3xl-font-size     { font-size: var(--vpc-t-3xl) !important; }
.has-4xl-font-size     { font-size: var(--vpc-t-4xl) !important; }
.has-huge-font-size    { font-size: var(--vpc-t-5xl) !important; }

/* Font families */
.has-vpc-heading-font-family { font-family: var(--vpc-font-head) !important; }
.has-vpc-body-font-family    { font-family: var(--vpc-font-body) !important; }

/* Core button overrides */
.wp-block-button .wp-block-button__link {
	border-radius: var(--vpc-r-pill) !important;
	font-weight: 700 !important;
	transition: transform 220ms ease, box-shadow 220ms ease !important;
}

.wp-block-button .wp-block-button__link:hover {
	transform: translateY(-2px) !important;
}

/* Core image */
.wp-block-image img {
	border-radius: var(--vpc-r-lg);
}

/* Core separator */
.wp-block-separator {
	border-color: var(--vpc-border) !important;
}

/* Core quote */
.wp-block-quote {
	border-left-color: var(--vpc-blue) !important;
}

/* Core cover alignment */
.wp-block-cover {
	border-radius: var(--vpc-r-xl);
}

/* Core columns gap */
.wp-block-columns {
	gap: 2rem !important;
}

/* Core table */
.wp-block-table td,
.wp-block-table th {
	padding: 0.75rem 1rem;
	border-color: var(--vpc-border);
}

.wp-block-table thead th {
	background: var(--vpc-blue);
	color: #fff;
	font-weight: 700;
}

/* Gradient backgrounds */
.has-vpc-blue-brand-gradient-background {
	background: linear-gradient(135deg, var(--vpc-blue-d), var(--vpc-blue) 55%, var(--vpc-aqua)) !important;
}

.has-vpc-blue-solid-gradient-background {
	background: linear-gradient(145deg, var(--vpc-blue), var(--vpc-blue-h)) !important;
}

.has-vpc-aqua-grad-gradient-background {
	background: linear-gradient(145deg, var(--vpc-aqua), var(--vpc-aqua-h)) !important;
}

.has-vpc-gold-grad-gradient-background {
	background: linear-gradient(135deg, var(--vpc-gold), var(--vpc-gold-h)) !important;
}

/* Spacing utilities */
.is-style-vpc-card {
	background: var(--vpc-white);
	border: 1px solid var(--vpc-border);
	border-radius: var(--vpc-r-xl);
	padding: 2rem;
	box-shadow: var(--vpc-shadow-sm);
	transition: box-shadow 220ms ease, transform 220ms ease;
}

.is-style-vpc-card:hover {
	box-shadow: var(--vpc-shadow-lg);
	transform: translateY(-3px);
}
