/*
Theme Name: Beaver Builder Theme
Theme URI: http://www.wpbeaverbuilder.com/
Version: 1.7.19
Description: PoolPal USA dark-theme concept built as a reversible WPVibe draft.
Author: The Beaver Builder Team
License: GNU General Public License v2.0
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fl-automator
*/

/* PoolPal USA dark theme — reversible draft layer */
:root {
	--pp-bg: #071522;
	--pp-bg-deep: #050f19;
	--pp-surface: #0e2232;
	--pp-surface-2: #142b3d;
	--pp-surface-3: #19364a;
	--pp-border: #2b4b5f;
	--pp-border-soft: rgba(105, 193, 220, 0.18);
	--pp-text: #f2f8fa;
	--pp-muted: #bdced8;
	--pp-subtle: #8fa9b7;
	--pp-cyan: #20bce5;
	--pp-cyan-light: #76ddf4;
	--pp-red: #ff5047;
	--pp-gold: #f3c955;
	--pp-success: #5ed6a2;
	--pp-shadow-sm: 0 8px 24px rgba(0, 7, 13, 0.22);
	--pp-shadow-lg: 0 18px 48px rgba(0, 7, 13, 0.38);
	--pp-radius: 16px;
	--pp-radius-sm: 10px;
}

html {
	background: var(--pp-bg-deep);
	color-scheme: dark;
	scroll-behavior: smooth;
}

body,
.fl-page,
.fl-page-content,
.fl-content,
.fl-post,
.fl-post-content,
.site,
.site-content {
	background-color: var(--pp-bg) !important;
	color: var(--pp-text);
}

