/**
 * Desktop-first responsive overrides — Bootstrap 5 max-width breakpoints
 */

/* Extra large devices (less than 1200px) */
@media (max-width: 1199.98px) {
	.isi-home-hero__title,
	.isi-text-hero {
		font-size: 52px;
	}
	.isi-footer__cols {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* Large devices (less than 992px) */
@media (max-width: 991.98px) {
	.isi-grid--4,
	.isi-home-covers__grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.isi-grid--5,
	.isi-footer__cols {
		grid-template-columns: repeat(2, 1fr);
	}
	.isi-layout-form,
	.isi-layout-quote {
		grid-template-columns: 1fr;
	}
	main.isi-quick-quote .isi-layout-quote .isi-sidebar-sticky {
		grid-column: 1;
		grid-row: auto;
	}
	.isi-layout-doc {
		grid-template-columns: 1fr;
		row-gap: var(--isi-space-8);
	}
	.isi-policy-nav,
	.isi-sidebar-sticky {
		position: static;
	}
	.isi-policy-summary__row,
	.isi-policy-contact,
	.isi-policy-party-grid {
		grid-template-columns: 1fr;
	}
	.isi-home-hero__title {
		font-size: 44px;
	}
	.isi-home-covers__title,
	.isi-home-band__title,
	.isi-text-h2 {
		font-size: 32px;
	}
	.isi-home-panels__grid {
		grid-template-columns: 1fr;
	}
}

/* Medium devices (less than 768px) — nav hamburger */
@media (max-width: 767.98px) {
	.isi-header__toggle {
		display: inline-flex;
		margin-left: auto;
	}
	.isi-header--self-service .isi-header__toggle {
		order: 2;
	}
	.isi-header--self-service .isi-header__sidebar-toggle {
		order: 0;
	}
	.isi-header--self-service .isi-header__brand {
		order: 1;
	}
	.isi-header--self-service .isi-header__account {
		order: 3;
	}
	.isi-header--self-service .isi-header__nav {
		order: 4;
	}
	.isi-header__sidebar-toggle span {
		display: none;
	}
	.isi-header__nav {
		display: none;
		position: absolute;
		top: 56px;
		left: 0;
		right: 0;
		background: #fff;
		border-bottom: 1px solid #f2f2f2;
		padding: 16px 24px 24px;
		margin: 0;
		flex-direction: column;
		align-items: stretch;
	}
	.isi-header.is-nav-open .isi-header__nav {
		display: flex;
	}
	.isi-header__nav .isi-header__menu,
	.isi-header__nav ul {
		flex-direction: column;
		align-items: flex-start;
		column-gap: 0;
		row-gap: 16px;
		overflow: visible;
		text-align: left;
	}
	.isi-header__menu a {
		font-size: 15px;
	}
	.isi-promo {
		height: auto;
		min-height: 44px;
		flex-wrap: wrap;
		padding: 10px 16px;
		text-align: center;
	}
	.isi-grid--2,
	.isi-grid--4,
	.isi-grid--5,
	.isi-home-covers__grid,
	.isi-home-panels__grid,
	.isi-footer__cols,
	.isi-contact-grid {
		grid-template-columns: 1fr;
	}
	.isi-home-hero,
	.isi-home-covers,
	.isi-home-panels,
	.isi-home-band,
	.isi-footer {
		padding-left: 20px;
		padding-right: 20px;
	}
	.isi-header__bar {
		padding: 0 20px;
	}
	.isi-home-hero__title {
		font-size: 36px;
	}
	.isi-home-hero__lead {
		font-size: 20px;
	}
	.isi-home-covers__head {
		flex-direction: column;
		align-items: flex-start;
	}
	.isi-home-hero__actions,
	.isi-home-band__actions {
		flex-direction: column;
	}
	.isi-home-hero__actions .isi-btn,
	.isi-home-band__actions .isi-btn {
		width: 100%;
	}

	/**
	 * Quick Quote — match CO Quick-Quote-Mobile.html
	 */
	main.isi-quick-quote .isi-form-hero {
		padding: 28px 20px 0;
	}
	main.isi-quick-quote .isi-form-hero__title {
		font-size: 30px;
		line-height: 1.2;
		letter-spacing: -0.02em;
	}
	main.isi-quick-quote .isi-form-shell {
		padding: 24px 20px 32px;
	}
	main.isi-quick-quote .isi-layout-quote {
		gap: 28px;
	}
	main.isi-quick-quote .isi-quote-section__title,
	main.isi-quick-quote .istore-quote-card__title {
		font-size: 20px;
	}
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_body .gform_fields {
		grid-template-columns: 1fr;
		column-gap: 0;
		row-gap: 20px;
	}
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_60,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_56,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_57,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_55,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_62,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_64,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_67,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_68,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_39,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_40 {
		grid-column: 1 / -1;
	}
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .your-name .ginput_complex {
		grid-template-columns: 1fr;
	}
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_body {
		padding-bottom: 88px;
	}
	/* Inputs / selects — full bleed, 48px tall */
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_body .gfield input[type="text"],
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_body .gfield input[type="email"],
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_body .gfield input[type="tel"],
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_body .gfield input[type="number"],
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_body .gfield input[type="date"],
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_body .gfield select,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .ginput_container_select .chosen-container-single .chosen-single {
		width: 100% !important;
		max-width: 100% !important;
		height: 48px !important;
	}
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_45 .ginput_container,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_45 .ginput_container_date {
		width: 100%;
		max-width: 100%;
	}
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_body .gfield,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_body .gfield.gfield--width-full,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_45 {
		width: 100% !important;
		max-width: 100% !important;
	}
	/* Purchase / apply-channel choices → stacked full-width cards (12px radius) */
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_48 .gfield_radio,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_76 .gfield_radio,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_44 .gfield_radio {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: 12px;
		width: 100%;
	}
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_76 .gfield_radio {
		gap: 8px;
	}
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_48 .gfield_radio .gchoice,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_76 .gfield_radio .gchoice,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_44 .gfield_radio .gchoice,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_48 .gfield_radio li,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_76 .gfield_radio li,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_44 .gfield_radio li {
		display: flex;
		align-items: center;
		gap: 12px;
		width: 100%;
		max-width: 100%;
	}
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_48 .isi-radio-pill,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_76 .isi-radio-pill,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_44 .isi-radio-pill {
		flex: 1 1 auto;
		width: auto;
		min-width: 0;
		max-width: none;
		height: 48px;
		padding: 0 18px;
		border-radius: 12px;
		font-size: 16px;
	}
	/* Device type stays wrap pills */
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .device-type .gfield_radio,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_49 .gfield_radio {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 8px;
	}
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .device-type .gfield_radio .gchoice,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_49 .gfield_radio .gchoice,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .device-type .gfield_radio li,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_49 .gfield_radio li {
		width: auto;
		max-width: none;
	}
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .device-type .isi-radio-pill,
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_5_49 .isi-radio-pill {
		flex: 0 0 auto;
		width: max-content;
		height: 44px;
		border-radius: 999px;
		font-size: 15px;
		padding: 0 16px;
	}
	/* Sticky Get quotation bar (CO mobile) */
	main.isi-quick-quote .isi-quote-footer {
		position: sticky;
		bottom: 0;
		z-index: 20;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
		width: 100%;
		margin: 0;
		padding: 12px 0 16px;
		border-top: 0;
		background: rgba( 255, 255, 255, 0.9 );
		backdrop-filter: blur( 8px );
		-webkit-backdrop-filter: blur( 8px );
	}
	main.isi-quick-quote .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_footer .isi-quote-footer {
		padding: 12px 0 16px;
		border-top: 0;
		margin-top: 0;
	}
	main.isi-quick-quote .isi-quote-footer .core-get-quotation {
		width: 100%;
		height: 48px;
		font-size: 16px;
	}
	main.isi-quick-quote .isi-quote-footer__policy-link {
		width: 100%;
		text-align: center;
	}
	main.isi-quick-quote .isi-sidebar-card {
		padding: 20px;
	}

	/* Compact legal footer — stack copy above partner logos */
	.isi-footer--compact {
		padding: 32px 20px 28px;
	}
	.isi-footer__compact-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
	}
	.isi-footer--compact .isi-footer__legal-copy {
		max-width: none;
		width: 100%;
	}
	.isi-footer__compact-logos {
		margin-left: 0;
		gap: 20px;
	}
	.isi-footer--compact .isi-footer__meta {
		flex-wrap: wrap;
		gap: 12px 20px;
		margin-top: 16px;
	}

	/* Apply form 4 */
	main.isi-apply .isi-form-hero {
		padding: 40px 20px 20px;
	}
	main.isi-apply .isi-form-hero__title {
		font-size: 30px;
	}
	main.isi-apply .isi-form-shell {
		padding: 0 20px;
	}
	main.isi-apply .isi-layout-form {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	main.isi-apply .isi-layout-form .gf_progressbar_wrapper {
		grid-column: 1;
		top: var(--header-h, 56px);
		margin-left: -20px;
		margin-right: -20px;
		padding-left: 20px;
		padding-right: 20px;
	}
	main.isi-apply .isi-layout-form .gform_body,
	main.isi-apply .isi-layout-form .gform_page_footer,
	main.isi-apply .isi-layout-form .gform_footer,
	main.isi-apply .isi-layout-form .gform_confirmation_wrapper,
	main.isi-apply .isi-layout-form #gform_confirmation_wrapper_4,
	main.isi-apply .isi-layout-form .isi-sidebar-sticky {
		grid-column: 1;
		grid-row: auto;
	}
	main.isi-apply .isi-confirm {
		max-width: none;
		text-align: left;
	}
	main.isi-apply .isi-confirm__title {
		font-size: 28px;
	}
	main.isi-apply .isi-confirm-refs,
	main.isi-claims-tracking .isi-confirm-refs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	main.isi-apply .isi-layout-form .isi-sidebar-sticky {
		position: static;
		top: auto;
		order: 99;
	}
	main.isi-apply .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_body .gform_fields {
		grid-template-columns: 1fr;
	}
	main.isi-apply .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_body .gform_fields > .gfield.isi-gf-col-2,
	main.isi-apply .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_body .gform_fields > .gfield.isi-gf-col-date,
	main.isi-apply .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_body #field_4_45 {
		grid-column: 1 / -1;
		max-width: none;
	}
	main.isi-apply .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .your-name .ginput_complex {
		grid-template-columns: 1fr;
	}
	main.isi-apply .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .ginput_container_address {
		grid-template-columns: 1fr;
	}
	main.isi-apply .isi-apply-page-title {
		font-size: 22px;
	}
	main.isi-apply .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_4_48 .gfield_radio,
	main.isi-apply .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_4_76 .gfield_radio {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: 12px;
		width: 100%;
	}
	main.isi-apply .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_4_48 .gfield_radio .gchoice,
	main.isi-apply .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_4_76 .gfield_radio .gchoice,
	main.isi-apply .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_4_48 .gfield_radio li,
	main.isi-apply .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_4_76 .gfield_radio li {
		display: flex;
		align-items: center;
		gap: 12px;
		width: 100%;
		max-width: 100%;
	}
	main.isi-apply .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_4_48 .isi-radio-pill,
	main.isi-apply .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) #field_4_76 .isi-radio-pill {
		flex: 1 1 auto;
		width: auto;
		min-width: 0;
		max-width: none;
		height: 48px;
		padding: 0 18px;
		border-radius: 12px;
		font-size: 16px;
	}
	main.isi-apply .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_next_button,
	main.isi-apply .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_button,
	main.isi-apply .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) input[type="submit"] {
		width: 100%;
		height: 48px;
	}

	/* Claims form 7 */
	main.isi-claims .isi-form-hero {
		padding: 40px 20px 20px;
	}
	main.isi-claims .isi-form-hero__title {
		font-size: 30px;
	}
	main.isi-claims .isi-form-shell {
		padding: 0 20px;
	}
	main.isi-claims .isi-layout-form {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	main.isi-claims .isi-layout-form .gf_progressbar_wrapper {
		grid-column: 1;
		top: var(--header-h, 56px);
		margin-left: -20px;
		margin-right: -20px;
		padding-left: 20px;
		padding-right: 20px;
	}
	main.isi-claims .isi-layout-form .gform_body,
	main.isi-claims .isi-layout-form .gform_page_footer,
	main.isi-claims .isi-layout-form .gform_footer,
	main.isi-claims .isi-layout-form .isi-sidebar-sticky {
		grid-column: 1;
		grid-row: auto;
	}
	main.isi-claims .isi-layout-form .isi-sidebar-sticky {
		position: static;
		top: auto;
		order: 99;
	}
	main.isi-claims .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_body .gform_fields {
		grid-template-columns: 1fr;
	}
	main.isi-claims .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_body .gform_fields > .gfield.isi-gf-col-2,
	main.isi-claims .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_body .gform_fields > .gfield.isi-gf-col-date,
	main.isi-claims .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_body #field_7_13 {
		grid-column: 1 / -1;
		max-width: none;
	}
	main.isi-claims .claim-type-options {
		grid-template-columns: 1fr;
	}
	main.isi-claims .isi-claims-page-title {
		font-size: 22px;
	}
	main.isi-claims .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_next_button,
	main.isi-claims .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_button,
	main.isi-claims .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) input[type="submit"] {
		width: 100%;
		height: 48px;
	}

	/* Claims tracking */
	main.isi-claims-tracking .isi-form-hero {
		padding: 40px 20px 20px;
	}
	main.isi-claims-tracking .isi-form-hero__title {
		font-size: 30px;
	}
	main.isi-claims-tracking .isi-form-shell {
		padding: 0 20px 40px;
	}
	main.isi-claims-tracking .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_body .gfield {
		max-width: none;
	}
	main.isi-claims-tracking .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_button,
	main.isi-claims-tracking .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) input[type="submit"] {
		width: 100%;
		height: 48px;
	}
}

/* Small devices (less than 576px) */
@media (max-width: 575.98px) {
	.isi-home-hero__title {
		font-size: 32px;
	}
	.isi-cover-panel {
		padding: 28px;
		border-radius: 18px;
	}
	.isi-gf .gform_page_footer,
	.isi-gf .gform_footer {
		flex-wrap: wrap;
	}
	.isi-gf .gform_button,
	.isi-gf .gform_next_button,
	.isi-gf .gform_previous_button,
	.isi-gf input[type="submit"] {
		width: 100%;
	}
	main.isi-apply .isi-gf .gform_wrapper:is(.gravity-theme, .gform_legacy_markup_wrapper) .gform_body .isi-debit-authority__premium {
		flex-wrap: wrap;
	}
}
