/*
 * LTE Wireless - site-wide UI layer (loaded after Elementor and the theme).
 * Same brand colours as the Elementor kit: dark green #3B664A, green #549670,
 * light green #E9F3ED, orange #F15D2E. Goal: one font system, one button style,
 * consistent cards/forms, readable text, better mobile layout.
 * !important is used only where Elementor writes per-widget styles with higher specificity.
 */
:root {
	--ltw-green-900: #2b4c37;
	--ltw-green-700: #3b664a;
	--ltw-green-500: #549670;
	--ltw-green-100: #dcebe2;
	--ltw-green-50: #f1f7f3;
	--ltw-orange: #f15d2e;
	--ltw-orange-600: #d94a1d;
	--ltw-ink: #1d2a22;
	--ltw-text: #3a4540;
	--ltw-muted: #66716b;
	--ltw-line: #dbe5df;
	--ltw-radius: 12px;
	--ltw-radius-lg: 16px;
	--ltw-shadow: 0 1px 2px rgba(20, 40, 28, .06), 0 6px 20px rgba(20, 40, 28, .07);
	--ltw-shadow-hover: 0 2px 4px rgba(20, 40, 28, .08), 0 12px 28px rgba(20, 40, 28, .12);
	--ltw-font: "Roboto", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	--ltw-font-head: "Roboto Slab", Georgia, serif;
}

/* ---------- 1. Typography ---------- */
html body {
	font-family: var(--ltw-font) !important;
	color: var(--ltw-text);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
html body p,
html body li,
html body td,
html body th,
html body label,
html body input,
html body select,
html body textarea,
html body button,
html body .elementor-widget-text-editor,
html body .elementor-icon-list-text {
	font-family: var(--ltw-font) !important;
}
html body .elementor-widget-text-editor,
html body .elementor-widget-text-editor p,
html body .elementor-widget-text-editor li {
	font-size: 16px !important;
	line-height: 1.65 !important;
	color: var(--ltw-text);
}
html body .elementor-widget-text-editor p {
	margin-bottom: .85em;
}
html body .elementor-widget-heading .elementor-heading-title,
html body .page-content h1,
html body .page-content h2,
html body .page-content h3,
html body .woocommerce h1,
html body .woocommerce h2,
html body .woocommerce h3,
html body .product_title,
html body .elementor-widget-text-editor h1,
html body .elementor-widget-text-editor h2,
html body .elementor-widget-text-editor h3,
html body .elementor-widget-text-editor h4 {
	font-family: var(--ltw-font-head) !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.01em;
}
html body a {
	text-underline-offset: 3px;
}
html body .elementor-widget-text-editor a,
html body .page-content p a {
	color: var(--ltw-green-700);
	font-weight: 500;
	text-decoration: underline;
	text-decoration-color: rgba(59, 102, 74, .35);
}
html body .elementor-widget-text-editor a:hover,
html body .page-content p a:hover {
	color: var(--ltw-orange);
	text-decoration-color: currentColor;
}
html body .elementor-widget-text-editor ul,
html body .elementor-widget-text-editor ol {
	padding-left: 1.2em;
}
html body .elementor-widget-text-editor li {
	margin-bottom: .35em;
}

/* ---------- 2. Header ---------- */
.elementor-location-header {
	position: relative;
	z-index: 50;
	background: #fff;
	box-shadow: 0 1px 0 var(--ltw-line), 0 4px 16px rgba(20, 40, 28, .05);
}
.elementor-location-header .elementor-nav-menu .elementor-item {
	font-family: var(--ltw-font) !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	letter-spacing: .01em;
	transition: color .15s ease;
}
.elementor-location-header .elementor-nav-menu .elementor-item:hover,
.elementor-location-header .elementor-nav-menu .elementor-item.elementor-item-active {
	color: var(--ltw-orange) !important;
}
.elementor-location-header .elementor-nav-menu--dropdown {
	border-radius: 0 0 var(--ltw-radius) var(--ltw-radius);
	box-shadow: var(--ltw-shadow);
	overflow: hidden;
}
.elementor-location-header .elementor-nav-menu--dropdown .elementor-sub-item {
	font-family: var(--ltw-font) !important;
	font-size: 15px !important;
	padding-top: 12px !important;
	padding-bottom: 12px !important;
}

/* ---------- 3. Buttons (one primary style) ---------- */
html body .elementor-button,
html body .woocommerce a.button,
html body .woocommerce button.button,
html body .woocommerce input.button,
html body button.single_add_to_cart_button,
html body .wc-block-cart__submit-button,
html body .wc-block-components-checkout-place-order-button,
html body #place_order,
html body .planCard .btn,
html body .qualify-card button,
html body .renewBtn,
html body .btn-renew,
html body .next1-btn,
html body .custom_btn,
html body .st_btn,
html body a.enroll_now,
html body a.primaryBtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--ltw-font) !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	line-height: 1.2 !important;
	letter-spacing: .01em;
	text-transform: none;
	background: var(--ltw-orange) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 10px !important;
	padding: 13px 26px !important;
	min-height: 46px;
	box-shadow: 0 2px 0 rgba(0, 0, 0, .08), 0 6px 16px rgba(241, 93, 46, .22) !important;
	transition: background-color .15s ease, transform .15s ease, box-shadow .15s ease;
	cursor: pointer;
	text-decoration: none !important;
}
html body .elementor-button:hover,
html body .woocommerce a.button:hover,
html body .woocommerce button.button:hover,
html body button.single_add_to_cart_button:hover,
html body .wc-block-cart__submit-button:hover,
html body #place_order:hover,
html body .planCard .btn:hover,
html body .qualify-card button:hover,
html body .renewBtn:hover,
html body .btn-renew:hover,
html body .next1-btn:hover,
html body .custom_btn:hover,
html body a.enroll_now:hover,
html body a.primaryBtn:hover {
	background: var(--ltw-orange-600) !important;
	transform: translateY(-1px);
	box-shadow: 0 2px 0 rgba(0, 0, 0, .08), 0 10px 22px rgba(241, 93, 46, .28) !important;
	opacity: 1;
	filter: none;
}
html body .elementor-button:focus-visible,
html body #place_order:focus-visible,
html body button.single_add_to_cart_button:focus-visible {
	outline: 3px solid rgba(84, 150, 112, .45);
	outline-offset: 2px;
}
html body .elementor-button .elementor-button-text,
html body .elementor-button .elementor-button-content-wrapper {
	color: inherit !important;
	font: inherit !important;
}
html body button:disabled,
html body .button.disabled,
html body button.single_add_to_cart_button.disabled {
	opacity: .55 !important;
	cursor: not-allowed;
	transform: none !important;
}