body {
	background-image:
		radial-gradient(circle at 50% 28rem, rgba(22, 156, 196, 0.15), transparent 34rem),
		linear-gradient(180deg, #0b2031 0, var(--pp-bg) 38rem);
	background-attachment: fixed;
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body, button, input, select, textarea { color: var(--pp-text); }

h1, h2, h3, h4, h5, h6,
.fl-heading,
.heading-title,
.title-text,
.fl-post-title,
.woocommerce-loop-product__title,
.woocommerce-products-header__title,
.tribe-events-page-title {
	color: var(--pp-text) !important;
	letter-spacing: -0.025em;
}

p, li, dd, dt, label, legend,
.fl-rich-text,
.fl-module-content,
.woocommerce-product-details__short-description {
	color: var(--pp-muted);
}

small, .small, .meta, .fl-post-meta, .entry-meta,
.woocommerce-result-count, .woocommerce-product-details__short-description {
	color: var(--pp-subtle) !important;
}

a {
	color: var(--pp-cyan-light);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
	transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

a:hover, a:focus { color: #ffffff; }

/* Header */
header.fl-builder-content,
#header-row > .fl-row-content-wrap,
.fl-page-header,
.fl-page-nav-wrap {
	background: rgba(7, 21, 34, 0.96) !important;
	border-bottom: 1px solid var(--pp-border-soft);
	box-shadow: 0 10px 30px rgba(0, 6, 12, 0.24);
}

header.fl-builder-content {
	position: relative;
	z-index: 100;
}

header .fl-photo-img,
header .custom-logo {
	filter: none !important;
}

header .menu > li > a,
header .menu-item-text,
.fl-page-nav .navbar-nav > li > a {
	color: var(--pp-text) !important;
	font-weight: 650;
}

header .menu > li > a:hover,
header .menu > li > a:focus,
header .current-menu-item > a,
header .current_page_item > a,
.fl-page-nav .navbar-nav > li.current-menu-item > a {
	color: var(--pp-cyan-light) !important;
}

header .sub-menu,
.pp-off-canvas-menu,
.uabb-off-canvas-menu,
.fl-page-nav .navbar-nav ul.sub-menu {
	background: var(--pp-surface) !important;
	border: 1px solid var(--pp-border) !important;
	border-radius: 12px;
	box-shadow: var(--pp-shadow-lg);
	overflow: hidden;
}

header .sub-menu a,
.pp-off-canvas-menu a,
.uabb-off-canvas-menu a {
	color: var(--pp-text) !important;
}

header .sub-menu a:hover,
.pp-off-canvas-menu a:hover,
.uabb-off-canvas-menu a:hover {
	background: var(--pp-surface-2) !important;
	color: var(--pp-cyan-light) !important;
}

/* Search and cart area */
.dgwt-wcas-search-input,
.dgwt-wcas-search-form input[type="search"],
header input[type="search"] {
	background: var(--pp-surface) !important;
	border: 1px solid var(--pp-border) !important;
	color: var(--pp-text) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.dgwt-wcas-search-input::placeholder,
.dgwt-wcas-search-form input[type="search"]::placeholder,
header input[type="search"]::placeholder {
	color: #a9bfca !important;
	opacity: 1 !important;
}

/* Main Beaver Builder surfaces */
.fl-page-content .fl-row-bg-none > .fl-row-content-wrap {
	background-color: transparent !important;
}

.fl-page-content .fl-row-bg-color > .fl-row-content-wrap {
	background-color: var(--pp-bg) !important;
}

.fl-page-content .fl-col-bg-color > .fl-col-content {
	background-color: transparent !important;
}

.fl-page-content .fl-row-bg-photo > .fl-row-content-wrap,
.fl-page-content .fl-row-bg-video > .fl-row-content-wrap,
.fl-page-content .fl-row-bg-gradient > .fl-row-content-wrap {
	background-color: transparent;
}

.fl-page-content .fl-row-content {
	position: relative;
}

.fl-separator,
hr {
	border-color: var(--pp-border) !important;
}

/* Homepage category navigation */
#hf-menu,
#hf-menu .uabb-creative-menu,
#hf-menu .menu {
	background: transparent !important;
}

#hf-menu .menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

#hf-menu .menu > li { margin: 0 !important; }

#hf-menu .menu > li > a {
	background: rgba(13, 35, 52, 0.86) !important;
	border: 1px solid var(--pp-cyan) !important;
	border-radius: 999px !important;
	color: var(--pp-text) !important;
	padding: 9px 16px !important;
	box-shadow: 0 6px 18px rgba(0, 7, 13, .16);
}

#hf-menu .menu > li > a .menu-item-text {
	color: var(--pp-text) !important;
}

#hf-menu .menu > li > a:hover,
#hf-menu .menu > li > a:focus {
	background: var(--pp-surface-3) !important;
	border-color: var(--pp-cyan-light) !important;
	color: #fff !important;
	transform: translateY(-2px);
}

/* Main hero */
.home .fl-node-cd17vqgm3kxn > .fl-row-content-wrap {
	background:
		radial-gradient(circle at 50% 55%, rgba(22, 170, 214, .20), transparent 31rem),
		linear-gradient(180deg, var(--pp-bg) 0%, #081928 100%) !important;
	padding-top: clamp(54px, 7vw, 100px);
	padding-bottom: clamp(54px, 7vw, 100px);
}

.home .fl-node-cd17vqgm3kxn .heading-title {
	text-shadow: 0 3px 16px rgba(0, 0, 0, .40);
}

.home .fl-node-cd17vqgm3kxn .fl-rich-text {
	max-width: 760px;
	margin-inline: auto;
}

/* Free shipping announcement */
.home .fl-node-lxye8a547hsk > .fl-row-content-wrap {
	background: transparent !important;
}

.home .fl-node-lxye8a547hsk .fl-row-content {
	max-width: 800px;
}

.home .fl-node-lxye8a547hsk .fl-col-content {
	background: rgba(14, 34, 50, .90) !important;
	border: 1px solid var(--pp-border) !important;
	border-left: 4px solid var(--pp-red) !important;
	border-radius: 14px;
	box-shadow: var(--pp-shadow-sm);
	padding: 18px 24px;
}

.home .fl-node-lxye8a547hsk p {
	color: var(--pp-red) !important;
	font-weight: 800;
	letter-spacing: .025em;
	margin: 0;
}

/* Reusable cards */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.fl-post-grid-post,
.fl-post-feed-post,
.uabb-blog-post-content,
.pp-content-post,
.fl-module-info-box .uabb-infobox,
.fl-module-content-box,
.fl-module-callout,
.fl-module-testimonials .bx-wrapper,
.tribe-common .tribe-common-g-row,
.widget,
.sidebar .widget,
.fl-sidebar .widget {
	background: linear-gradient(145deg, var(--pp-surface-2), var(--pp-surface)) !important;
	border: 1px solid var(--pp-border-soft) !important;
	border-radius: var(--pp-radius) !important;
	box-shadow: var(--pp-shadow-sm);
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.fl-post-grid-post,
.fl-post-feed-post,
.uabb-blog-post-content,
.pp-content-post {
	overflow: hidden;
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover,
.fl-post-grid-post:hover,
.fl-post-feed-post:hover,
.uabb-blog-post-content:hover,
.pp-content-post:hover {
	transform: translateY(-4px);
	border-color: rgba(118, 221, 244, .48) !important;
	box-shadow: var(--pp-shadow-lg);
}

/* Product and content images stay neutral for accurate product viewing */
.woocommerce ul.products li.product img,
.woocommerce-product-gallery__image,
.woocommerce div.product div.images img {
	background: #edf4f6;
	border-radius: 12px;
}

.fl-photo-content,
.fl-post-grid-image,
.fl-post-feed-image,
.tribe-events-event-image {
	border-radius: 12px;
	overflow: hidden;
}

/* Buttons */
.fl-button,
button,
a.button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.tribe-common .tribe-common-c-btn,
.gform_button {
	background: linear-gradient(135deg, var(--pp-cyan), #0a88b1) !important;
	border: 1px solid rgba(255,255,255,.22) !important;
	border-radius: 999px !important;
	color: #ffffff !important;
	font-weight: 800 !important;
	letter-spacing: .01em;
	box-shadow: 0 8px 22px rgba(23, 180, 220, .24);
	padding: .78em 1.35em !important;
	text-shadow: 0 1px 2px rgba(0,0,0,.28) !important;
}

.fl-button *,
button *,
a.button *,
.woocommerce a.button * {
	color: #ffffff !important;
}

.fl-button:hover,
.fl-button:focus,
button:hover,
button:focus,
a.button:hover,
a.button:focus,
input[type="button"]:hover,
input[type="submit"]:hover,
.wp-element-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.gform_button:hover {
	background: linear-gradient(135deg, var(--pp-cyan-light), var(--pp-cyan)) !important;
	border-color: var(--pp-cyan-light) !important;
	color: #ffffff !important;
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(23, 180, 220, .34);
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background: linear-gradient(135deg, var(--pp-cyan), #0a88b1) !important;
}

/* Forms */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="date"],
input[type="time"],
textarea,
select,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
	background: #091b29 !important;
	border: 1px solid var(--pp-border) !important;
	border-radius: var(--pp-radius-sm) !important;
	color: var(--pp-text) !important;
	box-shadow: inset 0 1px 2px rgba(0,0,0,.15);
}

input::placeholder,
textarea::placeholder { color: var(--pp-subtle) !important; }

select option,
.select2-dropdown,
.select2-results,
.select2-results__option {
	background: var(--pp-surface) !important;
	color: var(--pp-text) !important;
}

.select2-container--default .select2-selection__placeholder,
.select2-container--default .select2-selection__rendered {
	color: var(--pp-muted) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background: var(--pp-surface-3) !important;
	color: #fff !important;
}

.gform_wrapper,
.gform-theme,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.checkout_coupon,
.woocommerce form.lost_reset_password,
.woocommerce-account .woocommerce-MyAccount-content {
	color: var(--pp-text);
}

/* WooCommerce */
.woocommerce div.product,
.woocommerce-cart-form,
.cart_totals,
.woocommerce-checkout-review-order,
.woocommerce form.checkout,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	background: linear-gradient(145deg, var(--pp-surface-2), var(--pp-surface)) !important;
	border: 1px solid var(--pp-border-soft) !important;
	border-radius: var(--pp-radius) !important;
	box-shadow: var(--pp-shadow-sm);
	padding: clamp(18px, 3vw, 32px);
}

.woocommerce div.product .product_title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
	color: var(--pp-text) !important;
}

.price,
.price *,
.amount,
.amount *,
.woocommerce-Price-amount,
.woocommerce-Price-currencySymbol,
.woocommerce .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price {
	color: var(--pp-gold) !important;
	font-weight: 800;
}

.woocommerce span.onsale {
	background: var(--pp-red) !important;
	color: #fff !important;
	box-shadow: var(--pp-shadow-sm);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: var(--pp-surface-2) !important;
	border: 1px solid var(--pp-border) !important;
	border-top-color: var(--pp-cyan) !important;
	color: var(--pp-text) !important;
	border-radius: 12px;
	box-shadow: var(--pp-shadow-sm);
}

.woocommerce-error { border-top-color: var(--pp-red) !important; }
.woocommerce-message { border-top-color: var(--pp-success) !important; }

.woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border-color: var(--pp-border) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: var(--pp-surface) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: var(--pp-surface-3) !important;
}

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

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: #fff !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	background: var(--pp-surface);
	border-bottom: 1px solid var(--pp-border-soft);
	color: var(--pp-muted);
	padding: 12px 16px;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background: var(--pp-surface-3);
	color: #fff;
}

