/* Styles for the sections appended below the original 2016 homepage body.
   Only targets new classes (ext_*, search-*, zip-message) - never edits or
   overrides qts.css. Matches qts.css: same 900px canvas, Trebuchet MS body
   font, #333 text, #1C3E66 accent, #F5F9FC panel background. */

.ext_container {
	background-color: #FFF;
	width: 900px;
	margin: 0 auto;
	padding: 0 0 20px 0;
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size: 13px;
	line-height: 140%;
	color: #333;
	border-top: 1px solid #E6E6E6;
}

.ext_section {
	padding: 10px 10px 0 10px;
}

.ext_container h2.page_title {
	margin-bottom: 6px;
}

.ext_container p {
	margin: 0 0 10px 0;
}

/* ZIP box inline result message (sits over the dark qtbox_bckgnd panel) */
.zip-message {
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size: 13px;
	color: #FFF;
	margin: 6px 0 0 0;
	min-height: 1em;
}

/* City search combobox (reuses site/assets/home.js + search-match.js) */
.search-form {
	position: relative;
	max-width: 420px;
}
.search-label {
	display: block;
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size: 13px;
	color: #333;
	margin-bottom: 4px;
}
.search-combo-wrap {
	position: relative;
}
.search-input {
	width: 260px;
	height: 28px;
	font-family: Tahoma, Geneva, sans-serif;
	font-size: 14px;
	color: #373737;
	border: 1px solid #999;
	padding: 0 6px;
}
.search-listbox {
	list-style: none;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 30px;
	left: 0;
	width: 296px;
	background: #FFF;
	border: 1px solid #999;
	max-height: 220px;
	overflow-y: auto;
	z-index: 5;
}
.search-listbox[hidden] {
	display: none;
}
.search-listbox li {
	padding: 4px 6px;
	font-size: 13px;
	cursor: pointer;
}
.search-listbox li[aria-selected="true"] {
	background-color: #F5F9FC;
}
.search-submit {
	margin-top: 8px;
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size: 13px;
	background-color: #1C3E66;
	color: #FFF;
	border: 0;
	padding: 6px 14px;
	cursor: pointer;
}
.search-status {
	font-size: 12px;
	color: #666;
	margin-top: 6px;
}

/* Home Insurance by State list */
.ext_state_grid {
	list-style: none;
	margin: 0;
	padding: 0;
	column-count: 4;
	column-gap: 20px;
}
.ext_state_grid li {
	break-inside: avoid;
	padding: 3px 0;
	font-size: 13px;
}
.ext_state_grid a {
	color: #1C3E66;
	text-decoration: none;
}
.ext_state_grid a:hover {
	text-decoration: underline;
}
.ext_state_premium {
	color: #666;
	font-size: 12px;
}

/* How it works */
.ext_steps {
	margin: 0 0 10px 20px;
	padding: 0;
}
.ext_steps li {
	margin-bottom: 6px;
}

/* FAQ */
.ext_faq dt {
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
	font-weight: bold;
	color: #333;
	margin-top: 10px;
}
.ext_faq dd {
	margin: 4px 0 0 0;
}

@media (max-width: 900px) {
	.ext_container, .ext_state_grid { width: 100%; }
	.ext_state_grid { column-count: 2; }
	.search-input { width: 70%; max-width: 220px; }
	.search-listbox { width: calc(70% + 40px); max-width: 260px; }
}

@media (max-width: 480px) {
	.ext_state_grid { column-count: 1; }
}
