/**
Theme Name: Pro Pressure Washing
Author: Really Good Digital
Author URI: https://reallygooddigital.com/
Description: Astra child theme recreating the original Canvas (WooThemes) design for Pro Pressure Washing.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pro-pressure-washing
Template: astra
*/

/* ==========================================================
   Design tokens (taken from the Canvas site, Oct 2026)
   ========================================================== */
:root {
	--ppw-purple: #5d59d4;
	--ppw-box-blue: #bddbff;
	--ppw-box-border: #8a7aff;
	--ppw-link: #428bca;
	--ppw-nav-active: #3088ff;
	--ppw-grey-bg: #e6e6e6;
	--ppw-border: #dbdbdb;
	--ppw-text: #555;
	--ppw-heading: #222;
	--ppw-box-width: 980px;
	--ppw-gutter: 35px;
	--ppw-font: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* ==========================================================
   Base
   ========================================================== */
body {
	background: #fff url(/wp-content/uploads/2013/02/background.jpg) repeat-x center top;
	color: var(--ppw-text);
	font-family: var(--ppw-font);
	font-size: 15px;
	font-weight: 300;
	line-height: 1.5;
}
body, button, input, select, textarea, .ast-button, .ast-custom-button { font-family: var(--ppw-font); }
h1, h2, h3, h4, h5, h6,
.entry-content :where(h1, h2, h3, h4, h5, h6) {
	font-family: var(--ppw-font);
	color: var(--ppw-heading);
	font-weight: 700;
	line-height: 1.4;
}
.entry-content h1 { font-size: 28px; }
.entry-content h2 { font-size: 24px; }
.entry-content h3 { font-size: 18px; }
.entry-content h4 { font-size: 15px; }
a, .entry-content a { color: var(--ppw-link); text-decoration: none; }
a:hover, .entry-content a:hover { text-decoration: underline; }
.entry-content p { margin-bottom: 18px; }
.entry-content strong, .entry-content b { font-weight: 700; }

/* ==========================================================
   Boxed layout: white 980px box below the full-width top bar
   ========================================================== */
#page { background: transparent; }

#ast-desktop-header .ast-main-header-wrap,
#ast-desktop-header .ast-below-header-wrap,
#ast-mobile-header,
#content,
.site-footer {
	max-width: var(--ppw-box-width);
	margin-left: auto;
	margin-right: auto;
	background: #fff;
}
@media (min-width: 1001px) {
	#ast-desktop-header .ast-main-header-wrap,
	#ast-desktop-header .ast-below-header-wrap,
	#content,
	.site-footer {
		border-left: 1px solid var(--ppw-border);
		border-right: 1px solid var(--ppw-border);
	}
	#ast-desktop-header .ast-main-header-wrap {
		margin-top: 20px;
		border-top: 1px solid var(--ppw-border);
		border-radius: 3px 3px 0 0;
	}
	.site-footer {
		margin-bottom: 20px;
		border-bottom: 1px solid var(--ppw-border);
		border-radius: 0 0 3px 3px;
		box-shadow: 0 4px 5px -3px rgba(0, 0, 0, .1);
	}
}
/* Inner containers fill the box with Canvas-style 35px gutters */
#ast-desktop-header .ast-main-header-wrap .ast-container,
#ast-desktop-header .ast-below-header-wrap .ast-container,
#content > .ast-container,
.site-footer .ast-container {
	max-width: 100%;
	padding-left: var(--ppw-gutter);
	padding-right: var(--ppw-gutter);
}

/* ==========================================================
   Top bar (Above Header – Services menu), full width
   ========================================================== */