/* Tables */
table,
.woocommerce table.shop_table,
.tribe-events-calendar-list,
.tribe-events-calendar-month {
	background: var(--pp-surface) !important;
	border: 1px solid var(--pp-border-soft) !important;
	border-radius: 12px !important;
	color: var(--pp-text);
	overflow: hidden;
}

table th,
table td,
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border-color: var(--pp-border-soft) !important;
	color: var(--pp-muted);
}

table th,
.woocommerce table.shop_table th {
	background: var(--pp-surface-2);
	color: var(--pp-text);
}

/* Blog, pages, archive, search */
.fl-post-header,
.fl-archive .fl-post,
.search-results .fl-post,
.single-post .fl-post,
.blog .fl-post {
	color: var(--pp-text);
}

.fl-post-content blockquote {
	background: var(--pp-surface);
	border-left: 4px solid var(--pp-cyan);
	border-radius: 0 12px 12px 0;
	color: var(--pp-muted);
	padding: 18px 24px;
}

pre, code {
	background: var(--pp-bg-deep);
	border-color: var(--pp-border);
	color: var(--pp-cyan-light);
}

/* Events Calendar */
.tribe-common,
.tribe-events,
.tribe-events .tribe-events-l-container,
.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
	background: transparent !important;
	color: var(--pp-text) !important;
}