/* ---------- 4. Forms ---------- */
html body input[type="text"],
html body input[type="email"],
html body input[type="tel"],
html body input[type="number"],
html body input[type="password"],
html body input[type="search"],
html body select,
html body textarea,
html body .woocommerce form .input-text {
	border: 1px solid #cdd8d1 !important;
	border-radius: 10px !important;
	background: #fff;
	color: var(--ltw-ink);
	font-size: 16px !important; /* 16px = no zoom on iPhone */
	min-height: 46px;
	padding: 10px 14px !important;
	transition: border-color .15s ease, box-shadow .15s ease;
	box-shadow: none;
}
html body textarea {
	min-height: 96px;
}
html body input:focus,
html body select:focus,
html body textarea:focus {
	outline: none !important;
	border-color: var(--ltw-green-500) !important;
	box-shadow: 0 0 0 3px rgba(84, 150, 112, .22) !important;
}
html body ::placeholder {
	color: #8b958f;
	opacity: 1;
}
html body .woocommerce form .form-row label,
html body label {
	font-weight: 600;
	color: var(--ltw-ink);
	font-size: 14px;
}

/* ---------- 5. Pick Your Plan (product page) ---------- */
html body .plan-card {
	border-radius: var(--ltw-radius-lg) !important;
	overflow: hidden;
	background: #fff !important;
	border: 1px solid var(--ltw-line) !important;
	box-shadow: var(--ltw-shadow) !important;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
	cursor: pointer;
}
html body .plan-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--ltw-shadow-hover) !important;
	border-color: var(--ltw-green-500) !important;
}
html body .plan-card .plan-header {
	background: var(--ltw-green-700) !important;
}
html body .plan-card .plan-body {
	background: #fff !important;
}
html body .plan-card .plan-feature {
	color: var(--ltw-green-700) !important;
	font-family: var(--ltw-font) !important;
	font-weight: 700 !important;
	letter-spacing: .02em;
}
html body .plan-card .plan-price {
	color: var(--ltw-ink) !important;
}
html body .plan-card .plan-old {
	color: var(--ltw-muted) !important;
}
html body .vi-wpvs-option-wrap.vi-wpvs-option-wrap-selected,
html body .vi-wpvs-variation-wrap .vi-wpvs-option-wrap-selected {
	border-radius: var(--ltw-radius) !important;
}
html body .vi-wpvs-option-wrap {
	border-radius: var(--ltw-radius) !important;
	transition: box-shadow .15s ease;
}
html body .vi-wpvs-option-wrap:hover {
	box-shadow: 0 0 0 3px rgba(84, 150, 112, .25);
}