.ast-above-header-bar {
	background: var(--ppw-purple) !important;
	border-bottom: 0 !important;
	min-height: 0 !important;
}
.ast-above-header-bar .site-above-header-wrap { min-height: 31px; }
.ast-above-header-bar .main-header-menu > .menu-item > .menu-link {
	color: #ddd;
	font-size: 12px;
	line-height: 19px;
	padding: 6px 12px;
}
.ast-above-header-bar .main-header-menu > .menu-item > .menu-link:hover,
.ast-above-header-bar .main-header-menu > .current-menu-item > .menu-link { color: #fff; }
.ast-above-header-bar .ast-builder-menu-2 { padding: 0; }

/* ==========================================================
   Logo row
   ========================================================== */
.ast-primary-header-bar {
	background: transparent !important;
	border-bottom: 0 !important;
}
#ast-desktop-header .site-primary-header-wrap { min-height: 0; padding-top: 5px; padding-bottom: 5px; }
.site-branding, .ast-site-identity { padding: 0; }

/* ==========================================================
   Main navigation (Below Header – Main menu)
   ========================================================== */
.ast-below-header-bar {
	background: transparent !important;
	border: 0 !important;
	min-height: 0 !important;
}
#ast-desktop-header .site-below-header-wrap {
	min-height: 0;
	padding-left: 0;
	padding-right: 0;
}
#ast-desktop-header .ast-below-header-wrap .ast-container { padding: 0; }
#ast-desktop-header .ast-below-header-bar .site-below-header-wrap {
	background: var(--ppw-purple);
	border: 1px solid var(--ppw-border);
	border-radius: 5px;
}
.ast-below-header-bar .ast-builder-menu-1,
.ast-below-header-bar .main-header-menu { padding: 0; }
.ast-below-header-bar .main-header-menu > .menu-item {
	border-right: 1px solid rgba(255, 255, 255, .25);
}
.ast-below-header-bar .main-header-menu > .menu-item > .menu-link {
	color: #fff;
	font-size: 14px;
	line-height: 17px;
	padding: 14px;
	min-height: 0;
}
.ast-below-header-bar .main-header-menu > .menu-item:first-child > .menu-link { border-radius: 5px 0 0 5px; }
.ast-below-header-bar .main-header-menu > .menu-item > .menu-link:hover,
.ast-below-header-bar .main-header-menu > .menu-item:hover > .menu-link,
.ast-below-header-bar .main-header-menu > .current-menu-item > .menu-link,
.ast-below-header-bar .main-header-menu > .current-menu-ancestor > .menu-link {
	background: var(--ppw-grey-bg);
	color: var(--ppw-nav-active);
}
.ast-below-header-bar .main-header-menu > .menu-item > .menu-link .ast-icon svg { fill: currentColor; }
/* Dropdown */
.ast-below-header-bar .main-header-menu .sub-menu {
	background: var(--ppw-grey-bg);
	border: 1px solid var(--ppw-border) !important;
	border-radius: 0;
	padding: 5px 0;
	width: 168px;
	box-shadow: none;
}
.ast-below-header-bar .main-header-menu .sub-menu .menu-link {
	color: #666;
	font-size: 12.6px;
	line-height: 15px;
	padding: 9px 12.6px;
	border: 0;
}
.ast-below-header-bar .main-header-menu .sub-menu .menu-link:hover,
.ast-below-header-bar .main-header-menu .sub-menu .current-menu-item > .menu-link {
	color: var(--ppw-nav-active);
	background: transparent;
}

/* ==========================================================
   Content area
   ========================================================== */
#content { padding-top: 42px; }
.ast-plain-container #primary { margin-top: 0; margin-bottom: 30px; }
.ast-right-sidebar #primary { padding-right: 30px; border-right: 0; }
.ast-right-sidebar #secondary { padding-left: 0; border-left: 0; margin-top: 0; }
.entry-header { margin-bottom: 14px; }
.entry-title, .page .entry-header .entry-title {
	font-size: 28px;
	font-weight: 700;
	color: var(--ppw-heading);
	line-height: 1.5;
}
/* Breadcrumbs */
.ast-breadcrumbs-wrapper { margin-bottom: 21px; font-size: 14px; color: var(--ppw-text); }
.ast-breadcrumbs-wrapper .trail-items::before { content: "You are here:\00a0"; }
/* Images aligned as in Canvas */
.entry-content .alignright { margin: 0 0 15px 20px; }
.entry-content .alignleft { margin: 0 20px 15px 0; }

