/*
Theme Name: PropWise
Theme URI: https://www.gopropwise.com
Description: Custom PropWise child theme.
Author: PropWise
Author URI: https://www.gopropwise.com
Template: twentytwentyfive
Version: 1.0.0
Text Domain: propwise
*/

/* PropWise footer and utility styles */
.wp-block-list.is-style-plain {
    list-style: none;
    margin: 0;
    padding: 0;
}

.wp-block-list.is-style-plain li {
    margin-bottom: 10px;
}

.wp-block-list.is-style-plain li:last-child {
    margin-bottom: 0;
}

/* Force plain footer navigation lists */
footer .wp-block-list.is-style-plain,
.wp-block-template-part .wp-block-list.is-style-plain {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

footer .wp-block-list.is-style-plain li,
.wp-block-template-part .wp-block-list.is-style-plain li {
    list-style: none !important;
}

footer .wp-block-list.is-style-plain li::marker,
.wp-block-template-part .wp-block-list.is-style-plain li::marker {
    content: "";
}

/* Pricing page: cleaner One-Off and Core Includes section */
#one-off > .wp-block-columns {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}

#one-off > .wp-block-group.alignwide {
	max-width: 900px;
	margin-top: 64px !important;
	padding-top: 56px;
	border-top: 1px solid #dfe3e8;
}

#one-off > .wp-block-group.alignwide > .wp-block-columns {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 16px;
}

#one-off > .wp-block-group.alignwide > .wp-block-columns + .wp-block-columns {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 66%;
	margin-left: auto;
	margin-right: auto;
}

#one-off > .wp-block-group.alignwide .wp-block-column {
	margin: 0;
}

#one-off > .wp-block-group.alignwide .wp-block-column > .wp-block-group {
	height: 100%;
	min-height: 88px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 20px 18px !important;
	border: 1px solid #e3e7ec;
	box-shadow: 0 4px 14px rgba(32, 33, 36, 0.04);
}

#one-off > .wp-block-group.alignwide .wp-block-column p {
	margin: 0;
	font-weight: 600;
	line-height: 1.45;
}

/* Pricing page: cleaner bulk pricing table */
#bulk .wp-block-table {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	overflow-x: auto;
	border: 1px solid #dfe3e8;
	border-radius: 12px;
}

#bulk .wp-block-table table {
	width: 100%;
	table-layout: auto;
	border-collapse: collapse;
	margin: 0;
}

#bulk .wp-block-table thead {
	background: #163a5f;
	color: #ffffff;
}

#bulk .wp-block-table th,
#bulk .wp-block-table td {
	padding: 18px 20px;
	text-align: left;
	vertical-align: middle;
	line-height: 1.45;
	border: 0;
	border-bottom: 1px solid #e3e7ec;
}

#bulk .wp-block-table th {
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	white-space: nowrap;
}

#bulk .wp-block-table tbody tr:nth-child(even) {
	background: #f7f9fb;
}

#bulk .wp-block-table tbody tr:last-child td {
	border-bottom: 0;
}

#bulk .wp-block-table th:nth-child(1),
#bulk .wp-block-table td:nth-child(1) {
	width: 25%;
}

#bulk .wp-block-table th:nth-child(2),
#bulk .wp-block-table td:nth-child(2) {
	width: 14%;
	text-align: center;
}

#bulk .wp-block-table th:nth-child(3),
#bulk .wp-block-table td:nth-child(3) {
	width: 18%;
	text-align: center;
}

#bulk .wp-block-table th:nth-child(4),
#bulk .wp-block-table td:nth-child(4) {
	width: 43%;
}

@media (max-width: 781px) {
	#one-off > .wp-block-group.alignwide > .wp-block-columns,
	#one-off > .wp-block-group.alignwide > .wp-block-columns + .wp-block-columns {
		grid-template-columns: 1fr;
		max-width: 100%;
	}

	#bulk .wp-block-table th,
	#bulk .wp-block-table td {
		min-width: 150px;
		padding: 14px 16px;
	}
}


