/* Local-only State Guides prototype. Reuses values established in theme.json. */
.pw-state-guide__hero,
.pw-state-guides-hub__hero {
	padding: 64px 24px 56px;
	border-radius: 0;
}

.pw-state-guide__breadcrumb {
	margin: 0 0 16px;
	color: #5f6368;
}

.pw-state-guide__breadcrumb a {
	color: var(--wp--preset--color--propwise-blue);
}

.pw-state-guide__content {
	padding: 64px 24px 96px;
}

.pw-state-guide__content > .wp-block-post-content {
	max-width: 880px;
	margin-right: auto !important;
	margin-left: auto !important;
}

.pw-state-guide__lead {
	max-width: 840px;
	margin: 0;
	font-size: 20px;
	line-height: 1.65;
}

.pw-state-guide__section {
	margin-top: 72px;
}

.pw-state-guide__section + .pw-state-guide__section:not(.pw-state-guide__section--soft):not(.pw-state-guide__workflow) {
	padding-top: 72px;
	border-top: 1px solid #dfe3e8;
}

.pw-state-guide__section > .wp-block-heading:first-child {
	margin-top: 0;
	margin-bottom: 24px;
}

.pw-state-guide__section > h3:not(:first-child) {
	margin-top: 40px;
	margin-bottom: 16px;
}

.pw-state-guide__section--soft {
	padding: 44px 40px;
	border: 1px solid #dfe3e8;
	border-radius: 12px;
	background: #f5f5f5;
}

.pw-state-guide__card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.pw-state-guide__card {
	height: 100%;
	padding: 24px;
	border: 1px solid #dfe3e8;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 4px 14px rgba(32, 33, 36, 0.04);
}

.pw-state-guide__card h3 {
	margin-top: 0;
	font-size: 20px;
}

.pw-state-guide__card p:last-child {
	margin-bottom: 0;
}

/* Interactive State Guides hub map. Geometry and behavior are bundled locally. */
.pw-state-guides-hub__map {
	margin-top: 32px;
	padding: 28px;
	border: 1px solid #dfe3e8;
	border-radius: 12px;
	background: #f8fafc;
}

.pw-state-guides-hub__map-frame {
	overflow: hidden;
	border: 1px solid #e7ebef;
	border-radius: 10px;
	background: #fff;
}

.pw-state-guides-hub__map-svg {
	display: block;
	width: 100%;
	height: auto;
	min-height: 380px;
}

.pw-state-guides-hub__map-state path {
	stroke: #fff;
	stroke-width: 1.2;
	vector-effect: non-scaling-stroke;
	transition: fill 160ms ease, stroke 160ms ease;
}

.pw-state-guides-hub__map-state--available {
	cursor: pointer;
}

.pw-state-guides-hub__map-state--available path {
	fill: var(--wp--preset--color--propwise-blue);
}

.pw-state-guides-hub__map-state--coming_soon path {
	fill: #b8c6d5;
}

.pw-state-guides-hub__map-state--available:is(:hover, :focus) path {
	fill: var(--wp--preset--color--propwise-green);
	stroke: #163a5f;
	stroke-width: 2;
}

.pw-state-guides-hub__map-state--coming_soon:is(:hover, :focus) path {
	fill: #8ca4bc;
	stroke: #163a5f;
	stroke-width: 2;
}

.pw-state-guides-hub__map-state:focus {
	outline: none;
}

.pw-state-guides-hub__map-label {
	pointer-events: none;
	fill: #202124;
	font: 700 12px/1 Montserrat, Arial, sans-serif;
}

.pw-state-guides-hub__map-label-leader {
	pointer-events: none;
	stroke: #5f6368;
	stroke-width: 1;
	vector-effect: non-scaling-stroke;
}

.pw-state-guides-hub__map-state--available .pw-state-guides-hub__map-label {
	fill: #fff;
}

.pw-state-guides-hub__map-status {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin-top: 18px;
	padding: 16px 18px;
	border-left: 4px solid var(--wp--preset--color--propwise-green);
	background: #fff;
	color: #202124;
}

.pw-state-guides-hub__map-status strong {
	font-family: Montserrat, Arial, sans-serif;
}

.pw-state-guides-hub__map-status a {
	margin-left: auto;
	font-weight: 700;
}

.pw-state-guides-hub__map-select-wrap {
	max-width: 360px;
	margin-top: 20px;
}

.pw-state-guides-hub__map-select-wrap label {
	display: block;
	margin-bottom: 8px;
	font-family: Montserrat, Arial, sans-serif;
	font-weight: 700;
}

.pw-state-guides-hub__map-select-wrap select {
	width: 100%;
	min-height: 44px;
	padding: 8px 12px;
	border: 1px solid #9aa0a6;
	border-radius: 6px;
	background: #fff;
	color: #202124;
}