/* ---------- 6. Apply Now / state pages (custom HTML widgets were blue) ---------- */
html body .apply-wrap,
html body .planCard {
	background: var(--ltw-green-50) !important;
	border: 1px solid var(--ltw-green-100) !important;
	border-radius: var(--ltw-radius-lg) !important;
	box-shadow: var(--ltw-shadow) !important;
}
html body .planCard {
	transition: transform .18s ease, box-shadow .18s ease;
}
html body .planCard:hover {
	transform: translateY(-3px);
	box-shadow: var(--ltw-shadow-hover) !important;
}
html body .planCard .divider {
	background: var(--ltw-green-100) !important;
	border-color: var(--ltw-green-100) !important;
}
html body .planCard .check,
html body .tDot {
	background: var(--ltw-green-700) !important;
	border-color: var(--ltw-green-700) !important;
}
html body .tDot svg {
	stroke: #fff !important;
	color: #fff !important;
}
html body .timeline:before {
	background: var(--ltw-green-100) !important;
}
html body .icon {
	border-color: var(--ltw-green-100) !important;
}
html body .icon svg,
html body .how-step svg {
	stroke: var(--ltw-green-700) !important;
	color: var(--ltw-green-700) !important;
}
html body .how-step .circle {
	border-color: var(--ltw-green-100) !important;
}
html body .qualify-card {
	border: 1px solid var(--ltw-green-100) !important;
	border-radius: var(--ltw-radius-lg) !important;
	box-shadow: var(--ltw-shadow-hover) !important;
}
html body .qualify-card input {
	border-color: #cdd8d1 !important;
}
html body .pill {
	background: #fff !important;
	border: 1px solid var(--ltw-green-100) !important;
	border-radius: var(--ltw-radius) !important;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(20, 40, 28, .05);
}
html body .pillIcon {
	background: var(--ltw-green-700) !important;
}
html body .pillText {
	font-size: 15px !important;
	font-weight: 500 !important;
	color: var(--ltw-ink) !important;
}
html body .programs-left a,
html body .how-para a,
html body .logo-sub {
	color: var(--ltw-green-700) !important;
}
html body .logo-name {
	color: var(--ltw-green-900) !important;
}
html body .logos-grid,
html body .logo-cell {
	border-color: var(--ltw-line) !important;
}
html body .renew {
	background: var(--ltw-green-900) !important;
	border-radius: var(--ltw-radius-lg) !important;
}
html body .planTitle,
html body .qualifyTitle,
html body .h1,
html body .h2 {
	font-family: var(--ltw-font-head) !important;
	color: var(--ltw-ink) !important;
}
html body .bText,
html body .apply-sub,
html body .qualifyDesc,
html body .programs-left p,
html body .how-para {
	font-family: var(--ltw-font) !important;
	color: var(--ltw-text) !important;
	line-height: 1.6 !important;
}
/* WPForms default blue -> brand */
html body .wpforms-container {
	--wpforms-button-background-color: var(--ltw-orange);
	--wpforms-button-border-color: var(--ltw-orange);
}

/* Custom HTML widgets (headings + lead text written directly in Elementor HTML blocks) */
html body .elementor-widget-html h1,
html body .elementor-widget-html h2,
html body .elementor-widget-html h3 {
	font-family: var(--ltw-font-head) !important;
	font-weight: 700 !important;
	color: var(--ltw-ink);
	line-height: 1.2;
	letter-spacing: -0.01em;
}
html body .elementor-widget-html p.lead,
html body .elementor-widget-html .hero p {
	font-size: 16px !important;
	line-height: 1.65 !important;
	color: var(--ltw-text) !important;
}
html body .elementor-widget-html .hero a:not(.primaryBtn) {
	color: var(--ltw-green-700);
	text-decoration: underline;
	text-decoration-color: rgba(59, 102, 74, .35);
}
/* small benefit icons (Apply Now) - filled shapes were still blue */
html body .icon svg [fill]:not([fill="none"]),
html body .icon svg[fill]:not([fill="none"]) {
	fill: var(--ltw-green-700) !important;
}
html body .icon svg [stroke]:not([stroke="none"]) {
	stroke: var(--ltw-green-700) !important;
}
/* header phone numbers */
html body #callUs a,
html body .call-us {
	text-decoration: none !important;
}