/* Beta signup section: balance tall HubSpot form */
#beta-signup {
	padding-top: 72px !important;
	padding-bottom: 72px !important;
}

#beta-signup > .wp-block-columns {
	max-width: 1050px;
	align-items: stretch !important;
	gap: 32px;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child {
	flex-basis: 40% !important;
	display: flex;
}

#beta-signup > .wp-block-columns > .wp-block-column:last-child {
	flex-basis: 60% !important;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child {
	background: #163a5f;
	border-radius: 12px;
	padding: 44px 38px;
	align-items: center;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child > * {
	width: 100%;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child h2,
#beta-signup > .wp-block-columns > .wp-block-column:first-child p {
	color: #ffffff;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child > p:first-child {
	color: #8bc6ff !important;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child .wp-block-group {
	background: rgba(255, 255, 255, 0.1) !important;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 10px;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child .wp-block-group p {
	color: #ffffff;
}

#beta-signup > .wp-block-columns > .wp-block-column:last-child > .wp-block-group {
	height: 100%;
	padding: 32px !important;
	border: 1px solid #e3e7ec;
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(32, 33, 36, 0.06);
}

#beta-signup .hs-form-frame {
	width: 100%;
}

@media (max-width: 781px) {
	#beta-signup > .wp-block-columns {
		gap: 24px;
	}

	#beta-signup > .wp-block-columns > .wp-block-column:first-child,
	#beta-signup > .wp-block-columns > .wp-block-column:last-child {
		flex-basis: 100% !important;
	}

	#beta-signup > .wp-block-columns > .wp-block-column:first-child {
		padding: 34px 26px;
	}
}


/* Beta signup correction: stack and balance the left panel */
#beta-signup > .wp-block-columns {
	align-items: stretch !important;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	align-items: flex-start !important;
	align-self: stretch !important;
	min-width: 0;
	padding: 48px 42px !important;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child > * {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	flex: none !important;
	margin-left: 0;
	margin-right: 0;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child h2 {
	font-size: 36px;
	line-height: 1.15;
	margin-top: 12px;
	margin-bottom: 20px;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child > p {
	line-height: 1.65;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child > p:first-child {
	font-size: 12px !important;
	line-height: 1.4;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child .wp-block-group {
	display: block !important;
	width: 100% !important;
	margin-top: 30px !important;
	padding: 24px !important;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child .wp-block-group p {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	line-height: 1.6;
}

#beta-signup > .wp-block-columns > .wp-block-column:last-child,
#beta-signup > .wp-block-columns > .wp-block-column:last-child > .wp-block-group {
	align-self: stretch !important;
}

@media (max-width: 781px) {
	#beta-signup > .wp-block-columns > .wp-block-column:first-child {
		padding: 36px 28px !important;
	}

	#beta-signup > .wp-block-columns > .wp-block-column:first-child h2 {
		font-size: 30px;
	}
}


/* Beta signup: horizontal stacked layout */
#beta-signup > .wp-block-columns {
	display: block !important;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child,
#beta-signup > .wp-block-columns > .wp-block-column:last-child {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	flex-basis: 100% !important;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child {
	background: #163a5f;
	border-radius: 12px;
	padding: 40px 44px !important;
	margin-bottom: 28px;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child > * {
	width: 100% !important;
	max-width: 100% !important;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child h2 {
	color: #ffffff;
	font-size: 36px;
	line-height: 1.15;
	margin-top: 10px;
	margin-bottom: 16px;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child > p {
	color: #ffffff;
	max-width: 780px !important;
	line-height: 1.65;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child > p:first-child {
	color: #8bc6ff !important;
	font-size: 12px !important;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child .wp-block-group {
	background: rgba(255,255,255,0.10) !important;
	border: 1px solid rgba(255,255,255,0.18);
	border-radius: 10px;
	margin-top: 24px !important;
	padding: 20px 24px !important;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child .wp-block-group p {
	color: #ffffff;
	margin: 0 !important;
}

#beta-signup > .wp-block-columns > .wp-block-column:last-child {
	max-width: 760px !important;
	margin-left: auto;
	margin-right: auto;
}

#beta-signup > .wp-block-columns > .wp-block-column:last-child > .wp-block-group {
	height: auto !important;
	padding: 40px 46px !important;
	background: #f5f5f5;
	border: 1px solid #e3e7ec;
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(32,33,36,0.06);
}

#beta-signup .hs-form-frame {
	width: 100%;
}

@media (max-width: 781px) {
	#beta-signup > .wp-block-columns > .wp-block-column:first-child {
		padding: 34px 26px !important;
	}

	#beta-signup > .wp-block-columns > .wp-block-column:first-child h2 {
		font-size: 30px;
	}

	#beta-signup > .wp-block-columns > .wp-block-column:last-child > .wp-block-group {
		padding: 28px 22px !important;
	}
}


/* Beta signup: match form width to intro panel */
#beta-signup > .wp-block-columns > .wp-block-column:last-child {
	width: 100% !important;
	max-width: 1000px !important;
	margin-left: auto;
	margin-right: auto;
}

