/* Owlsora Elements — Why Choose Us widget (reasons + price card) */

.spw {
	--spw-bg: #F7FAFD;
	--spw-max: 1200px;
	--spw-copy: 57%;
	--spw-pad-y: 104px;
	--spw-pad-x: 16px;
	--spw-gap: 56px;
	--spw-item-gap: 30px;
	--spw-eyebrow: #0B6BF0;
	--spw-title: #0B1A3D;
	--spw-intro: #060F24;
	--spw-tick-bg: #2D8CFF;
	--spw-tick-color: #FFFFFF;
	--spw-tick-shadow: #0B1A3D;
	--spw-item-title: #060F24;
	--spw-item-text: #2A3A66;
	--spw-card-bg: #0B1A3D;
	--spw-card-shadow: #0B6BF0;
	--spw-card-tag: #FFFFFF;
	--spw-card-em: #5CC2FF;
	--spw-card-text: #CDD9EA;
	--spw-card-lic: #9FB4D0;
	--spw-btn-bg: #0B6BF0;
	--spw-btn-color: #FFFFFF;
	--spw-btn-edge: #0845B0;
	--spw-logo-w: 200px;
	--spw-bubble-bg: #FFFFFF;
	--spw-bubble-color: #0B6BF0;
	--spw-bubble-border: #0B1A3D;
	--spw-bubble-shadow: #2D8CFF;

	position: relative;
	background-color: var(--spw-bg);
	color: var(--spw-intro);
	font-family: "Figtree", "Avenir Next", "Segoe UI", system-ui, sans-serif;
}
.spw *,
.spw *::before,
.spw *::after { box-sizing: border-box; }
.spw--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");
}
.spw.owe-stretch { width: 100vw; max-width: none; margin-left: calc(50% - 50vw); }

.spw__inner {
	max-width: var(--spw-max);
	margin: 0 auto;
	padding-top: var(--spw-pad-y);
	padding-bottom: var(--spw-pad-y);
	padding-left: max(var(--spw-pad-x), env(safe-area-inset-left, 0px));
	padding-right: max(var(--spw-pad-x), env(safe-area-inset-right, 0px));
	display: grid;
	grid-template-columns: minmax(0, var(--spw-copy)) minmax(0, 1fr);
	gap: var(--spw-gap);
	align-items: center;
}
.spw--card-left .spw__inner { grid-template-columns: minmax(0, 1fr) minmax(0, var(--spw-copy)); }
.spw--card-left .spw__card { order: -1; }
.spw--no-card .spw__inner { grid-template-columns: minmax(0, 1fr); }
.spw__copy { min-width: 0; }

/* text */
.spw__eyebrow { display: block; margin-bottom: 14px; color: var(--spw-eyebrow); font-size: 15px; font-weight: 800; letter-spacing: .01em; }
.spw .spw__title {
	margin: 0;
	padding: 0;
	color: var(--spw-title);
	font-family: "Anton", Impact, "Arial Narrow Bold", sans-serif;
	font-size: clamp(46px, 6vw, 84px);
	font-weight: 400;
	line-height: .98;
	letter-spacing: .005em;
	text-transform: uppercase;
	text-wrap: balance;
}
.spw .spw__intro { margin: 26px 0 0; max-width: 36em; color: var(--spw-intro); font-size: 20px; line-height: 1.7; }

/* reasons */
.spw .spw__list { list-style: none; margin: 44px 0 0; padding: 0; display: grid; gap: var(--spw-item-gap); }
.spw .spw__item { margin: 0; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 18px; align-items: start; }
.spw__tick {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--spw-tick-bg);
	color: var(--spw-tick-color);
	box-shadow: 3px 3px 0 var(--spw-tick-shadow);
	display: grid;
	place-items: center;
	font-size: 18px;
}
.spw__tick svg { width: 22px; height: 22px; }
.spw__tick i { line-height: 1; }
.spw .spw__item-title { margin: 0; padding: 0; color: var(--spw-item-title); font-family: inherit; font-size: 22px; font-weight: 800; line-height: 1.2; text-transform: none; }
.spw .spw__item-text { margin: 8px 0 0; max-width: 40em; color: var(--spw-item-text); font-size: 17px; line-height: 1.6; }

/* price card */
.spw__card {
	position: relative;
	min-width: 0;
	padding: 40px 36px;
	border-radius: 30px;
	background: var(--spw-card-bg);
	color: var(--spw-card-text);
	box-shadow: 10px 10px 0 var(--spw-card-shadow);
	text-align: center;
}
.spw__logo { display: block; width: min(var(--spw-logo-w), 100%); height: auto; margin: -6px auto 18px; filter: drop-shadow(0 6px 0 rgba(0, 0, 0, .2)); }
.spw__tag { color: var(--spw-card-tag); font-family: "Kaushan Script", "Brush Script MT", cursive; font-size: clamp(34px, 4vw, 46px); line-height: 1.05; }
.spw__tag em { font-style: normal; color: var(--spw-card-em); }
.spw .spw__card-text { margin: 16px 0 0; color: var(--spw-card-text); font-size: 17px; line-height: 1.6; }
.spw .spw__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	margin-top: 26px;
	padding: 16px 28px;
	border-radius: 10px;
	background: var(--spw-btn-bg);
	color: var(--spw-btn-color);
	box-shadow: 0 4px 0 var(--spw-btn-edge);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.6;
	text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease;
}
.spw .spw__btn:hover,
.spw .spw__btn:focus-visible { color: var(--spw-btn-color); transform: translateY(-2px); box-shadow: 0 6px 0 var(--spw-btn-edge); }
.spw .spw__btn:focus-visible { outline: 3px solid #2D8CFF; outline-offset: 3px; }
.spw__btn-icon { display: inline-flex; font-size: 20px; }
.spw__btn-icon svg { width: 20px; height: 20px; fill: currentColor; }
.spw__lic { margin-top: 18px; color: var(--spw-card-lic); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.spw__bubble {
	position: absolute;
	top: -24px;
	right: -10px;
	z-index: 1;
	padding: 10px 16px;
	background: var(--spw-bubble-bg);
	color: var(--spw-bubble-color);
	border: 3px solid var(--spw-bubble-border);
	border-radius: 18px;
	box-shadow: 4px 4px 0 var(--spw-bubble-shadow);
	font-family: "Kaushan Script", "Brush Script MT", cursive;
	font-size: 20px;
	line-height: 1.2;
	transform: rotate(5deg);
}

@media (max-width: 900px) {
	.spw__inner,
	.spw--card-left .spw__inner { grid-template-columns: minmax(0, 1fr); }
	.spw--card-left .spw__card { order: 0; }
	.spw__bubble { right: 6px; }
}
@media (max-width: 520px) {
	.spw__card { padding: 36px 24px; box-shadow: 8px 8px 0 var(--spw-card-shadow); }
	.spw .spw__item { grid-template-columns: 40px minmax(0, 1fr); gap: 14px; }
}
@media (prefers-reduced-motion: reduce) {
	.spw * { transition: none !important; }
}

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