/* ---------- 7. Image boxes / icon lists / logos grid ---------- */
html body .elementor-widget-image-box .elementor-image-box-title {
	font-family: var(--ltw-font-head) !important;
	font-weight: 700 !important;
}
html body .elementor-widget-icon-list .elementor-icon-list-item {
	line-height: 1.5;
}

html body .elementor-widget-image-box .elementor-image-box-description {
	line-height: 1.55 !important;
}

/* Lifeline signup step indicator (was lime green) */
html body .gsi-step-indicator li a.active,
html body .gsi-step-indicator li.active a {
	background-color: var(--ltw-green-700) !important;
	color: #fff !important;
}
html body .gsi-step-indicator li a.active::after,
html body .gsi-step-indicator li.active a::after {
	border-left-color: var(--ltw-green-700) !important;
}
html body .gsi-step-indicator li a {
	font-family: var(--ltw-font) !important;
	font-weight: 600;
}

/* ---------- 8. Cart / checkout ---------- */
html body .woocommerce-notices-wrapper .woocommerce-message,
html body .woocommerce-notices-wrapper .woocommerce-info,
html body .woocommerce-notices-wrapper .woocommerce-error,
html body .wc-block-components-notice-banner {
	border-radius: var(--ltw-radius) !important;
	border: 1px solid var(--ltw-line) !important;
	box-shadow: var(--ltw-shadow);
	font-size: 15px;
}
html body .woocommerce-checkout #customer_details,
html body .woocommerce-checkout #order_review,
html body .woocommerce-checkout .woocommerce-checkout-review-order,
html body .wc-block-cart .wc-block-cart__sidebar,
html body .wc-block-cart .wc-block-cart-items {
	border-radius: var(--ltw-radius-lg) !important;
}
html body .woocommerce-checkout-review-order-table {
	border-radius: var(--ltw-radius) !important;
	overflow: hidden;
	border-collapse: separate !important;
	border-spacing: 0;
}
html body .woocommerce-checkout-review-order-table th,
html body .woocommerce-checkout-review-order-table td {
	padding: 12px 14px !important;
}
html body .woocommerce-checkout-review-order-table .order-total th,
html body .woocommerce-checkout-review-order-table .order-total td {
	font-size: 18px;
}
html body .woocommerce-checkout #payment {
	border-radius: var(--ltw-radius-lg) !important;
}
html body #place_order {
	width: 100%;
	font-size: 18px !important;
	min-height: 52px;
}
html body #messageerror {
	margin-top: 10px;
	font-size: 14px;
	line-height: 1.5;
}

/* ---------- 9. Footer ---------- */
.elementor-location-footer {
	border-top: 1px solid var(--ltw-line);
}
.elementor-location-footer .elementor-heading-title {
	font-family: var(--ltw-font) !important;
	font-weight: 700 !important;
	letter-spacing: .02em;
}
.elementor-location-footer a {
	transition: color .15s ease;
}
.elementor-location-footer a:hover {
	color: var(--ltw-orange) !important;
}

/* ---------- 10. Mobile ---------- */
@media (max-width: 767px) {
	html body .elementor-widget-heading h1.elementor-heading-title,
	html body .elementor-widget-heading h2.elementor-heading-title {
		font-size: clamp(24px, 7vw, 32px) !important;
	}
	html body .elementor-widget-heading h3.elementor-heading-title {
		font-size: clamp(20px, 5.5vw, 24px) !important;
	}
	html body .elementor-widget-text-editor,
	html body .elementor-widget-text-editor p,
	html body .elementor-widget-text-editor li {
		font-size: 16px !important;
	}
	html body .elementor-button,
	html body .planCard .btn,
	html body .qualify-card button {
		width: 100%;
		justify-content: center;
	}
	html body .elementor-section > .elementor-container,
	html body .e-con {
		padding-left: 16px;
		padding-right: 16px;
	}
	html body .plan-card:hover,
	html body .planCard:hover {
		transform: none;
	}
	/* "ENROLL NOW" home par negative margin se text ke upar chadh jaata tha */
	html body a.enroll_now {
		float: none !important;
		margin-top: 8px !important;
		display: flex;
		width: 100%;
	}
}