.tribe-common h1, .tribe-common h2, .tribe-common h3,
.tribe-common .tribe-common-h5, .tribe-common .tribe-common-h6,
.tribe-events .tribe-events-calendar-list__event-title-link,
.tribe-events .tribe-events-calendar-month__calendar-event-title-link {
	color: var(--pp-text) !important;
}

.tribe-common p,
.tribe-common span,
.tribe-events .tribe-events-calendar-list__event-description {
	color: var(--pp-muted);
}

.tribe-events .tribe-events-c-search__input-control input,
.tribe-events .tribe-events-c-top-bar__datepicker-button {
	color: var(--pp-text) !important;
}

.tribe-events .tribe-events-c-view-selector__content,
.tribe-events .tribe-events-c-events-bar,
.tribe-events .tribe-events-calendar-month__day {
	background: var(--pp-surface) !important;
	border-color: var(--pp-border-soft) !important;
}

/* Footer */
footer.fl-builder-content,
footer .fl-row-content-wrap,
.footer-row > .fl-row-content-wrap,
.fl-page-footer,
.fl-page-footer-widgets {
	background: var(--pp-bg-deep) !important;
	color: var(--pp-muted);
	border-top: 1px solid var(--pp-border-soft);
}

footer h1, footer h2, footer h3, footer h4, footer h5,
footer .uabb-info-list-title {
	color: var(--pp-text) !important;
}

footer p, footer li, footer .uabb-info-list-description {
	color: var(--pp-muted) !important;
}

footer a { color: var(--pp-text) !important; }
footer a:hover, footer a:focus { color: var(--pp-cyan-light) !important; }

/* Accessibility */
:focus-visible {
	outline: 3px solid var(--pp-gold) !important;
	outline-offset: 3px;
}

::selection {
	background: var(--pp-cyan);
	color: #031018;
}