#beta-signup > .wp-block-columns > .wp-block-column:last-child > .wp-block-group {
	width: 100%;
	box-sizing: border-box;
	padding: 44px 56px !important;
}

#beta-signup .hs-form-frame,
#beta-signup .hs-form-frame iframe {
	width: 100% !important;
	max-width: none !important;
}

@media (max-width: 781px) {
	#beta-signup > .wp-block-columns > .wp-block-column:last-child > .wp-block-group {
		padding: 28px 22px !important;
	}
}


/* Beta signup: force both stacked panels to identical width */
#beta-signup > .wp-block-columns {
	width: 100% !important;
	max-width: 1000px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

#beta-signup > .wp-block-columns > .wp-block-column {
	flex: none !important;
	flex-basis: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box;
}

#beta-signup > .wp-block-columns > .wp-block-column:first-child,
#beta-signup > .wp-block-columns > .wp-block-column:last-child {
	width: 100% !important;
	max-width: 100% !important;
}

#beta-signup > .wp-block-columns > .wp-block-column:last-child > .wp-block-group {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box;
}



/* =========================================================
   PropWise 404 Page
   ========================================================= */

.pw-404 {
	position:relative;
	min-height:680px;
	display:flex;
	align-items:center;
	overflow:hidden;
	color:#fff;
	background:
		radial-gradient(circle at 80% 18%,rgba(26,115,232,.36),transparent 35%),
		linear-gradient(135deg,#0a2038,#123b63 60%,#0d2946);
}

.pw-404 *,
.pw-404 *::before,
.pw-404 *::after {
	box-sizing:border-box;
}

.pw-404__grid {
	position:absolute;
	inset:0;
	opacity:.14;
	background-image:
		linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),
		linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);
	background-size:48px 48px;
	mask-image:linear-gradient(to right,#000,transparent 92%);
}

.pw-404__shell {
	position:relative;
	width:min(1160px,calc(100% - 48px));
	margin:auto;
	display:grid;
	grid-template-columns:1.08fr .92fr;
	gap:76px;
	align-items:center;
	padding:92px 0;
}

.pw-404__eyebrow {
	margin:0 0 18px;
	color:#73b7ff;
	font:700 12px/1.4 Montserrat,sans-serif;
	letter-spacing:1.8px;
	text-transform:uppercase;
}

.pw-404 h1 {
	max-width:720px;
	margin:0;
	color:#fff;
	font-size:clamp(46px,5.4vw,72px);
	line-height:1;
	letter-spacing:-2.8px;
}

.pw-404__lead {
	max-width:650px;
	margin:26px 0 0;
	color:#d4e2ee;
	font-size:18px;
	line-height:1.7;
}

.pw-404__actions {
	display:flex;
	flex-wrap:wrap;
	gap:13px;
	margin-top:34px;
}

.pw-404__button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:49px;
	padding:0 22px;
	border:1px solid transparent;
	border-radius:8px;
	font:700 14px Montserrat,sans-serif;
	text-decoration:none;
	transition:transform .2s ease;
}