/* ---------- 10b. Prepaid plan cards ([plan_pro_plan]) ---------- */
html body .ltw-plans {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	max-width: 1160px;
	margin: 0 auto;
	padding: 18px 4px 8px;
}
html body .ltw-plan {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--ltw-line);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 2px 4px rgba(20, 40, 28, .06), 0 14px 34px rgba(20, 40, 28, .12);
	transition: transform .2s ease, box-shadow .2s ease;
}
html body .ltw-plan:hover {
	transform: translateY(-8px);
	box-shadow: 0 4px 8px rgba(20, 40, 28, .08), 0 24px 48px rgba(20, 40, 28, .18);
}
html body .ltw-plan--unlimited {
	border: 2px solid var(--ltw-orange);
}
html body .ltw-plan__head {
	position: relative;
	padding: 34px 16px 26px;
	text-align: center;
	color: #fff;
	background:
		radial-gradient(circle at 20% 0%, rgba(255, 255, 255, .18), transparent 55%),
		linear-gradient(135deg, var(--ltw-green-900) 0%, var(--ltw-green-700) 45%, var(--ltw-green-500) 100%);
	overflow: hidden;
}
html body .ltw-plan--unlimited .ltw-plan__head {
	background:
		radial-gradient(circle at 20% 0%, rgba(255, 255, 255, .22), transparent 55%),
		linear-gradient(135deg, #1f3a2a 0%, var(--ltw-green-900) 40%, var(--ltw-green-700) 100%);
}
html body .ltw-plan__data {
	font-family: "Oswald", var(--ltw-font) !important;
	font-weight: 700;
	font-size: 84px;
	line-height: .95;
	letter-spacing: .5px;
	text-shadow: 0 0 18px rgba(255, 224, 138, .35), 0 3px 10px rgba(0, 0, 0, .25);
}
html body .ltw-plan--unlimited .ltw-plan__data {
	font-size: 38px;
	padding-right: 34px; /* ribbon ke neeche na aaye */
	line-height: 1.15;
	padding-top: 18px;
}
html body .ltw-plan__data small {
	font-size: 34px;
	margin-left: 3px;
	opacity: .9;
}
html body .ltw-plan__label {
	margin-top: 10px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	opacity: .9;
}
/* twinkling sparkles in the header */
html body .ltw-spark {
	position: absolute;
	color: #ffe08a;
	font-size: 22px;
	text-shadow: 0 0 8px rgba(255, 224, 138, .9);
	line-height: 1;
	opacity: 0;
	animation: ltwTwinkle 2.6s ease-in-out infinite;
	pointer-events: none;
}
html body .ltw-spark--1 { top: 14px; left: 16px; animation-delay: 0s; }
html body .ltw-spark--2 { bottom: 12px; left: 26%; font-size: 15px; animation-delay: .9s; }
html body .ltw-spark--3 { top: 58%; right: 16px; font-size: 26px; animation-delay: 1.7s; }
@keyframes ltwTwinkle {
	0%, 100% { opacity: 0; transform: scale(.4) rotate(0deg); }
	45% { opacity: 1; transform: scale(1.15) rotate(20deg); }
	60% { opacity: .8; transform: scale(.9) rotate(35deg); }
}
/* shining "Special Offer" corner ribbon */
html body .ltw-offer {
	position: absolute;
	top: 26px;
	right: -58px;
	z-index: 3;
	width: 210px;
	transform: rotate(45deg);
	text-align: center;
	overflow: hidden;
	background: linear-gradient(90deg, #e2401a, var(--ltw-orange), #ff9a3c, var(--ltw-orange), #e2401a);
	background-size: 200% 100%;
	box-shadow: 0 4px 12px rgba(241, 93, 46, .45);
	animation: ltwRibbon 3s linear infinite;
}
html body .ltw-offer span {
	position: relative;
	display: block;
	padding: 7px 0;
	color: #fff;
	font-family: var(--ltw-font) !important;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-shadow: 0 1px 2px rgba(0, 0, 0, .25);
}
html body .ltw-offer::after {
	content: "";
	position: absolute;
	top: 0;
	left: -60%;
	width: 40%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .75), transparent);
	transform: skewX(-20deg);
	animation: ltwShine 2.4s ease-in-out infinite;
}
@keyframes ltwRibbon { to { background-position: -200% 0; } }
@keyframes ltwShine {
	0% { left: -60%; }
	55%, 100% { left: 130%; }
}
html body .ltw-plan__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 22px 20px 26px;
	text-align: center;
}
html body .ltw-plan__special {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 16px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--ltw-orange), #ff8a3d);
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	animation: ltwPulse 2.2s ease-in-out infinite;
}
html body .ltw-plan__special::before {
	content: "\2605";
	font-size: 12px;
}
@keyframes ltwPulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(241, 93, 46, .35); }
	50% { box-shadow: 0 0 0 8px rgba(241, 93, 46, 0); }
}
html body .ltw-plan__price {
	margin-top: 12px;
	padding: 10px 18px 8px;
	border-radius: 16px;
	background: linear-gradient(180deg, #fff7f2 0%, #ffe9dd 100%);
	border: 2px solid #ffd2bd;
	font-family: "Oswald", var(--ltw-font) !important;
	font-weight: 700;
	font-size: 92px;
	line-height: 1;
	color: var(--ltw-orange-600);
	text-shadow: 0 2px 0 #fff;
}
html body .ltw-plan__price sup {
	font-size: 36px;
	top: -1.15em;
	margin-right: 2px;
	color: var(--ltw-green-700);
}
html body .ltw-plan__price span {
	font-size: 22px;
	font-weight: 500;
	color: var(--ltw-muted);
	margin-left: 2px;
}
html body .ltw-plan__was {
	margin-top: 10px;
	font-size: 16px;
	color: var(--ltw-muted);
}
html body .ltw-plan__was s {
	color: #9aa39e;
	text-decoration-color: var(--ltw-orange);
	text-decoration-thickness: 2px;
}
html body .ltw-plan__save {
	margin-top: 8px;
	padding: 4px 12px;
	border-radius: 8px;
	background: var(--ltw-green-700);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
}
html body .ltw-plan__features {
	list-style: none;
	margin: 18px 0 20px !important;
	padding: 16px 0 0 !important;
	width: 100%;
	border-top: 1px dashed var(--ltw-line);
	text-align: left;
}
html body .ltw-plan__features li {
	position: relative;
	padding: 6px 0 6px 30px;
	font-size: 16px;
	font-weight: 500;
	color: var(--ltw-text);
	line-height: 1.4;
}
html body .ltw-plan__features li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	top: 5px;
	width: 19px;
	height: 19px;
	border-radius: 50%;
	background: var(--ltw-green-700);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 19px;
	text-align: center;
}
html body .ltw-plan__btn {
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	border-radius: 12px;
	background: var(--ltw-orange);
	color: #fff !important;
	font-family: var(--ltw-font) !important;
	font-size: 17px;
	font-weight: 700;
	text-decoration: none !important;
	box-shadow: 0 8px 20px rgba(241, 93, 46, .3);
	transition: background-color .15s ease, transform .15s ease;
}
html body .ltw-plan__btn:hover {
	background: var(--ltw-orange-600);
	transform: translateY(-1px);
}
@media (max-width: 1024px) {
	html body .ltw-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	html body .ltw-plans { grid-template-columns: 1fr; max-width: 400px; }
	html body .ltw-plan:hover { transform: none; }
}