.fl-screen-reader-text:focus {
	background: var(--pp-surface-3);
	color: #fff;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}

@media (max-width: 992px) {
	body { background-attachment: scroll; }
	header.fl-builder-content { position: relative; }
	#hf-menu .menu { gap: 8px; }
	#hf-menu .menu > li > a { padding: 8px 13px !important; }
}

@media (max-width: 768px) {
	body { font-size: 16px; }
	.fl-page-content .fl-row-content-wrap {
		padding-left: 18px;
		padding-right: 18px;
	}
	.home .fl-node-cd17vqgm3kxn > .fl-row-content-wrap {
		padding-top: 46px;
		padding-bottom: 46px;
	}
	.home .fl-node-lxye8a547hsk .fl-col-content { padding: 15px 18px; }
	.woocommerce ul.products li.product { border-radius: 13px !important; }
	.woocommerce div.product,
	.woocommerce-cart-form,
	.cart_totals,
	.woocommerce-checkout-review-order,
	.woocommerce form.checkout {
		padding: 16px;
	}
	#hf-menu .menu {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	#hf-menu .menu > li > a {
		display: block;
		text-align: center;
	}
}

@media (max-width: 480px) {
	#hf-menu .menu { grid-template-columns: 1fr; }
	.home .fl-node-cd17vqgm3kxn .heading-title { font-size: clamp(32px, 10vw, 48px) !important; }
}

/* Final readability pass: no black or near-black site text */
body .fl-page-content a:not(.button):not(.fl-button) {
	color: var(--pp-cyan-light) !important;
}

body .fl-page-content a:not(.button):not(.fl-button):hover,
body .fl-page-content a:not(.button):not(.fl-button):focus {
	color: #ffffff !important;
}

body .fl-page-content a.button,
body .fl-page-content a.button *,
body .fl-page-content button.button,
body .fl-page-content button.button *,
body .fl-page-content input.button,
body .fl-page-content .single_add_to_cart_button,
body .fl-page-content .single_add_to_cart_button *,
#fl-main-content a.button,
#fl-main-content a.button *,
#fl-main-content button.button,
#fl-main-content button.button *,
#fl-main-content input.button,
#fl-main-content .single_add_to_cart_button,
#fl-main-content .single_add_to_cart_button *,
header .fl-button,
header .fl-button * {
	color: #ffffff !important;
}

body.woocommerce ul.products li.product > a,
body.woocommerce ul.products li.product .woocommerce-loop-product__link,
body.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--pp-text) !important;
}

body.blog .pp-content-grid-date,
body.blog .pp-post-meta-term,
body.archive .pp-content-grid-date,
body.archive .pp-post-meta-term {
	color: var(--pp-cyan-light) !important;
}

.tribe-common .tribe-events-c-view-selector__list-item-text,
.tribe-common .tribe-events-calendar-month__day-date-daynum,
.tribe-common .tribe-events-c-top-bar__today-button,
.tribe-common .tribe-events-c-messages__message-list-item,
.tribe-common .tribe-events-c-messages__message-list-item *,
.tribe-common .tribe-common-b2,
.tribe-common .tribe-common-b3 {
	color: var(--pp-muted) !important;
}

.tribe-common .tribe-events-c-top-bar__today-button:hover,
.tribe-common .tribe-events-c-top-bar__today-button:focus {
	color: #ffffff !important;
}

.page-id-125 .fl-page-content a {
	color: var(--pp-cyan-light) !important;
}

.page-id-125 .fl-page-content a:hover,
.page-id-125 .fl-page-content a:focus {
	color: #ffffff !important;
}

/* Remove the redundant animated free-shipping message from the global header. */
header .fl-node-5c2wdeozsrm9 {
	display: none !important;
}

/* Keep the enlarged header-search icon clear of its placeholder text. */
header .dgwt-wcas-search-form .dgwt-wcas-search-input {
	padding-left: 76px !important;
}

/* Align the footer category heading and Select2 field without clipping. */
#f-col4 .pp-heading-content {
	overflow: visible;
}

#f-col4 .heading-title {
	line-height: 1.25 !important;
	padding-top: 2px;
	padding-left: 10px;
}

#f-col4 .select2-container {
	height: 45px !important;
	vertical-align: top !important;
}

#f-col4 .select2-container--default .select2-selection--single {
	height: 45px !important;
	margin: 0 !important;
}

#f-col4 .select2-container--default .select2-selection--single .select2-selection__rendered {
	height: 43px !important;
	line-height: 24px !important;
	padding: 9px 36px 9px 10px !important;
}

#f-col4 .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 43px !important;
}

/* Remove the vertical connector between footer contact icons. */
#contact-list .uabb-info-list-connector {
	display: none !important;
}