/* [unordered_list style="tick"] (Canvas shortcode, recreated in functions.php) */
.shortcode-unorderedlist ul { list-style: none; margin: 0 0 18px; padding: 0; }
.shortcode-unorderedlist ul li { position: relative; padding-left: 24px; margin-bottom: 4px; }
.shortcode-unorderedlist.tick ul li::before {
	content: "\2714";
	position: absolute;
	left: 0;
	top: 0;
	color: #5aa02c;
	font-weight: 700;
}

/* ==========================================================
   Sidebar + prefooter widget boxes
   ========================================================== */
#secondary .widget,
.site-above-footer-wrap .widget {
	background: var(--ppw-box-blue);
	border: 2px solid var(--ppw-box-border);
	border-radius: 10px;
	padding: 10px;
	margin: 0 0 30px;
	font-size: 12px;
	line-height: 21px;
	color: var(--ppw-text);
}
#secondary .widget p, .site-above-footer-wrap .widget p { margin-bottom: 10px; }
#secondary .widget p:last-child, .site-above-footer-wrap .widget p:last-child { margin-bottom: 0; }
#secondary .widget-title,
#secondary .widget h2.widget-title,
#secondary .widget h3 {
	font-size: 14px;
	font-weight: 700;
	color: var(--ppw-text);
	margin: 0 0 11px;
	padding: 0;
	line-height: normal;
}
#secondary .textwidget h2 { font-size: 22px; line-height: 1.2; margin: 6px 0 10px; }
#secondary .textwidget h2 a { color: var(--ppw-link); }
.site-above-footer-wrap .widget img { display: block; margin: 0 auto; }
.site-above-footer-wrap .widget p[align="center"] { text-align: center; }

/* ==========================================================
   Footer
   ========================================================== */
.site-above-footer-wrap,
.site-primary-footer-wrap,
.site-below-footer-wrap { background: transparent !important; }
.site-above-footer-wrap { border-top: 1px solid var(--ppw-border); padding-top: 30px; padding-bottom: 0; }
.site-primary-footer-wrap {
	border-top: 1px solid var(--ppw-border);
	padding-top: 20px;
	padding-bottom: 20px;
}
.site-footer .footer-widget-area[data-section="section-fb-html-1"] .ast-header-html,
.site-footer .ast-footer-html-inner,
.site-footer .ast-footer-copyright {
	color: #999;
	font-size: 13px;
	line-height: 18px;
	text-align: left;
}
.site-footer a { color: var(--ppw-link); }
/* #page is a flex column, so boxed sections need an explicit width */
#content, .site-footer { width: 100%; }
#primary, #secondary { min-width: 0; }
.entry-content iframe, .entry-content img { max-width: 100%; }
.site-footer .site-above-footer-wrap[data-section],
.site-footer .site-primary-footer-wrap[data-section] {
	padding-left: var(--ppw-gutter);
	padding-right: var(--ppw-gutter);
}
@media (max-width: 921px) {
	.site-footer .site-above-footer-wrap[data-section],
	.site-footer .site-primary-footer-wrap[data-section] { padding-left: 20px; padding-right: 20px; }
}

/* ==========================================================
   Mobile tweaks
   ========================================================== */
@media (max-width: 921px) {
	#content { padding-top: 24px; }
	.ast-right-sidebar #primary { padding-right: 0; }
	#content > .ast-container,
	.site-footer .ast-container { padding-left: 20px; padding-right: 20px; }
	#ast-mobile-header .ast-primary-header-bar { border-bottom: 3px solid var(--ppw-purple) !important; }
}
