/*
Theme Name: Sound PH
Template: neve
Author: Scott O'Connor
Description: Neve child theme — develop here. Changes hot-refresh in the browser; the parent Neve theme stays untouched and updatable.
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: neve-child
*/

/* Your styles go below — they load after Neve's and override it. */

/* Cover blocks default inner text to white. Lists placed inside covers that
   have no explicit text color (our light-background sections) need the theme
   text color to be readable. Dark covers set their own color, so they're unaffected. */
.wp-block-cover:not(.has-text-color) .wp-block-list {
	color: var(--nv-text-color);
}

/* Home services grid: equal card heights regardless of title length.
   Titles reserve two lines (so wrapped and unwrapped titles align),
   and the "Learn more" link pins to the bottom of every card. */
.home-services-grid .wp-block-column {
	display: flex;
	flex-direction: column;
}

.home-services-grid h3 {
	min-height: 2.6em;
	display: flex;
	align-items: center;
	justify-content: center;
}

.home-services-grid .wp-block-column > p:last-child {
	margin-top: auto;
}

/* Service titles: look like headings, not blue links
   (color inherits from the h3; subtle hover keeps them feeling clickable) */
.home-services-grid h3 a {
	color: inherit;
	text-decoration: none;
}

.home-services-grid h3 a:hover {
	color: var(--nv-primary-accent);
}

/* "Learn more →" links: styled as the site's blue primary button */
.home-services-grid .wp-block-column > p:last-child > a {
	display: inline-block;
	background: var(--nv-primary-accent);
	color: var(--nv-text-dark-bg);
	padding: 10px 22px;
	border-radius: var(--primarybtnborderradius, 4px);
	text-decoration: none;
	font-weight: 600;
	transition: background 0.2s ease;
}

.home-services-grid .wp-block-column > p:last-child > a:hover {
	background: var(--nv-secondary-accent);
	color: var(--nv-text-dark-bg);
}

/* Header at narrow desktop widths (960-1199px): the full business name at 24px
   plus five menu items plus the Contact Us button don't fit — shrink the
   site title and tighten menu spacing so nothing crunches or wraps.
   (Below 960px Neve switches to the mobile hamburger header, which is fine.) */
@media (min-width: 960px) and (max-width: 1199px) {
	.builder-item--logo {
		--fs: 17px;
	}

	.builder-item--primary-menu {
		--spacing: 12px;
	}
}

/* Contact page info cards (Call Us / Email / Service Area): equal heights —
   the white rounded card stretches to fill its column regardless of text length. */
.contact-info-grid .wp-block-column {
	display: flex;
	flex-direction: column;
}

.contact-info-grid .wp-block-column > .wp-block-group {
	flex: 1;
}

/* WPForms on dark background: override the CSS custom properties that WPForms
   uses for label colors. Setting them on the section cascades into any
   var(--wpforms-label-color) reference regardless of selector specificity. */
.contact-form-section {
	--wpforms-label-color: #ffffff;
	--wpforms-label-sublabel-color: rgba(255, 255, 255, 0.7);
	--wpforms-label-error-color: #fca5a5;
}

/* Sub-footer: smaller, centered license + copyright lines.
   Neve's footer slots are flex columns where the copyright box shrinks to its
   content and sits at the flex start — force full width and centering at every
   level so the text is truly centered in the page. */
.footer-bottom .hfg-slot {
	align-items: center;
	justify-content: center;
}

.footer-bottom .builder-item.cr {
	width: 100%;
	font-size: 0.8em;
	text-align: center;
}

.footer-bottom .builder-item.cr .item--inner,
.footer-bottom .builder-item.cr .component-wrap,
.footer-bottom .builder-item.cr .component-wrap > div {
	width: 100%;
	text-align: center;
	justify-content: center;
}