.pw-state-guide__checklist {
	padding-left: 22px;
}

.pw-state-guide__checklist li {
	margin-bottom: 12px;
}

.pw-state-guide__workflow {
	padding: 44px 40px;
	border: 1px solid #dfe3e8;
	border-radius: 12px;
	background: #f5f5f5;
}

.pw-state-guide__workflow-diagram {
	width: min(100%, 680px);
	margin: 32px auto 40px;
}

.pw-state-guide__workflow-diagram svg {
	display: block;
	width: 100%;
	height: auto;
}

.pw-state-guide__workflow-center {
	fill: var(--wp--preset--color--propwise-dark-gray);
	font: 700 22px/1.2 Montserrat, Arial, sans-serif;
}

.pw-state-guide__workflow-labels {
	font: 600 15px/1.1 Montserrat, Arial, sans-serif;
}

.pw-state-guide__workflow-label-number {
	font-size: 18px;
	font-weight: 700;
}

.pw-state-guide__workflow-details {
	max-width: 800px;
	margin: 0 auto;
	border-top: 1px solid #dfe3e8;
}

.pw-state-guide__workflow-detail {
	padding: 18px 0;
	border-bottom: 1px solid #dfe3e8;
}

.pw-state-guide__workflow-detail p {
	margin: 0;
}

.pw-state-guide__workflow-detail strong {
	color: var(--wp--preset--color--propwise-blue);
	font-family: Montserrat, Arial, sans-serif;
	font-weight: 700;
}

.pw-state-guide__toc {
	margin-top: 40px;
	padding: 24px;
	border: 1px solid #dfe3e8;
	border-radius: 12px;
	background: #f5f5f5;
}

.pw-state-guide__toc h2 {
	margin-top: 0;
	font-size: 20px;
}

.pw-state-guide__toc ul {
	margin-bottom: 0;
	padding-left: 22px;
}

.pw-state-guide__toc li {
	margin-bottom: 8px;
}

.pw-state-guide__toc li:last-child {
	margin-bottom: 0;
}

.pw-state-guide__faq details {
	margin-bottom: 12px;
	padding: 20px 22px;
	border: 1px solid #dfe3e8;
	border-radius: 12px;
	background: #fff;
}

.pw-state-guide__faq summary {
	cursor: pointer;
	font: 600 16px Montserrat, Arial, sans-serif;
}

.pw-state-guide__review {
	margin-top: 64px;
	padding: 24px;
	border-left: 4px solid var(--wp--preset--color--propwise-green);
	background: #f5f5f5;
}

.pw-state-guide__disclaimer {
	margin-top: 24px;
	padding: 20px 24px;
	border: 1px solid #dfe3e8;
	border-radius: 12px;
	background: #fff;
	color: #5f6368;
	font-size: 14px;
}

.pw-state-guide__cta {
	margin-top: 64px;
	padding: 40px;
	border-radius: 12px;
	background: #163a5f;
	color: #fff;
}

.pw-state-guide__cta h2,
.pw-state-guide__cta p {
	color: #fff;
}

.pw-state-guide__cta p {
	max-width: 760px;
}

.pw-state-guide__cta .wp-block-button__link {
	background: var(--wp--preset--color--propwise-blue);
}

@media (max-width: 781px) {
	.pw-state-guide__hero,
	.pw-state-guides-hub__hero {
		padding: 48px 24px 40px;
	}

	.pw-state-guide__content {
		padding-top: 48px;
		padding-bottom: 64px;
	}

	.pw-state-guide__section {
		margin-top: 48px;
	}

	.pw-state-guide__section + .pw-state-guide__section:not(.pw-state-guide__section--soft):not(.pw-state-guide__workflow) {
		padding-top: 48px;
	}

	.pw-state-guide__section--soft,
	.pw-state-guide__workflow,
	.pw-state-guide__cta,
	.pw-state-guide__toc {
		padding: 28px 24px;
	}

	.pw-state-guide__workflow-diagram {
		margin-top: 24px;
		margin-bottom: 32px;
	}

	.pw-state-guide__card-grid {
		grid-template-columns: 1fr;
	}

	.pw-state-guides-hub__map {
		padding: 20px;
	}

	.pw-state-guides-hub__map-svg {
		min-height: 250px;
	}

	.pw-state-guides-hub__map-status a {
		margin-left: 0;
	}

}

/* State Guide production width override */
.pw-state-guide,
.pw-state-guides-hub {
  --wp--style--global--content-size: 1040px;
  --wp--style--global--wide-size: 1200px;
  width: calc(100% - 40px) !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
