/* Owlsora Elements — Emergency & Plan Cards widget */

.fpp {
	--fpp-bg: #EEF5FC;
	--fpp-max: 1200px;
	--fpp-pad-top: 150px;
	--fpp-pad-bottom: 104px;
	--fpp-pad-x: 16px;
	--fpp-gap: 30px;
	--fpp-navy: #0B1A3D;
	--fpp-red: #0B6BF0;
	--fpp-red-edge: #0845B0;
	--fpp-white: #FFFFFF;
	--fpp-text: #56658A;
	--fpp-red-text: #DCEBFF;
	--fpp-tick: #2D8CFF;
	--fpp-radius: 28px;

	position: relative;
	background-color: var(--fpp-bg);
	color: #060F24;
	font-family: "Figtree", "Avenir Next", "Segoe UI", system-ui, sans-serif;
	font-size: 17px;
	line-height: 1.6;
}
.fpp *,
.fpp *::before,
.fpp *::after { box-sizing: border-box; }
.fpp--texture {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cg fill='%230b1a3d' fill-opacity='.06'%3E%3Ccircle cx='12' cy='20' r='1.4'/%3E%3Ccircle cx='70' cy='44' r='1'/%3E%3Ccircle cx='130' cy='12' r='1.2'/%3E%3Ccircle cx='40' cy='96' r='1.4'/%3E%3Ccircle cx='110' cy='80' r='1'/%3E%3Ccircle cx='150' cy='130' r='1.3'/%3E%3Ccircle cx='86' cy='140' r='1.1'/%3E%3C/g%3E%3C/svg%3E");
}
.fpp.owe-stretch { width: 100vw; max-width: none; margin-left: calc(50% - 50vw); }

.fpp__inner {
	max-width: var(--fpp-max);
	margin: 0 auto;
	padding-top: var(--fpp-pad-top);
	padding-bottom: var(--fpp-pad-bottom);
	padding-left: max(var(--fpp-pad-x), env(safe-area-inset-left, 0px));
	padding-right: max(var(--fpp-pad-x), env(safe-area-inset-right, 0px));
}
.fpp__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--fpp-gap); }
@media (max-width: 900px) { .fpp__grid { grid-template-columns: minmax(0, 1fr); } }

.fpp__card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 40px;
	border: 3px solid var(--fpp-navy);
	border-radius: var(--fpp-radius);
	background: var(--fpp-white);
	box-shadow: 0 16px 36px rgba(11, 26, 61, .12);
}
.fpp__card--red { background: var(--fpp-red); color: #FFFFFF; box-shadow: 8px 8px 0 var(--fpp-navy); }
.fpp__card--navy { background: var(--fpp-navy); color: #FFFFFF; box-shadow: 8px 8px 0 var(--fpp-red); }

.fpp__icon {
	width: 76px;
	height: 76px;
	margin-bottom: 22px;
	display: grid;
	place-items: center;
	background: #FFFFFF;
	border: 3px solid var(--fpp-navy);
	border-radius: 20px;
	color: var(--fpp-navy);
	font-size: 40px;
}
.fpp__icon svg { width: 46px; height: 46px; }
.fpp__icon i { line-height: 1; }

.fpp .fpp__title {
	margin: 0;
	padding: 0;
	color: var(--fpp-navy);
	font-family: "Anton", Impact, "Arial Narrow Bold", sans-serif;
	font-size: clamp(34px, 3.6vw, 48px);
	font-weight: 400;
	line-height: .98;
	text-transform: uppercase;
	text-wrap: balance;
}
.fpp .fpp__card--red .fpp__title,
.fpp .fpp__card--navy .fpp__title { color: #FFFFFF; }
.fpp .fpp__text { margin: 16px 0 0; color: var(--fpp-text); font-size: 18px; line-height: 1.7; }
.fpp .fpp__card--red .fpp__text { color: var(--fpp-red-text); }
.fpp .fpp__card--navy .fpp__text { color: #CDD9EA; }

.fpp .fpp__list { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 10px; }
.fpp .fpp__list li { margin: 0; display: flex; align-items: center; gap: 10px; font-weight: 700; line-height: 1.6; }
.fpp__list svg { width: 20px; height: 20px; flex: none; color: var(--fpp-tick); }
.fpp__card--red .fpp__list svg,
.fpp__card--navy .fpp__list svg { color: #FFFFFF; }

.fpp .fpp__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	align-self: flex-start;
	margin-top: auto;
	padding: 16px 28px;
	border: 2px solid transparent;
	border-radius: 10px;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.6;
	text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease;
}
.fpp__list + .fpp__btn,
.fpp__text + .fpp__btn { margin-top: 28px; }
.fpp__btn svg { width: 20px; height: 20px; flex: none; transition: transform .15s ease; }
.fpp .fpp__btn--red { background: var(--fpp-red); color: #FFFFFF; box-shadow: 0 4px 0 var(--fpp-red-edge); }
.fpp .fpp__btn--white { background: #FFFFFF; color: var(--fpp-navy); border-color: var(--fpp-navy); box-shadow: 0 4px 0 var(--fpp-navy); }
.fpp .fpp__btn--red:hover { color: #FFFFFF; transform: translateY(-2px); box-shadow: 0 6px 0 var(--fpp-red-edge); }
.fpp .fpp__btn--white:hover { color: var(--fpp-navy); transform: translateY(-2px); box-shadow: 0 6px 0 var(--fpp-navy); }
.fpp .fpp__btn:hover svg:last-child:not(:first-child) { transform: translateX(4px); }
.fpp .fpp__btn:focus-visible { outline: 3px solid #2D8CFF; outline-offset: 3px; }

@media (max-width: 900px) {
	.fpp__card { padding: 30px; }
}
@media (max-width: 420px) {
	.fpp .fpp__btn { align-self: stretch; padding-left: 18px; padding-right: 18px; }
}
@media (prefers-reduced-motion: reduce) {
	.fpp * { transition: none !important; }
}

/* Full width: drop the padding of a container that only holds this widget */
.e-con:has(> .elementor-widget-ow-plan:only-child .owe-stretch),
.e-con:has(> .e-con-inner > .elementor-widget-ow-plan:only-child .owe-stretch) {
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--margin-top: 0px;
	--margin-bottom: 0px;
	padding: 0;
}
.elementor-widget-wrap:has(> .elementor-widget-ow-plan:only-child .owe-stretch) { padding: 0 !important; }
.elementor-section:has(.elementor-widget-wrap > .elementor-widget-ow-plan:only-child .owe-stretch) { padding-top: 0; padding-bottom: 0; }
.elementor-widget-ow-plan:has(.owe-stretch) { margin-top: 0; margin-bottom: 0; --kit-widget-spacing: 0px; }