.pw-404__button:hover {
	transform:translateY(-2px);
}

.pw-404__button--primary {
	background:#1a73e8;
	color:#fff;
}

.pw-404__button--secondary {
	border-color:rgba(255,255,255,.5);
	color:#fff;
}

.pw-404__visual {
	position:relative;
	min-height:430px;
}

.pw-404__report {
	position:absolute;
	inset:30px 0 10px 20px;
	padding:27px;
	border:1px solid rgba(255,255,255,.2);
	border-radius:20px;
	background:rgba(7,27,47,.73);
	box-shadow:0 38px 90px rgba(0,0,0,.3);
	backdrop-filter:blur(17px);
	transform:rotate(2deg);
}

.pw-404__topbar {
	display:flex;
	gap:7px;
	padding-bottom:19px;
	border-bottom:1px solid rgba(255,255,255,.16);
}

.pw-404__topbar span {
	width:9px;
	height:9px;
	border-radius:50%;
	background:rgba(255,255,255,.42);
}

.pw-404__number {
	margin:46px 0 30px;
	color:#fff;
	font:700 94px/1 Montserrat,sans-serif;
	letter-spacing:-5px;
}

.pw-404__line {
	width:72%;
	height:8px;
	margin-bottom:11px;
	border-radius:99px;
	background:rgba(255,255,255,.13);
}

.pw-404__line--wide {
	width:91%;
}

.pw-404__line--short {
	width:48%;
}

.pw-404__status {
	display:flex;
	align-items:center;
	gap:15px;
	margin-top:30px;
	padding:18px;
	border-radius:12px;
	background:rgba(255,255,255,.07);
}

.pw-404__status i {
	flex:0 0 12px;
	width:12px;
	height:12px;
	border-radius:50%;
	background:#fbbc05;
}

.pw-404__status strong,
.pw-404__status span {
	display:block;
}

.pw-404__status strong {
	color:#fff;
	font-size:14px;
}

.pw-404__status span {
	margin-top:5px;
	color:#aebfd0;
	font-size:12px;
}

@media(max-width:850px) {
	.pw-404__shell {
		grid-template-columns:1fr;
	}

	.pw-404__visual {
		min-height:390px;
	}
}

@media(max-width:640px) {
	.pw-404 {
		min-height:auto;
	}

	.pw-404__shell {
		width:min(100% - 30px,1160px);
		padding:72px 0;
	}

	.pw-404 h1 {
		font-size:44px;
		letter-spacing:-1.7px;
	}

	.pw-404__visual {
		min-height:330px;
	}

	.pw-404__report {
		inset:10px 0;
	}

	.pw-404__number {
		font-size:72px;
	}
}


/* =========================================================
   PropWise Mobile Header
   ========================================================= */

.pw-mobile-nav-login,
.pw-mobile-nav-signup {
	display:none !important;
}

