/*
Theme Name: Nova Home Support Theme
Theme URI: https://novahomesupport.co.uk/
Author: Nova Home Support Ltd
Description: Custom lightweight theme for Nova Home Support Ltd website.
Version: 1.0
Text Domain: novahomesupport
*/

/* ===== Basic reset ===== */
* { box-sizing: border-box; }
body { margin: 0; font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color: #111827; }
a { color: inherit; }

/* Accessibility: skip link + focus */
.skip-link{
	position:absolute;
	left:-9999px;
	top:auto;
	width:1px;
	height:1px;
	overflow:hidden;
}
.skip-link:focus{
	left:16px;
	top:16px;
	width:auto;
	height:auto;
	z-index:1000;
	background:#fff;
	border:1px solid rgba(0,0,0,0.2);
	border-radius:10px;
	padding:10px 12px;
}
:focus-visible{
	outline:3px solid rgba(29,78,137,0.35);
	outline-offset:3px;
}

/* ===== Header ===== */
.nova-site-header{
	border-bottom:1px solid rgba(0,0,0,0.08);
	background:#fff;
	position:sticky;
	top:0;
	z-index:50;
}

.nova-header-wrap{
	max-width:1140px;
	margin:auto;
	padding:14px 16px;
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:14px;
}

.nova-brand{
	font-weight:800;
	text-decoration:none;
	color:#111827;
	white-space:nowrap;
}

.nova-nav { margin-left:auto; }

/* Desktop Menu */
.nova-menu{
	list-style:none;
	display:flex;
	gap:16px;
	margin:0;
	padding:0;
	align-items:center;
	font-weight:600;
}
.nova-menu li{ margin:0; padding:0; }
.nova-menu a{
	text-decoration:none;
	color:#6b7280;
	padding:8px 10px;
	border-radius:12px;
	transition:0.2s;
}
.nova-menu a:hover,
.nova-menu .current-menu-item > a{
	background:rgba(0,0,0,0.04);
	color:#111827;
}

/* Call button */
.nova-call-btn{
	text-decoration:none;
	background:#1D4E89;
	color:#fff;
	padding:12px 16px;
	border-radius:14px;
	font-weight:700;
	white-space:nowrap;
	box-shadow:0 10px 18px rgba(29,78,137,0.18);
}
.nova-call-btn:hover{ opacity:0.95; }

/* ===== Footer ===== */
.nova-site-footer{
	padding:40px 0;
	color:#6b7280;
	background:#fff;
	border-top:1px solid rgba(0,0,0,0.06);
}
.nova-footer-wrap{
	max-width:1140px;
	margin:auto;
	padding:0 16px;
}
.nova-footer-grid{
	display:grid;
	grid-template-columns:1.2fr 1fr 1fr;
	gap:16px;
}
@media(max-width:900px){
	.nova-footer-grid{ grid-template-columns:1fr; }
}
.nova-footer-title{ color:#111827; }
.nova-footer-small{ margin-top:10px; font-size:13px; }
.nova-footer-copy{ margin-top:18px; font-size:13px; }
.nova-site-footer a{
	color:#6b7280;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ==========================================
   HAMBURGER MENU (MOBILE)
========================================== */

/* Burger button (hidden on desktop) */
.nova-burger{
	display:none;
	width:44px;
	height:44px;
	border:1px solid rgba(0,0,0,0.10);
	background:#fff;
	border-radius:12px;
	padding:10px;
	cursor:pointer;
	align-items:center;
	justify-content:center;
	gap:4px;
}
.nova-burger span{
	display:block;
	height:2px;
	width:100%;
	background:#111827;
	border-radius:2px;
	transition:0.2s;
}

/* Animate burger to X */
.nova-burger.is-open span:nth-child(1){ transform: translateY(6px) rotate(45deg); }
.nova-burger.is-open span:nth-child(2){ opacity:0; }
.nova-burger.is-open span:nth-child(3){ transform: translateY(-6px) rotate(-45deg); }

/* Mobile panel: hidden by default */
.nova-mobile-panel{ display:none; }

/* Mobile menu styles */
.nova-mobile-menu{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:8px;
	font-weight:700;
}
.nova-mobile-menu a{
	display:block;
	padding:12px 12px;
	border-radius:12px;
	text-decoration:none;
	color:#111827;
	background:rgba(0,0,0,0.03);
}
.nova-mobile-menu a:hover,
.nova-mobile-menu .current-menu-item > a{
	background:rgba(29,78,137,0.10);
}

/* Mobile actions row */
.nova-mobile-actions{
	margin-top:12px;
	display:flex;
	gap:10px;
	flex-wrap:wrap;
}
.nova-mobile-call{
	flex:1;
	text-align:center;
}
.nova-mobile-quote{
	flex:1;
	text-align:center;
	padding:12px 16px;
	border-radius:14px;
	font-weight:800;
	text-decoration:none;
	border:1px solid rgba(0,0,0,0.10);
	background:#fff;
	color:#111827;
}

/* Mobile breakpoint */
@media(max-width:900px){
	.nova-burger{ display:inline-flex; }

	/* hide desktop nav + call on mobile */
	.nova-desktop-nav{ display:none; }
	.nova-desktop-call{ display:none; }

	/* Show mobile panel ONLY when body has nova-menu-open */
	body.nova-menu-open .nova-mobile-panel{
		display:block;
		border-top:1px solid rgba(0,0,0,0.08);
		background:#fff;
		padding:12px 16px 16px;
	}
}

/* Optional: prevent background scroll when menu open */
body.nova-menu-open{ overflow:hidden; }


/* ===== WPForms styled like Nova form ===== */
.nova-form .nova-wpforms.wpforms-container-full{
	margin: 0 !important;
}

.nova-form .nova-wpforms .wpforms-field{
	margin-bottom: 12px !important;
}

.nova-form .nova-wpforms .wpforms-field-label{
	font-weight: 700;
	font-size: 14px;
	margin-bottom: 6px;
}

.nova-form .nova-wpforms input[type="text"],
.nova-form .nova-wpforms input[type="email"],
.nova-form .nova-wpforms input[type="tel"],
.nova-form .nova-wpforms select,
.nova-form .nova-wpforms textarea{
	border: 1px solid rgba(0,0,0,0.12) !important;
	border-radius: 12px !important;
	padding: 12px 12px !important;
	font-size: 15px !important;
	outline: none !important;
	width: 100% !important;
	background: #fff !important;
}

.nova-form .nova-wpforms textarea{
	min-height: 120px !important;
	resize: vertical !important;
}

.nova-form .nova-wpforms input:focus,
.nova-form .nova-wpforms select:focus,
.nova-form .nova-wpforms textarea:focus{
	border-color: rgba(29,78,137,0.45) !important;
	box-shadow: 0 0 0 4px rgba(29,78,137,0.10) !important;
}

.nova-form .nova-wpforms .wpforms-submit{
	/* You’re already giving classes via WPForms settings, this is a fallback */
	background: #1D4E89 !important;
	color: #fff !important;
	border-radius: 14px !important;
	padding: 14px 20px !important;
	border: 1px solid transparent !important;
	font-weight: 700 !important;
	cursor: pointer !important;
}

.nova-form .nova-wpforms .wpforms-submit:hover{
	transform: translateY(-2px);
}