/* ---------- 10b2. Product page plan picker (swatch .plan-card) - same look as .ltw-plan ---------- */
html body .vi-wpvs-option .plan-card {
	position: relative;
	background: #fff !important;
	border: 2px solid var(--ltw-line) !important;
	border-radius: 20px !important;
	overflow: hidden;
	box-shadow: 0 2px 4px rgba(20, 40, 28, .06), 0 12px 28px rgba(20, 40, 28, .12) !important;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
html body .vi-wpvs-option-wrap:hover .plan-card {
	transform: translateY(-6px);
	border-color: var(--ltw-green-500) !important;
}
html body .vi-wpvs-option-wrap-selected .plan-card {
	border-color: var(--ltw-orange) !important;
	box-shadow: 0 0 0 4px rgba(241, 93, 46, .18), 0 16px 34px rgba(20, 40, 28, .16) !important;
}
html body .vi-wpvs-option-wrap-selected .plan-card .plan-body::before {
	content: "\2713  Selected";
	position: absolute;
	left: 50%;
	bottom: 10px;
	transform: translateX(-50%);
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--ltw-orange);
	color: #fff;
	font: 700 12px/1.2 var(--ltw-font);
	letter-spacing: .06em;
	white-space: nowrap;
}
html body .vi-wpvs-option .plan-card .plan-header {
	position: relative;
	padding: 26px 8px 20px !important;
	background:
		radial-gradient(circle at 20% 0%, rgba(255, 255, 255, .18), transparent 55%),
		linear-gradient(135deg, var(--ltw-green-900) 0%, var(--ltw-green-700) 45%, var(--ltw-green-500) 100%) !important;
	font-family: "Oswald", var(--ltw-font) !important;
	font-size: 50px !important;
	line-height: 1 !important;
	text-shadow: 0 0 18px rgba(255, 224, 138, .3), 0 3px 10px rgba(0, 0, 0, .22);
}
/* "Unlimited" (no /MO) - chhota taaki ribbon ke neeche na jaaye */
html body .vi-wpvs-option .plan-card .plan-header:not(:has(sub)) {
	font-size: 32px !important;
	padding: 34px 40px 26px 8px !important;
}
html body .vi-wpvs-option .plan-card .plan-header sub {
	font-size: 20px;
	opacity: .85;
	bottom: 0;
}
/* corner ribbon replaces the "Special Offer" image */
html body .vi-wpvs-option .plan-card::before {
	content: "Special Offer";
	position: absolute;
	top: 22px;
	right: -52px;
	z-index: 3;
	width: 190px;
	padding: 5px 0;
	transform: rotate(45deg);
	text-align: center;
	color: #fff;
	font: 800 9px/1.2 var(--ltw-font);
	letter-spacing: .14em;
	text-transform: uppercase;
	background: linear-gradient(90deg, #e2401a, var(--ltw-orange), #ff9a3c, var(--ltw-orange), #e2401a);
	background-size: 200% 100%;
	box-shadow: 0 4px 12px rgba(241, 93, 46, .45);
	animation: ltwRibbon 3s linear infinite;
}
html body .vi-wpvs-option .plan-card .plan-offer {
	display: none !important;
}
html body .vi-wpvs-option .plan-card .plan-body {
	position: relative;
	padding: 18px 10px 46px !important;
	background: #fff !important;
}
html body .vi-wpvs-option .plan-card .plan-feature {
	min-height: 64px !important;
	font-family: var(--ltw-font) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: .04em;
	color: var(--ltw-green-700) !important;
	line-height: 1.45 !important;
	margin-bottom: 10px !important;
}
html body .vi-wpvs-option .plan-card .plan-price {
	display: inline-block;
	padding: 8px 14px 6px;
	border-radius: 14px;
	background: linear-gradient(180deg, #fff7f2 0%, #ffe9dd 100%);
	border: 2px solid #ffd2bd;
	font-family: "Oswald", var(--ltw-font) !important;
	font-size: 60px !important;
	line-height: 1 !important;
	color: var(--ltw-orange-600) !important;
}
html body .vi-wpvs-option .plan-card .plan-price .dollar {
	font-size: 26px !important;
	top: -22px !important;
	color: var(--ltw-green-700);
}
html body .vi-wpvs-option .plan-card .plan-price .per {
	font-size: 16px !important;
	color: var(--ltw-muted);
	font-weight: 500;
}
html body .vi-wpvs-option .plan-card .plan-old {
	font-size: 15px !important;
	color: #9aa39e !important;
	text-decoration-color: var(--ltw-orange) !important;
	text-decoration-thickness: 2px !important;
	margin-top: 8px !important;
}

/* ---------- 10c. Guided purchase steps ---------- */
html body .ltw-steps {
	display: flex;
	justify-content: center;
	gap: 0;
	list-style: none;
	margin: 8px auto 22px !important;
	padding: 0 !important;
	max-width: 760px;
	counter-reset: none;
}
html body .ltw-steps li {
	position: relative;
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-align: center;
	color: var(--ltw-muted);
	font-size: 14px;
	font-weight: 600;
}
html body .ltw-steps li + li::before {
	content: "";
	position: absolute;
	top: 17px;
	right: 50%;
	width: 100%;
	height: 3px;
	background: var(--ltw-line);
	z-index: 0;
}
html body .ltw-steps li.is-done::before,
html body .ltw-steps li.is-current::before {
	background: var(--ltw-green-500);
}
html body .ltw-steps__dot {
	position: relative;
	z-index: 1;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 3px solid var(--ltw-line);
	color: var(--ltw-muted);
	font-weight: 800;
	font-size: 15px;
	transition: all .2s ease;
}
html body .ltw-steps li.is-done .ltw-steps__dot {
	background: var(--ltw-green-700);
	border-color: var(--ltw-green-700);
	color: #fff;
}
html body .ltw-steps li.is-current .ltw-steps__dot {
	background: var(--ltw-orange);
	border-color: #ffd2bd;
	color: #fff;
	box-shadow: 0 0 0 6px rgba(241, 93, 46, .15);
	animation: ltwPulse 2.2s ease-in-out infinite;
}
html body .ltw-steps li.is-current { color: var(--ltw-ink); }
html body .ltw-steps li.is-done { color: var(--ltw-green-700); }

/* plan summary when arriving from "View Details" */
html body .ltw-plan-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: 0 0 18px;
	padding: 16px 20px;
	border-radius: var(--ltw-radius-lg);
	background: linear-gradient(135deg, var(--ltw-green-50), #fff);
	border: 2px solid var(--ltw-green-500);
	box-shadow: var(--ltw-shadow);
}
html body .ltw-plan-summary[hidden] { display: none; }
html body .ltw-plan-summary__k {
	display: block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ltw-green-700);
}
html body .ltw-plan-summary__v {
	font-family: "Oswald", var(--ltw-font) !important;
	font-size: 30px;
	color: var(--ltw-ink);
}
html body .ltw-plan-summary__change {
	background: #fff !important;
	color: var(--ltw-green-700) !important;
	border: 2px solid var(--ltw-green-700) !important;
	border-radius: 10px !important;
	padding: 10px 18px !important;
	font-weight: 700 !important;
	cursor: pointer;
	box-shadow: none !important;
}
html body .ltw-plan-summary__change:hover {
	background: var(--ltw-green-700) !important;
	color: #fff !important;
}
html body button.single_add_to_cart_button {
	min-width: 300px;
	min-height: 54px;
	font-size: 18px !important;
	padding: 15px 36px !important;
}
@media (max-width: 600px) {
	html body button.single_add_to_cart_button { width: 100%; min-width: 0; }
}
html body tr.ltw-row-hidden {
	display: none !important;
}
html body tr.ltw-attention > td {
	animation: ltwAttention 1.1s ease-in-out 2;
	border-radius: var(--ltw-radius-lg);
}
@keyframes ltwAttention {
	0%, 100% { box-shadow: 0 0 0 0 rgba(241, 93, 46, 0); }
	50% { box-shadow: 0 0 0 6px rgba(241, 93, 46, .35); }
}

/* SIM type buttons: text disappeared on hover (white on white) */
html body .vi-wpvs-variation-wrap[data-attribute="attribute_pa_sim-type"] .vi-wpvs-option-wrap {
	background: #fff !important;
	border: 2px solid var(--ltw-line) !important;
	transition: border-color .15s ease, background-color .15s ease, transform .15s ease;
}
html body .vi-wpvs-variation-wrap[data-attribute="attribute_pa_sim-type"] .vi-wpvs-option-wrap .vi-wpvs-option {
	color: var(--ltw-ink) !important;
}
html body .vi-wpvs-variation-wrap[data-attribute="attribute_pa_sim-type"] .vi-wpvs-option-wrap:hover {
	background: var(--ltw-green-50) !important;
	border-color: var(--ltw-green-500) !important;
	transform: translateY(-2px);
}
html body .vi-wpvs-variation-wrap[data-attribute="attribute_pa_sim-type"] .vi-wpvs-option-wrap:hover .vi-wpvs-option {
	color: var(--ltw-green-700) !important;
}
html body .vi-wpvs-variation-wrap[data-attribute="attribute_pa_sim-type"] .vi-wpvs-option-wrap.vi-wpvs-option-wrap-selected {
	background: var(--ltw-green-700) !important;
	border-color: var(--ltw-green-700) !important;
}
html body .vi-wpvs-variation-wrap[data-attribute="attribute_pa_sim-type"] .vi-wpvs-option-wrap.vi-wpvs-option-wrap-selected .vi-wpvs-option {
	color: #fff !important;
}

/* language selector in header (text was clipped) */
html body .goog-te-gadget .goog-te-combo,
html body select.goog-te-combo {
	height: 38px !important;
	min-height: 38px !important;
	padding: 6px 30px 6px 12px !important;
	line-height: 1.3 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	border-radius: 8px !important;
	border: 1px solid #cdd8d1 !important;
	background-color: #fff;
	color: var(--ltw-ink) !important;
	width: auto !important;
	max-width: 170px;
	margin: 0 !important;
	vertical-align: middle;
}
html body .goog-te-gadget {
	font-size: 0 !important; /* hides the "Powered by" text node spacing */
	line-height: 1 !important;
}

/* checkout layout polish */
html body.woocommerce-checkout .woocommerce {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
html body.woocommerce-checkout #customer_details {
	background: #fff;
	border: 1px solid var(--ltw-line) !important;
	box-shadow: var(--ltw-shadow);
	padding: 20px !important;
}
html body.woocommerce-checkout #payment,
html body.woocommerce-checkout #payment .payment_box {
	background: var(--ltw-green-50) !important;
}
html body.woocommerce-checkout #payment .payment_box::before {
	border-bottom-color: var(--ltw-green-50) !important;
}
html body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th,
html body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
html body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
	background: var(--ltw-green-100) !important;
	color: var(--ltw-ink) !important;
}
@media (max-width: 600px) {
	html body .ltw-steps__label { font-size: 12px; }
	html body .ltw-plan-summary { flex-direction: column; align-items: flex-start; }
}

/* ---------- 11. Motion preference ---------- */
@media (prefers-reduced-motion: reduce) {
	html body *,
	html body *::before,
	html body *::after {
		transition: none !important;
		animation: none !important;
	}
}