@media (max-width: 781px) {

	.pw-site-header {
		padding:12px 20px !important;
	}

	.pw-site-header__inner {
		width:100%;
		max-width:none !important;
		gap:16px;
	}

	.pw-site-header .wp-block-site-logo {
		flex:0 1 auto;
		max-width:210px;
	}

	.pw-site-header .custom-logo {
		width:auto;
		max-width:210px;
		height:auto;
	}

	/* Remove the squeezed desktop buttons from the mobile header. */
	.pw-header-actions {
		display:none !important;
	}

	.pw-primary-navigation {
		margin-left:auto;
		flex:0 0 auto;
	}

	.pw-primary-navigation
	.wp-block-navigation__responsive-container-open {
		display:flex;
		align-items:center;
		justify-content:center;
		width:46px;
		height:46px;
		padding:0;
		border:1px solid #202124;
		border-radius:6px;
		background:#fff;
	}

	.pw-primary-navigation
	.wp-block-navigation__responsive-container-open svg {
		width:28px;
		height:28px;
	}

	/* Full-screen mobile menu. */
	.pw-primary-navigation
	.wp-block-navigation__responsive-container.is-menu-open {
		padding:24px;
		background:#fff;
	}

	.pw-primary-navigation
	.wp-block-navigation__responsive-container-close {
		top:22px;
		right:22px;
	}

	.pw-primary-navigation
	.wp-block-navigation__responsive-container-close svg {
		width:30px;
		height:30px;
	}

	.pw-primary-navigation
	.wp-block-navigation__responsive-container-content {
		display:block;
		width:100%;
		padding-top:64px;
	}

	.pw-primary-navigation
	.wp-block-navigation__container {
		display:flex !important;
		flex-direction:column !important;
		align-items:stretch !important;
		width:100%;
		gap:0 !important;
	}

	.pw-primary-navigation
	.wp-block-navigation-item {
		width:100%;
		margin:0;
		text-align:left;
	}

	.pw-primary-navigation
	.wp-block-navigation-item__content {
		display:block;
		width:100%;
		padding:14px 4px;
		border-bottom:1px solid #e5e7eb;
		color:#202124;
		font-size:18px;
		line-height:1.35;
		text-align:left;
		text-decoration:none;
		white-space:normal;
	}

	/* Product submenu becomes a clean mobile section. */
	.pw-primary-navigation
	.wp-block-navigation-submenu {
		display:block;
		width:100%;
	}

	.pw-primary-navigation
	.wp-block-navigation-submenu__toggle {
		display:flex;
		align-items:center;
		justify-content:space-between;
		width:100%;
		padding:14px 4px;
		border:0;
		border-bottom:1px solid #e5e7eb;
		background:transparent;
		color:#202124;
		font-size:18px;
		font-weight:700;
		text-align:left;
	}

	.pw-primary-navigation
	.wp-block-navigation__submenu-container {
		position:static !important;
		display:block !important;
		width:100% !important;
		min-width:0 !important;
		height:auto !important;
		padding:0 0 4px 16px !important;
		border:0 !important;
		box-shadow:none !important;
		background:transparent !important;
		opacity:1 !important;
		visibility:visible !important;
	}

	.pw-primary-navigation
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item__content {
		padding:12px 4px;
		font-size:16px;
	}

	/* Mobile account actions inside the menu. */
	.pw-primary-navigation .pw-mobile-nav-login,
	.pw-primary-navigation .pw-mobile-nav-signup {
		display:block !important;
		margin-top:18px;
	}

	.pw-primary-navigation .pw-mobile-nav-signup {
		margin-top:10px;
	}

	.pw-primary-navigation
	.pw-mobile-nav-login
	.wp-block-navigation-item__content,
	.pw-primary-navigation
	.pw-mobile-nav-signup
	.wp-block-navigation-item__content {
		padding:14px 20px;
		border:1px solid #1a73e8;
		border-radius:7px;
		text-align:center;
		font-weight:700;
	}

	.pw-primary-navigation
	.pw-mobile-nav-login
	.wp-block-navigation-item__content {
		color:#1a73e8;
		background:#fff;
	}

	.pw-primary-navigation
	.pw-mobile-nav-signup
	.wp-block-navigation-item__content {
		color:#fff;
		background:#1a73e8;
	}
}

@media (max-width: 420px) {
	.pw-site-header {
		padding-right:15px !important;
		padding-left:15px !important;
	}

	.pw-site-header .wp-block-site-logo,
	.pw-site-header .custom-logo {
		max-width:190px;
	}
}


/* Mobile Product submenu hierarchy */
@media (max-width: 781px) {

	.pw-primary-navigation
	.wp-block-navigation-submenu
	.wp-block-navigation__submenu-container {
		padding-left:24px !important;
	}

	.pw-primary-navigation
	.wp-block-navigation-submenu
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item__content {
		position:relative;
		padding-left:18px;
		font-size:16px;
		font-weight:500;
		color:#4b5563;
	}

	.pw-primary-navigation
	.wp-block-navigation-submenu
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item__content::before {
		content:"";
		position:absolute;
		left:0;
		top:50%;
		width:6px;
		height:6px;
		border-radius:50%;
		background:#1a73e8;
		transform:translateY(-50%);
	}
}
