/*
 Theme Name:   Eduma Child
 Theme URI:    http://educationwp.thimpress.com/
 Description:  Eduma Child Theme
 Author:       ThimPress
 Author URI:   http://thimpress.com
 Template:     eduma
 Version:      1.0.0
 Text Domain:  eduma-child
*/

/* ═══════════════════════════════════════════════════════════════
   GTFY Modern Checkout 2026
   ═══════════════════════════════════════════════════════════════ */

/* ── Pre-form: Login & Coupon toggles ───────────────────────── */

.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	max-width: 860px;
	margin: 0 auto 10px;
	background: #f8f9fa;
	border: 1px solid #e2e5e9;
	border-left: 3px solid #e63412;
	border-radius: 8px;
	padding: 12px 18px;
	font-size: 14px;
	color: #495057;
	box-shadow: none;
}

.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
	display: none;
}

.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info a,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
	color: #e63412;
	font-weight: 600;
	text-decoration: none;
}

.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info a:hover,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a:hover {
	text-decoration: underline;
}

/* Login + Coupon forms when expanded */
.woocommerce-checkout form.woocommerce-form-login,
.woocommerce-checkout form.checkout_coupon {
	max-width: 860px;
	margin: 0 auto 16px;
	background: #fff;
	border: 1px solid #e2e5e9;
	border-radius: 10px;
	padding: 20px 24px;
}

/* ── Main form layout ───────────────────────────────────────── */

/* Ensure parent container doesn't constrain centering */
.woocommerce-checkout .woocommerce {
	width: 100% !important;
	float: none !important;
	display: block;
}

form.gtfy-checkout-modern {
	max-width: 860px;
	width: 100%;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-top: 0;
	margin-bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	float: none !important;
	box-sizing: border-box;
}

/*
 * Nuclear reset: Kill ALL WooCommerce/Eduma float + width constraints
 * inside our modern checkout. WooCommerce-layout.css sets float + width
 * on .col-1/.col-2, .form-row-first/.form-row-last, etc.
 * We handle layout with flex/grid instead.
 */
form.gtfy-checkout-modern,
form.gtfy-checkout-modern * {
	box-sizing: border-box;
}

form.gtfy-checkout-modern > * {
	width: 100% !important;
	float: none !important;
	clear: both !important;
}

/* ── Section cards ──────────────────────────────────────────── */

.gtfy-checkout-section {
	background: #fff;
	border: 1px solid #e2e5e9;
	border-radius: 12px;
	padding: 24px 28px;
	margin-bottom: 16px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
	width: 100% !important;
	float: none !important;
	display: block;
}

.gtfy-section-header {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 20px;
	padding-bottom: 14px;
	border-bottom: 1px solid #eee;
}

.gtfy-step-number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	background: #e63412;
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	border-radius: 50%;
	flex-shrink: 0;
	line-height: 1;
}

.gtfy-section-header h3 {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	color: #1a1a2e !important;
	border: none !important;
}

/* ── Section 1: Cart / Order Review ─────────────────────────── */

.gtfy-section-cart #order_review {
	display: flex;
	flex-direction: column;
	width: 100% !important;
}

/* Ensure the product table fills its container */
.gtfy-checkout-modern table.shop_table {
	width: 100% !important;
	table-layout: fixed;
}

/* Hide the default heading (we use our section header instead) */
.gtfy-checkout-modern h3#order_review_heading {
	/* This is our section header h3, already styled above */
}

/* Product table: modern card-style rows */
.gtfy-checkout-modern table.shop_table.woocommerce-checkout-review-order-table {
	border: none !important;
	border-collapse: collapse;
	margin: 0 0 8px;
	background: transparent !important;
	box-shadow: none;
}

.gtfy-checkout-modern table.shop_table thead {
	display: none;
}

.gtfy-checkout-modern table.shop_table tbody tr.cart_item {
	display: flex;
	align-items: center;
	padding: 14px 0;
	border-bottom: 1px solid #f0f0f0;
}

.gtfy-checkout-modern table.shop_table tbody tr.cart_item:last-child {
	border-bottom: none;
}

.gtfy-checkout-modern table.shop_table td.product-name {
	flex: 1;
	padding: 0 !important;
	font-size: 15px;
	border: none !important;
}

.gtfy-checkout-modern table.shop_table td.product-total {
	padding: 0 0 0 16px !important;
	font-weight: 600;
	font-size: 16px;
	white-space: nowrap;
	border: none !important;
	text-align: right;
}

/* Thumbnail in product row (Germanized) */
.gtfy-checkout-modern .wc-gzd-cart-item-name-wrapper {
	display: flex;
	align-items: center;
	gap: 14px;
}

.gtfy-checkout-modern .wc-gzd-cart-item-thumbnail {
	width: 56px;
	height: 56px;
	border-radius: 8px;
	overflow: hidden;
	flex-shrink: 0;
	border: 1px solid #eee;
}

.gtfy-checkout-modern .wc-gzd-cart-item-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Remove button — positioned to the left of the product row */
.gtfy-checkout-modern table.shop_table tbody tr.cart_item {
	position: relative;
	padding-left: 36px !important;
}

.gtfy-remove-item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #fee2e2;
	color: #dc2626;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none !important;
	margin-left: 0;
	transition: all 0.2s ease;
	vertical-align: middle;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.gtfy-remove-item:hover {
	background: #dc2626;
	color: #fff;
	transform: scale(1.1);
}

tr.gtfy-removing {
	opacity: 0.25;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

/* Totals in cart */
.gtfy-checkout-modern table.shop_table tfoot {
	border-top: 2px solid #eee;
}

.gtfy-checkout-modern table.shop_table tfoot tr {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 6px 0;
}

.gtfy-checkout-modern table.shop_table tfoot tr.order-total {
	font-size: 17px;
	font-weight: 700;
	border-top: 2px solid #1a1a2e;
	padding-top: 10px;
	margin-top: 4px;
}

.gtfy-checkout-modern table.shop_table tfoot th,
.gtfy-checkout-modern table.shop_table tfoot td {
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
}

.gtfy-checkout-modern table.shop_table tfoot td {
	text-align: right !important;
}

.gtfy-checkout-modern table.shop_table tfoot .order-total td {
	color: #1a1a2e;
}

/* Small tax info */
.gtfy-checkout-modern table.shop_table tfoot small.includes_tax {
	font-size: 12px;
	color: #6b7280;
	font-weight: 400;
}

/* ── Section 2: Billing Details ─────────────────────────────── */

/* Remove default WooCommerce billing heading (we have our section header) */
.gtfy-checkout-modern .woocommerce-billing-fields > h3 {
	display: none !important;
}

/* No 2-column split — single column */
.gtfy-checkout-modern #customer_details {
	display: block !important;
	width: 100% !important;
}

.gtfy-checkout-modern #customer_details .col2-set,
.gtfy-checkout-modern #customer_details > .col-1,
.gtfy-checkout-modern #customer_details > .col-2 {
	width: 100% !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Billing fields: 2-column grid for name, single column for rest */
.gtfy-checkout-modern .woocommerce-billing-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 14px;
}

.gtfy-checkout-modern .woocommerce-billing-fields__field-wrapper .form-row-wide {
	grid-column: 1 / -1;
}

.gtfy-checkout-modern .woocommerce-billing-fields__field-wrapper .form-row-first {
	grid-column: 1;
}

.gtfy-checkout-modern .woocommerce-billing-fields__field-wrapper .form-row-last {
	grid-column: 2;
}

/* Form field styling */
.gtfy-checkout-modern .form-row {
	margin-bottom: 0 !important;
	padding: 0 !important;
}

.gtfy-checkout-modern .form-row label {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: #374151;
	margin-bottom: 4px;
}

.gtfy-checkout-modern .form-row label .optional {
	color: #9ca3af;
	font-weight: 400;
}

.gtfy-checkout-modern .form-row label .required {
	color: #dc2626;
}

.gtfy-checkout-modern .form-row input.input-text,
.gtfy-checkout-modern .form-row select,
.gtfy-checkout-modern .form-row textarea {
	border: 1.5px solid #d1d5db !important;
	border-radius: 8px !important;
	padding: 10px 14px !important;
	font-size: 15px !important;
	width: 100% !important;
	background: #fff !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	box-sizing: border-box;
}

.gtfy-checkout-modern .form-row input.input-text:focus,
.gtfy-checkout-modern .form-row select:focus,
.gtfy-checkout-modern .form-row textarea:focus {
	border-color: #e63412 !important;
	box-shadow: 0 0 0 3px rgba(230, 52, 18, 0.1) !important;
	outline: none !important;
}

/* Select2 dropdown styling */
.gtfy-checkout-modern .select2-container--default .select2-selection--single {
	border: 1.5px solid #d1d5db !important;
	border-radius: 8px !important;
	height: 44px !important;
	padding: 6px 10px !important;
}

.gtfy-checkout-modern .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 30px !important;
	font-size: 15px;
	color: #1f2937;
}

.gtfy-checkout-modern .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 42px !important;
}

/* Additional info (order comments) */
.gtfy-checkout-modern .woocommerce-additional-fields {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #f3f4f6;
}

.gtfy-checkout-modern .woocommerce-additional-fields h3 {
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #374151 !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
	border: none !important;
}

.gtfy-checkout-modern textarea#order_comments {
	min-height: 70px;
	resize: vertical;
}

/* ── Section 3: Payment & Submit ────────────────────────────── */

/* Hide the Germanized payment heading (our section header handles this) */
.gtfy-payment-content #order_payment_heading {
	display: none !important;
}

/* Payment methods: selectable cards */
.gtfy-checkout-modern .woocommerce-checkout-payment,
.gtfy-checkout-modern #payment {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	box-shadow: none !important;
}

.gtfy-checkout-modern .wc_payment_methods {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 16px !important;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.gtfy-checkout-modern .wc_payment_method {
	border: 2px solid #e5e7eb !important;
	border-radius: 10px !important;
	padding: 14px 18px !important;
	margin: 0 !important;
	transition: all 0.2s ease;
	cursor: pointer;
	background: #fff;
}

.gtfy-checkout-modern .wc_payment_method:hover {
	border-color: #f87171 !important;
	background: #fef2f2;
}

/* Active payment method */
.gtfy-checkout-modern .wc_payment_method:has(input:checked) {
	border-color: #e63412 !important;
	background: #fef5f3;
}

.gtfy-checkout-modern .wc_payment_method label {
	display: flex !important;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-weight: 500 !important;
	font-size: 15px;
	margin: 0 !important;
	padding: 0 !important;
}

.gtfy-checkout-modern .wc_payment_method label img {
	max-height: 24px;
	width: auto;
}

.gtfy-checkout-modern .wc_payment_method .about_paypal {
	font-size: 12px;
	margin-left: auto;
}

.gtfy-checkout-modern .wc_payment_method input[type="radio"] {
	accent-color: #e63412;
	width: 18px;
	height: 18px;
	margin: 0;
}

.gtfy-checkout-modern .wc_payment_method .payment_box {
	margin: 10px 0 0 28px !important;
	padding: 8px 0 0 !important;
	font-size: 13px;
	color: #6b7280;
	background: transparent !important;
	border: none !important;
}

.gtfy-checkout-modern .wc_payment_method .payment_box::before {
	display: none !important;
}

/* Legal checkboxes (Germanized) */
.gtfy-payment-content .wc-gzd-checkbox-placeholder {
	margin-top: 0;
}

.gtfy-payment-content .wc-gzd-checkbox-placeholder p.form-row {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px 16px !important;
	background: #f9fafb;
	border-radius: 8px;
	margin: 0 0 8px !important;
	border: 1px solid #f3f4f6;
}

.gtfy-payment-content .wc-gzd-checkbox-placeholder label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 13px;
	line-height: 1.5;
	color: #374151;
	cursor: pointer;
	margin: 0;
}

.gtfy-payment-content .wc-gzd-checkbox-placeholder input[type="checkbox"] {
	margin-top: 2px;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	accent-color: #e63412;
}

.gtfy-payment-content .wc-gzd-checkbox-placeholder a {
	color: #e63412;
	text-decoration: none;
	font-weight: 500;
}

.gtfy-payment-content .wc-gzd-checkbox-placeholder a:hover {
	text-decoration: underline;
}

/* Empty placeholder checkboxes: hide */
.gtfy-payment-content .wc-gzd-checkbox-placeholder:empty {
	display: none;
}

/* Submit / Buy button */
.gtfy-payment-content .wc-gzd-order-submit {
	margin-top: 20px;
	text-align: center;
}

.gtfy-payment-content .wc-gzd-place-order {
	padding: 0 !important;
	margin: 0 !important;
}

.gtfy-checkout-modern #place_order,
.gtfy-payment-content #place_order {
	width: 100% !important;
	padding: 16px 32px !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	text-transform: none !important;
	letter-spacing: 0.3px;
	background: #e63412 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 10px !important;
	cursor: pointer;
	transition: all 0.25s ease;
	box-shadow: 0 4px 14px rgba(230, 52, 18, 0.25);
	line-height: 1.4;
}

.gtfy-checkout-modern #place_order:hover,
.gtfy-payment-content #place_order:hover {
	background: #c42a0e !important;
	box-shadow: 0 6px 20px rgba(230, 52, 18, 0.35);
	transform: translateY(-1px);
}

.gtfy-checkout-modern #place_order:active,
.gtfy-payment-content #place_order:active {
	transform: translateY(0);
	box-shadow: 0 2px 8px rgba(230, 52, 18, 0.3);
}

/* ── Responsive ─────────────────────────────────────────────── */

@media (max-width: 600px) {
	.gtfy-checkout-section {
		padding: 18px 16px;
		border-radius: 8px;
	}

	.gtfy-checkout-modern .woocommerce-billing-fields__field-wrapper {
		grid-template-columns: 1fr;
	}

	.gtfy-checkout-modern .woocommerce-billing-fields__field-wrapper .form-row-first,
	.gtfy-checkout-modern .woocommerce-billing-fields__field-wrapper .form-row-last {
		grid-column: 1;
	}

	.gtfy-section-header h3 {
		font-size: 16px !important;
	}

	.gtfy-checkout-modern #place_order,
	.gtfy-payment-content #place_order {
		font-size: 16px !important;
		padding: 14px 24px !important;
	}
}

/* ── Overrides: Neutralize conflicting theme/plugin styles ─── */

/*
 * WooCommerce layout.css sets float + width on many checkout elements.
 * We must override all of them for our single-column design.
 */

/* Eduma's col2-set wrapper (adds 48% float columns) */
.gtfy-checkout-modern .col2-set,
.gtfy-checkout-modern .col2-set .inner-col-set {
	display: block !important;
	width: 100% !important;
	float: none !important;
}

.gtfy-checkout-modern .col2-set > .col-1,
.gtfy-checkout-modern .col2-set > .col-2 {
	width: 100% !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* WooCommerce form-row floats (47% width + float) */
.gtfy-checkout-modern .woocommerce-billing-fields__field-wrapper .form-row-first,
.gtfy-checkout-modern .woocommerce-billing-fields__field-wrapper .form-row-last {
	width: 100% !important;
	float: none !important;
}

/* WooCommerce billing/shipping field containers */
.gtfy-checkout-modern .woocommerce-billing-fields,
.gtfy-checkout-modern .woocommerce-shipping-fields,
.gtfy-checkout-modern .woocommerce-additional-fields,
.gtfy-checkout-modern .woocommerce-billing-fields__field-wrapper,
.gtfy-checkout-modern .woocommerce-account-fields {
	width: 100% !important;
	float: none !important;
}

/* #payment place-order float */
.gtfy-checkout-modern #payment #place_order,
.gtfy-checkout-modern .place-order {
	float: none !important;
}

/* Payment content container */
.gtfy-payment-content {
	width: 100% !important;
}

/* Elementor checkout widget overrides (if loaded) */
.gtfy-checkout-modern .e-checkout__order_review,
.gtfy-checkout-modern .e-checkout__order_review-2 {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
}

/* WooCommerce loading overlay adjustment */
.gtfy-checkout-modern .blockUI.blockOverlay {
	border-radius: 8px;
}

/* ── Header: Menu cart visibility ─────────────────────────────── */

a.wpmenucart-contents,
a.wpmenucart-contents:visited {
	color: #fff !important;
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	text-decoration: none !important;
}

a.wpmenucart-contents:hover {
	opacity: 0.85;
}

/* Cart icon stays white */
a.wpmenucart-contents i {
	color: #fff !important;
	font-size: 18px;
}

/* Article count + price as red pill badge */
a.wpmenucart-contents .cartcontents,
a.wpmenucart-contents .amount {
	background: #e63412;
	color: #fff !important;
	font-size: 12px;
	font-weight: 600;
	padding: 3px 9px;
	border-radius: 20px;
	line-height: 1.4;
}

/* Separator between count and amount */
a.wpmenucart-contents .cartcontents + .amount::before {
	display: none !important;
}

/* Page title centering */
.woocommerce-checkout .top_site_main .page-title,
.woocommerce-cart .top_site_main .page-title,
.woocommerce-account .top_site_main .page-title,
.user-registration-page .top_site_main .page-title {
	text-align: center;
}

/* ═══════════════════════════════════════════════════════════════
   GTFY Modern Design — Login, Registration & Cart Pages
   Matches the checkout card-style design system.
   ═══════════════════════════════════════════════════════════════ */

/* Hide the Elementor heading widget on registration page (replaced by injected Eduma banner) */
.page-id-35257 [data-elementor-type="wp-page"] > .elementor-section .elementor-widget-heading {
	display: none !important;
}

/* ── Shared: Card wrapper mixin ──────────────────────────────── */

.ur-frontend-form.login,
.ur-frontend-form:not(.login),
.woocommerce-cart-form,
.cart-collaterals .cart_totals {
	background: #fff;
	border: 1px solid #e2e5e9 !important;
	border-radius: 12px !important;
	padding: 28px 32px !important;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
	max-width: 860px;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* ══════════════════════════════════════════════════════════════
   LOGIN PAGE (User Registration plugin)
   ══════════════════════════════════════════════════════════════ */

/* Center the form within Elementor */
.user-registration-page .elementor-shortcode {
	display: flex;
	justify-content: center;
}

.user-registration-page #user-registration {
	width: 100%;
	max-width: 480px;
	border: none !important;
	background: transparent !important;
	padding: 0 !important;
	box-shadow: none !important;
}

/* Card styling for login form */
.ur-frontend-form.login {
	max-width: 480px !important;
	border: 1px solid #e2e5e9 !important;
}

/* Remove default User Registration borders/backgrounds */
.ur-frontend-form.login.ur-frontend-form--bordered {
	border: 1px solid #e2e5e9 !important;
	background: #fff !important;
}

/* Input fields */
.ur-frontend-form.login input.input-text {
	border: 1.5px solid #d1d5db !important;
	border-radius: 8px !important;
	padding: 12px 16px !important;
	font-size: 15px !important;
	width: 100% !important;
	background: #fff !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	box-sizing: border-box;
	height: auto !important;
}

.ur-frontend-form.login input.input-text:focus {
	border-color: #e63412 !important;
	box-shadow: 0 0 0 3px rgba(230, 52, 18, 0.1) !important;
	outline: none !important;
}

.ur-frontend-form.login input.input-text::placeholder {
	color: #9ca3af;
	font-size: 14px;
}

/* Field spacing */
.ur-frontend-form.login .user-registration-form-row {
	margin-bottom: 14px !important;
}

/* Password show/hide button */
.ur-frontend-form.login .password-input-group {
	position: relative;
	display: block;
}

.ur-frontend-form.login .password_preview {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: #9ca3af;
	text-decoration: none !important;
}

.ur-frontend-form.login .password_preview:hover {
	color: #e63412;
}

/* Remember me + Lost password row */
.ur-frontend-form.login .user-registration-before-login-btn {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 4px 0 8px !important;
}

.ur-frontend-form.login .user-registration-before-login-btn label {
	font-size: 13px !important;
	color: #6b7280 !important;
}

.ur-frontend-form.login .user-registration-before-login-btn input[type="checkbox"] {
	accent-color: #e63412;
	width: 16px;
	height: 16px;
	margin-right: 6px;
	vertical-align: middle;
}

.ur-frontend-form.login .lost_password a {
	color: #e63412 !important;
	text-decoration: none !important;
	font-weight: 500;
	font-size: 13px;
}

.ur-frontend-form.login .lost_password a:hover {
	text-decoration: underline !important;
}

/* Submit button */
.ur-frontend-form.login .ur-submit-button,
.ur-frontend-form.login button[name="login"] {
	width: 100% !important;
	padding: 14px 24px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	text-transform: none !important;
	background: #e63412 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 10px !important;
	cursor: pointer;
	transition: all 0.25s ease;
	box-shadow: 0 4px 14px rgba(230, 52, 18, 0.25);
	line-height: 1.4;
	margin-top: 4px;
}

.ur-frontend-form.login .ur-submit-button:hover,
.ur-frontend-form.login button[name="login"]:hover {
	background: #c42a0e !important;
	box-shadow: 0 6px 20px rgba(230, 52, 18, 0.35);
	transform: translateY(-1px);
}

/* Registration link */
.ur-frontend-form.login .user-registration-register {
	text-align: center;
	margin-top: 16px !important;
	padding-top: 16px !important;
	border-top: 1px solid #f0f0f0;
}

.ur-frontend-form.login .user-registration-register a {
	color: #e63412 !important;
	font-weight: 500;
	text-decoration: none !important;
	font-size: 14px;
}

.ur-frontend-form.login .user-registration-register a:hover {
	text-decoration: underline !important;
}

/* ══════════════════════════════════════════════════════════════
   REGISTRATION PAGE (User Registration plugin)
   ══════════════════════════════════════════════════════════════ */

/* Center the form within Elementor */
.user-registration-page .elementor-shortcode .user-registration {
	width: 100%;
	max-width: 560px;
	margin: 0 auto;
}

/* Card styling */
.ur-frontend-form:not(.login) {
	max-width: 560px !important;
}

.ur-frontend-form:not(.login).ur-frontend-form--bordered {
	border: 1px solid #e2e5e9 !important;
	background: #fff !important;
}

/* Labels */
.ur-frontend-form:not(.login) .ur-label {
	display: block;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: #374151 !important;
	margin-bottom: 4px !important;
}

.ur-frontend-form:not(.login) .ur-label .required {
	color: #dc2626;
}

/* Input fields */
.ur-frontend-form:not(.login) input.input-text,
.ur-frontend-form:not(.login) input.ur-frontend-field[type="text"],
.ur-frontend-form:not(.login) input.ur-frontend-field[type="email"],
.ur-frontend-form:not(.login) input.ur-frontend-field[type="password"] {
	border: 1.5px solid #d1d5db !important;
	border-radius: 8px !important;
	padding: 12px 16px !important;
	font-size: 15px !important;
	width: 100% !important;
	background: #fff !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	box-sizing: border-box;
	height: auto !important;
}

.ur-frontend-form:not(.login) input.input-text:focus,
.ur-frontend-form:not(.login) input.ur-frontend-field:focus {
	border-color: #e63412 !important;
	box-shadow: 0 0 0 3px rgba(230, 52, 18, 0.1) !important;
	outline: none !important;
}

/* Field spacing */
.ur-frontend-form:not(.login) .ur-field-item {
	margin-bottom: 14px !important;
}

/* Password show/hide */
.ur-frontend-form:not(.login) .password-input-group {
	position: relative;
	display: block;
}

.ur-frontend-form:not(.login) .password_preview {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: #9ca3af;
	text-decoration: none !important;
}

.ur-frontend-form:not(.login) .password_preview:hover {
	color: #e63412;
}

/* Privacy checkbox */
.ur-frontend-form:not(.login) .field-checkbox .form-row {
	padding: 14px 16px !important;
	background: #fef5f3;
	border-radius: 8px;
	border: 1.5px solid #f5c6bc;
}

.ur-frontend-form:not(.login) .field-checkbox .ur-checkbox-list {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	list-style: none;
}

.ur-frontend-form:not(.login) .field-checkbox input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	margin-top: 2px;
	border: 2px solid #c9a9a3;
	border-radius: 4px;
	background: #fff;
	cursor: pointer;
	position: relative;
	transition: all 0.15s ease;
}

.ur-frontend-form:not(.login) .field-checkbox input[type="checkbox"]:checked {
	background: #e63412;
	border-color: #e63412;
}

.ur-frontend-form:not(.login) .field-checkbox input[type="checkbox"]:checked::after {
	content: '';
	position: absolute;
	left: 5px;
	top: 1px;
	width: 6px;
	height: 11px;
	border: solid #fff;
	border-width: 0 2.5px 2.5px 0;
	transform: rotate(45deg);
}

.ur-frontend-form:not(.login) .field-checkbox .ur-checkbox-label {
	font-size: 14px;
	color: #374151;
	line-height: 1.5;
}

.ur-frontend-form:not(.login) .field-checkbox .description {
	font-size: 13px;
	color: #6b7280;
	margin-top: 8px;
	line-height: 1.5;
}

.ur-frontend-form:not(.login) .field-checkbox .description a {
	color: #e63412;
	text-decoration: none;
	font-weight: 500;
}

.ur-frontend-form:not(.login) .field-checkbox .description a:hover {
	text-decoration: underline;
}

/* Submit button */
.ur-frontend-form:not(.login) .ur-button-container {
	margin-top: 8px;
	width: 100% !important;
	text-align: center;
}

.ur-frontend-form:not(.login) .ur-submit-button {
	width: 100% !important;
	display: block !important;
	padding: 14px 24px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	text-transform: none !important;
	background: #e63412 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 10px !important;
	cursor: pointer;
	transition: all 0.25s ease;
	box-shadow: 0 4px 14px rgba(230, 52, 18, 0.25);
	line-height: 1.4;
}

.ur-frontend-form:not(.login) .ur-submit-button:hover {
	background: #c42a0e !important;
	box-shadow: 0 6px 20px rgba(230, 52, 18, 0.35);
	transform: translateY(-1px);
}

/* Override User Registration CSS variables */
.ur-frontend-form {
	--ur-primary-color: #e63412 !important;
	--ur-primary-dark: #c42a0e !important;
	--ur-button-background-normal-color: #e63412 !important;
	--ur-button-background-hover-color: #c42a0e !important;
	--ur-button-text-normal-color: #FFFFFF !important;
}

/* ══════════════════════════════════════════════════════════════
   CART PAGE (WooCommerce)
   ══════════════════════════════════════════════════════════════ */

/* ── Cart form card ──────────────────────────────────────────── */

.woocommerce-cart .woocommerce {
	width: 100% !important;
	float: none !important;
	display: block;
}

.woocommerce-cart-form {
	margin-bottom: 16px !important;
}

/* ── Cart table ──────────────────────────────────────────────── */

.woocommerce-cart table.shop_table {
	border: none !important;
	border-collapse: collapse;
	width: 100% !important;
}

/* Table header */
.woocommerce-cart table.shop_table thead th {
	background: #f9fafb !important;
	border: none !important;
	padding: 10px 14px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: #6b7280 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px;
}

.woocommerce-cart table.shop_table thead th:first-child {
	border-radius: 8px 0 0 8px;
}

.woocommerce-cart table.shop_table thead th:last-child {
	border-radius: 0 8px 8px 0;
}

/* Product rows */
.woocommerce-cart table.shop_table tbody tr.cart_item {
	border-bottom: 1px solid #f0f0f0 !important;
}

.woocommerce-cart table.shop_table tbody tr.cart_item:last-of-type {
	border-bottom: none !important;
}

.woocommerce-cart table.shop_table td {
	padding: 16px 14px !important;
	border: none !important;
	vertical-align: middle !important;
	font-size: 15px;
}

/* Remove button (x) */
.woocommerce-cart table.shop_table td.product-remove a.remove {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	background: #fee2e2 !important;
	color: #dc2626 !important;
	font-size: 18px !important;
	font-weight: 700;
	line-height: 1;
	text-decoration: none !important;
	transition: all 0.2s ease;
}

.woocommerce-cart table.shop_table td.product-remove a.remove:hover {
	background: #dc2626 !important;
	color: #fff !important;
	transform: scale(1.1);
}

/* Product thumbnail */
.woocommerce-cart table.shop_table td.product-thumbnail {
	width: 72px !important;
	padding-right: 0 !important;
}

.woocommerce-cart table.shop_table td.product-thumbnail img {
	width: 60px !important;
	height: 60px !important;
	object-fit: cover;
	border-radius: 8px !important;
	border: 1px solid #eee;
}

/* Product name */
.woocommerce-cart table.shop_table td.product-name a {
	color: #1a1a2e !important;
	font-weight: 500;
	text-decoration: none !important;
	font-size: 15px;
}

.woocommerce-cart table.shop_table td.product-name a:hover {
	color: #e63412 !important;
}

/* Price + subtotal */
.woocommerce-cart table.shop_table td.product-price,
.woocommerce-cart table.shop_table td.product-subtotal {
	font-weight: 600;
	color: #1a1a2e;
}

/* Quantity (plain text for digital products) */
.woocommerce-cart table.shop_table td.product-quantity {
	text-align: center;
	color: #6b7280;
}

/* ── Actions row (coupon + update cart) ─────────────────────── */

.woocommerce-cart table.shop_table td.actions {
	padding: 20px 14px !important;
	border-top: 2px solid #f0f0f0 !important;
}

.woocommerce-cart table.shop_table td.actions .coupon {
	display: flex;
	align-items: center;
	gap: 8px;
	float: none !important;
	margin-bottom: 12px;
}

.woocommerce-cart table.shop_table td.actions .coupon input.input-text {
	border: 1.5px solid #d1d5db !important;
	border-radius: 8px !important;
	padding: 10px 14px !important;
	font-size: 14px !important;
	max-width: 260px;
	width: 100%;
	background: #fff !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce-cart table.shop_table td.actions .coupon input.input-text:focus {
	border-color: #e63412 !important;
	box-shadow: 0 0 0 3px rgba(230, 52, 18, 0.1) !important;
	outline: none !important;
}

.woocommerce-cart table.shop_table td.actions .coupon .button {
	background: #f3f4f6 !important;
	color: #374151 !important;
	border: 1.5px solid #d1d5db !important;
	border-radius: 8px !important;
	padding: 10px 18px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	cursor: pointer;
	transition: all 0.2s ease;
	white-space: nowrap;
}

.woocommerce-cart table.shop_table td.actions .coupon .button:hover {
	background: #e5e7eb !important;
	border-color: #9ca3af !important;
}

/* Update cart button */
.woocommerce-cart table.shop_table td.actions > button[name="update_cart"] {
	float: none !important;
	background: transparent !important;
	color: #6b7280 !important;
	border: 1.5px solid #d1d5db !important;
	border-radius: 8px !important;
	padding: 10px 18px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	cursor: pointer;
	transition: all 0.2s ease;
}

.woocommerce-cart table.shop_table td.actions > button[name="update_cart"]:hover {
	border-color: #e63412 !important;
	color: #e63412 !important;
}

/* Continue Shopping link */
.woocommerce-cart table.shop_table td.actions a.wc-backward {
	display: inline-block;
	color: #e63412 !important;
	font-weight: 500;
	font-size: 14px;
	text-decoration: none !important;
	margin-left: 8px;
}

.woocommerce-cart table.shop_table td.actions a.wc-backward:hover {
	text-decoration: underline !important;
}

/* ── Cart totals card ────────────────────────────────────────── */

.cart-collaterals .cart_totals {
	margin-top: 0 !important;
	margin-bottom: 24px !important;
	float: none !important;
	width: 100% !important;
}

.cart-collaterals .cart_totals h2 {
	font-size: 18px !important;
	font-weight: 600 !important;
	color: #1a1a2e !important;
	margin: 0 0 16px !important;
	padding: 0 0 14px !important;
	border-bottom: 1px solid #eee !important;
}

.cart-collaterals .cart_totals table.shop_table {
	border: none !important;
	margin: 0 !important;
}

.cart-collaterals .cart_totals table.shop_table th,
.cart-collaterals .cart_totals table.shop_table td {
	padding: 8px 0 !important;
	border: none !important;
	background: transparent !important;
	font-size: 15px;
}

.cart-collaterals .cart_totals table.shop_table th {
	color: #6b7280;
	font-weight: 500;
}

.cart-collaterals .cart_totals table.shop_table tr.order-total {
	border-top: 2px solid #1a1a2e;
}

.cart-collaterals .cart_totals table.shop_table tr.order-total th,
.cart-collaterals .cart_totals table.shop_table tr.order-total td {
	font-size: 17px !important;
	font-weight: 700 !important;
	color: #1a1a2e !important;
	padding-top: 12px !important;
}

.cart-collaterals .cart_totals small.includes_tax {
	font-size: 12px;
	color: #6b7280;
	font-weight: 400;
}

/* Proceed to checkout button */
.cart-collaterals .wc-proceed-to-checkout {
	margin-top: 20px;
	padding: 0 !important;
}

.cart-collaterals .wc-proceed-to-checkout a.checkout-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	padding: 16px 32px !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	text-transform: none !important;
	text-align: center;
	letter-spacing: 0.3px;
	background: #e63412 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 10px !important;
	cursor: pointer;
	transition: all 0.25s ease;
	box-shadow: 0 4px 14px rgba(230, 52, 18, 0.25);
	line-height: 1;
	min-height: 54px;
	box-sizing: border-box;
}

.cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover {
	background: #c42a0e !important;
	box-shadow: 0 6px 20px rgba(230, 52, 18, 0.35);
	transform: translateY(-1px);
}

/* ── Cart page responsive ────────────────────────────────────── */

@media (max-width: 600px) {
	.woocommerce-cart-form,
	.cart-collaterals .cart_totals {
		padding: 18px 16px !important;
		border-radius: 8px !important;
	}

	.woocommerce-cart table.shop_table td.actions .coupon {
		flex-wrap: wrap;
	}

	.woocommerce-cart table.shop_table td.actions .coupon input.input-text {
		max-width: 100%;
	}

	.ur-frontend-form.login,
	.ur-frontend-form:not(.login) {
		padding: 20px 18px !important;
		border-radius: 8px !important;
	}
}

/* ══════════════════════════════════════════════════════════════
   LOGIN MODAL POPUP
   ══════════════════════════════════════════════════════════════ */

body.gtfy-modal-open {
	overflow: hidden !important;
}

.gtfy-login-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
}

.gtfy-login-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.gtfy-login-modal__card {
	position: relative;
	background: #fff;
	border: 1px solid #e2e5e9;
	border-radius: 14px;
	padding: 36px 32px 28px;
	width: 100%;
	max-width: 420px;
	margin: 16px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
	animation: gtfy-modal-enter 0.25s ease;
}

@keyframes gtfy-modal-enter {
	from { opacity: 0; transform: translateY(20px) scale(0.96); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}

.gtfy-login-modal__close {
	position: absolute;
	top: 14px;
	right: 16px;
	background: none;
	border: none;
	font-size: 28px;
	line-height: 1;
	color: #9ca3af;
	cursor: pointer;
	padding: 0 4px;
	transition: color 0.2s;
}

.gtfy-login-modal__close:hover {
	color: #374151;
}

.gtfy-login-modal__title {
	font-size: 22px !important;
	font-weight: 700 !important;
	color: #1a1a2e !important;
	margin: 0 0 24px !important;
	padding: 0 !important;
	text-align: center;
	border: none !important;
}

/* Form fields */
.gtfy-login-modal__field {
	margin-bottom: 14px;
}

.gtfy-login-modal__field input[type="text"],
.gtfy-login-modal__field input[type="password"],
.gtfy-login-modal__field input[type="email"] {
	width: 100% !important;
	border: 1.5px solid #d1d5db !important;
	border-radius: 8px !important;
	padding: 12px 16px !important;
	font-size: 15px !important;
	background: #fff !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	box-sizing: border-box;
	height: auto !important;
}

.gtfy-login-modal__field input:focus {
	border-color: #e63412 !important;
	box-shadow: 0 0 0 3px rgba(230, 52, 18, 0.1) !important;
	outline: none !important;
}

.gtfy-login-modal__field input::placeholder {
	color: #9ca3af;
	font-size: 14px;
}

/* Password toggle */
.gtfy-login-modal__password-wrap {
	position: relative;
}

.gtfy-login-modal__password-wrap input {
	padding-right: 44px !important;
}

.gtfy-login-modal__pw-toggle {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: #9ca3af;
	text-decoration: none !important;
	line-height: 1;
	display: flex;
}

.gtfy-login-modal__pw-toggle:hover,
.gtfy-login-modal__pw-toggle.gtfy-pw-visible {
	color: #e63412;
}

/* Remember me + Lost password row */
.gtfy-login-modal__options {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 4px 0 16px;
}

.gtfy-login-modal__remember {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #6b7280;
	cursor: pointer;
}

.gtfy-login-modal__remember input[type="checkbox"] {
	accent-color: #e63412;
	width: 16px;
	height: 16px;
	margin: 0;
}

.gtfy-login-modal__forgot {
	color: #e63412 !important;
	text-decoration: none !important;
	font-weight: 500;
	font-size: 13px;
}

.gtfy-login-modal__forgot:hover {
	text-decoration: underline !important;
}

/* Error message */
.gtfy-login-modal__error {
	background: #fef2f2;
	color: #dc2626;
	border: 1px solid #fecaca;
	border-radius: 8px;
	padding: 10px 14px;
	font-size: 13px;
	margin-bottom: 14px;
}

/* Submit button */
.gtfy-login-modal__submit {
	width: 100% !important;
	padding: 14px 24px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	text-transform: none !important;
	background: #e63412 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 10px !important;
	cursor: pointer;
	transition: all 0.25s ease;
	box-shadow: 0 4px 14px rgba(230, 52, 18, 0.25);
	line-height: 1.4;
}

.gtfy-login-modal__submit:hover {
	background: #c42a0e !important;
	box-shadow: 0 6px 20px rgba(230, 52, 18, 0.35);
	transform: translateY(-1px);
}

.gtfy-login-modal__submit:disabled {
	opacity: 0.7;
	cursor: wait;
	transform: none !important;
}

/* Registration link */
.gtfy-login-modal__register {
	text-align: center;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #f0f0f0;
}

.gtfy-login-modal__register a {
	color: #e63412 !important;
	font-weight: 500;
	text-decoration: none !important;
	font-size: 14px;
}

.gtfy-login-modal__register a:hover {
	text-decoration: underline !important;
}

/* Responsive */
@media (max-width: 480px) {
	.gtfy-login-modal__card {
		padding: 28px 20px 22px;
		border-radius: 12px;
	}

	.gtfy-login-modal__options {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}
}

/* ══════════════════════════════════════════════════════════════
   GTFY UNIFIED PROFILE — LearnPress Profile Page
   ══════════════════════════════════════════════════════════════ */

/* ── Override LearnPress primary color ─────────────────────── */

:root {
	--lp-primary-color: #e63412 !important;
	--lp-secondary-color: #e63412 !important;
}

/* ── Profile header (avatar + username area) ───────────────── */

.lp-user-profile .wrapper-profile-header {
	background: #fff;
	border: 1px solid #e2e5e9;
	border-radius: 12px;
	padding: 28px 32px;
	margin-bottom: 14px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

.lp-user-profile .lp-content-area.lp-profile-content-area {
	display: flex;
	align-items: center;
	gap: 20px;
}

.lp-user-profile .lp-profile-left .user-avatar {
	position: relative;
}

.lp-user-profile .lp-profile-left .user-avatar img.avatar {
	width: 80px !important;
	height: 80px !important;
	border-radius: 50% !important;
	border: 3px solid #e63412 !important;
	object-fit: cover;
}

.lp-user-profile .lp-profile-right .lp-profile-username {
	font-size: 22px !important;
	font-weight: 700 !important;
	color: #1a1a2e !important;
	margin: 0 !important;
}

/* Hide the cover image area (not used, looks broken) */
.lp-user-profile .lp-user-cover-image_background {
	display: none !important;
}

/* Style edit avatar/cover links */
.lp-user-profile .lp-btn-to-edit-avatar,
.lp-user-profile .lp-btn-to-edit-cover-image {
	font-size: 12px;
	color: #e63412 !important;
	text-decoration: none !important;
	font-weight: 500;
	display: block;
	text-align: center;
	margin-top: 4px;
}

.lp-user-profile .lp-btn-to-edit-avatar:hover,
.lp-user-profile .lp-btn-to-edit-cover-image:hover {
	text-decoration: underline !important;
}

/* ── Sidebar navigation ───────────────────────────────────── */

.lp-user-profile #profile-sidebar {
	background: #fff;
	border: 1px solid #e2e5e9;
	border-radius: 12px;
	padding: 8px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
	margin-bottom: 20px;
}

.lp-user-profile .lp-profile-nav-tabs {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.lp-user-profile .lp-profile-nav-tabs > li {
	margin: 0 !important;
}

.lp-user-profile .lp-profile-nav-tabs > li > a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px !important;
	border-radius: 8px;
	color: #374151 !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	transition: all 0.15s ease;
	border: none !important;
	background: transparent !important;
}

.lp-user-profile .lp-profile-nav-tabs > li > a:hover {
	background: #f9fafb !important;
	color: #e63412 !important;
}

.lp-user-profile .lp-profile-nav-tabs > li.active > a {
	background: #fef5f3 !important;
	color: #e63412 !important;
	font-weight: 600 !important;
}

.lp-user-profile .lp-profile-nav-tabs > li > a i {
	font-size: 16px;
	width: 20px;
	text-align: center;
	color: inherit !important;
}

/* Sub-sections (settings) */
.lp-user-profile .profile-tab-sections {
	list-style: none !important;
	padding: 0 0 0 28px !important;
	margin: 0 0 4px !important;
}

.lp-user-profile .profile-tab-sections li a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px !important;
	border-radius: 6px;
	color: #6b7280 !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	transition: all 0.15s ease;
}

.lp-user-profile .profile-tab-sections li a:hover {
	color: #e63412 !important;
	background: #fef5f3 !important;
}

.lp-user-profile .profile-tab-sections li.active a {
	color: #e63412 !important;
	font-weight: 600 !important;
}

/* ── Main content area ────────────────────────────────────── */

.lp-user-profile #profile-content {
	background: #fff;
	border: 1px solid #e2e5e9;
	border-radius: 12px;
	padding: 24px 28px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

/* ── Statistics dashboard ─────────────────────────────────── */

.lp-user-profile #dashboard-statistic {
	margin-bottom: 20px;
}

.lp-user-profile .dashboard-statistic__row,
.lp-user-profile .learn-press-profile-course__statistic {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 8px;
	margin-bottom: 12px;
}

.lp-user-profile .statistic-box {
	flex: 1;
	min-width: 120px;
	background: #f9fafb;
	border: 1px solid #e2e5e9;
	border-radius: 10px;
	padding: 14px 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 6px;
	transition: border-color 0.2s ease;
}

.lp-user-profile .statistic-box:hover {
	border-color: #e63412;
}

.lp-user-profile .statistic-box__icon {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-size: 16px;
	flex-shrink: 0;
	margin-bottom: 4px;
}

.lp-user-profile .statistic-box__text {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.lp-user-profile .statistic-box__text label {
	font-size: 13px !important;
	color: #6b7280 !important;
	font-weight: 500 !important;
	margin: 0 !important;
	line-height: 1.3;
}

.lp-user-profile .statistic-box__text__number {
	font-size: 22px !important;
	font-weight: 700 !important;
	color: #1a1a2e !important;
	line-height: 1.2;
	margin-top: 2px;
}

/* ── Course tabs (filter strip) ───────────────────────────── */

/* The wrapper contains both tabs + content — must be block, not flex */
.lp-user-profile .learn-press-course-tab-filters {
	display: block !important;
}

/* The actual tab list (ul.learn-press-filters) = horizontal strip */
.lp-user-profile ul.learn-press-filters {
	display: flex !important;
	flex-wrap: wrap;
	gap: 4px;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 16px !important;
	border-bottom: 2px solid #f0f0f0;
	padding-bottom: 0 !important;
}

.lp-user-profile ul.learn-press-filters li {
	margin: 0 !important;
}

.lp-user-profile ul.learn-press-filters li a {
	padding: 8px 16px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #6b7280 !important;
	text-decoration: none !important;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	transition: all 0.15s ease;
	display: inline-block;
	cursor: pointer;
	white-space: nowrap;
}

.lp-user-profile ul.learn-press-filters li a:hover {
	color: #e63412 !important;
}

.lp-user-profile ul.learn-press-filters li a.active {
	color: #e63412 !important;
	font-weight: 600 !important;
	border-bottom-color: #e63412;
}

/* ── Course table ─────────────────────────────────────────── */

.lp-user-profile table.lp-list-table {
	width: 100%;
	border-collapse: collapse;
	border: none !important;
}

.lp-user-profile table.lp-list-table thead th {
	background: #f9fafb !important;
	border: none !important;
	padding: 10px 14px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #6b7280 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px;
}

.lp-user-profile table.lp-list-table thead th:first-child {
	border-radius: 8px 0 0 8px;
}

.lp-user-profile table.lp-list-table thead th:last-child {
	border-radius: 0 8px 8px 0;
}

.lp-user-profile table.lp-list-table tbody td {
	padding: 14px !important;
	border: none !important;
	border-bottom: 1px solid #f0f0f0 !important;
	font-size: 15px;
	color: #374151;
	vertical-align: middle !important;
}

.lp-user-profile table.lp-list-table tbody tr:last-child td {
	border-bottom: none !important;
}

.lp-user-profile table.lp-list-table tbody td a {
	color: #1a1a2e !important;
	font-weight: 500;
	text-decoration: none !important;
}

.lp-user-profile table.lp-list-table tbody td a:hover {
	color: #e63412 !important;
}

/* Course thumbnail in table */
.lp-user-profile table.lp-list-table .course-thumbnail img {
	width: 60px;
	height: 40px;
	object-fit: cover;
	border-radius: 6px;
	border: 1px solid #eee;
}

/* Progress percentage */
.lp-user-profile .learn-press-progress {
	height: 6px !important;
	background: #e5e7eb !important;
	border-radius: 3px !important;
	overflow: hidden;
}

.lp-user-profile .learn-press-progress .learn-press-progress__active {
	background: #e63412 !important;
	border-radius: 3px !important;
}

/* ── Settings forms ───────────────────────────────────────── */

.lp-user-profile .learn-press-form ul.form-fields {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 14px;
}

.lp-user-profile .learn-press-form .form-field {
	margin: 0 !important;
}

.lp-user-profile .learn-press-form .form-field__clear,
.lp-user-profile .learn-press-form .form-field__bio {
	grid-column: 1 / -1;
}

.lp-user-profile .learn-press-form .form-field label {
	display: block;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #374151 !important;
	margin-bottom: 4px !important;
}

.lp-user-profile .learn-press-form .form-field label .required {
	color: #dc2626;
}

.lp-user-profile .learn-press-form .form-field input.regular-text,
.lp-user-profile .learn-press-form .form-field input[type="text"],
.lp-user-profile .learn-press-form .form-field input[type="email"],
.lp-user-profile .learn-press-form .form-field input[type="password"],
.lp-user-profile .learn-press-form .form-field textarea,
.lp-user-profile .learn-press-form .form-field select {
	border: 1.5px solid #d1d5db !important;
	border-radius: 8px !important;
	padding: 10px 14px !important;
	font-size: 15px !important;
	width: 100% !important;
	background: #fff !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	box-sizing: border-box;
}

.lp-user-profile .learn-press-form .form-field input:focus,
.lp-user-profile .learn-press-form .form-field textarea:focus,
.lp-user-profile .learn-press-form .form-field select:focus {
	border-color: #e63412 !important;
	box-shadow: 0 0 0 3px rgba(230, 52, 18, 0.1) !important;
	outline: none !important;
}

.lp-user-profile .learn-press-form .form-field textarea {
	min-height: 80px;
	resize: vertical;
}

.lp-user-profile .learn-press-form .form-field .description {
	font-size: 12px;
	color: #9ca3af;
	margin-top: 4px;
}

/* Save button */
.lp-user-profile .learn-press-form button.lp-button,
.lp-user-profile button.lp-button {
	padding: 12px 28px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	text-transform: none !important;
	background: #e63412 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 10px !important;
	cursor: pointer;
	transition: all 0.25s ease;
	box-shadow: 0 4px 14px rgba(230, 52, 18, 0.25);
	margin-top: 40px !important;
}

.lp-user-profile .learn-press-form button.lp-button:hover,
.lp-user-profile button.lp-button:hover {
	background: #c42a0e !important;
	box-shadow: 0 6px 20px rgba(230, 52, 18, 0.35);
	transform: translateY(-1px);
}

/* ── Avatar / Cover Image settings page ───────────────────── */

.lp-user-profile .lp-avatar-preview img {
	border-radius: 50% !important;
	border: 3px solid #e63412 !important;
}

/* ── WooCommerce orders table in profile ──────────────────── */

.lp-user-profile .wc-order-table,
.lp-user-profile table.lp-list-table.lp-list-order,
.lp-user-profile table.profile-list-orders {
	border: none !important;
}

/* Hide the redundant h3 heading (tab title is enough) */
.lp-user-profile h3.profile-heading {
	display: none !important;
}

/* Action links: add spacing and style as buttons */
.lp-user-profile .column-order-actions a,
.lp-user-profile .wc-order-table td .button,
.lp-user-profile table.lp-list-table .lp-action a {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 6px 14px !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	background: #f3f4f6 !important;
	color: #374151 !important;
	border: 1px solid #d1d5db !important;
	border-radius: 6px !important;
	text-decoration: none !important;
	cursor: pointer;
	transition: all 0.15s ease;
	margin: 2px 4px 2px 0;
}

.lp-user-profile .column-order-actions a:hover,
.lp-user-profile .wc-order-table td .button:hover,
.lp-user-profile table.lp-list-table .lp-action a:hover {
	background: #e5e7eb !important;
	border-color: #9ca3af !important;
}

/* ── Billing address form in profile ─────────────────────── */

.gtfy-billing-saved {
	background: #dcfce7;
	color: #166534;
	padding: 12px 16px;
	border-radius: 8px;
	margin-bottom: 16px;
	font-weight: 500;
	font-size: 15px;
}

.gtfy-billing-form .gtfy-billing-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 14px;
}

.gtfy-billing-form .form-row {
	margin: 0 !important;
	padding: 0 !important;
}

.gtfy-billing-form .form-row-wide {
	grid-column: 1 / -1;
}

.gtfy-billing-form .form-row-first {
	grid-column: 1;
}

.gtfy-billing-form .form-row-last {
	grid-column: 2;
}

.gtfy-billing-form label {
	display: block;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #374151 !important;
	margin-bottom: 4px !important;
}

.gtfy-billing-form label .required {
	color: #dc2626;
}

.gtfy-billing-form label .optional {
	color: #9ca3af;
	font-weight: 400;
	font-size: 13px;
}

.gtfy-billing-form input.input-text,
.gtfy-billing-form textarea,
.gtfy-billing-form select {
	border: 1.5px solid #d1d5db !important;
	border-radius: 8px !important;
	padding: 10px 14px !important;
	font-size: 15px !important;
	width: 100% !important;
	background: #fff !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	box-sizing: border-box;
}

.gtfy-billing-form input.input-text:focus,
.gtfy-billing-form textarea:focus,
.gtfy-billing-form select:focus {
	border-color: #e63412 !important;
	box-shadow: 0 0 0 3px rgba(230, 52, 18, 0.1) !important;
	outline: none !important;
}

@media (max-width: 768px) {
	.gtfy-billing-form .gtfy-billing-fields {
		grid-template-columns: 1fr;
	}

	.gtfy-billing-form .form-row-first,
	.gtfy-billing-form .form-row-last {
		grid-column: 1;
	}
}

/* Status labels */
.lp-user-profile .lp-label-completed,
.lp-user-profile .lp-label-wc-completed {
	background: #dcfce7 !important;
	color: #166534 !important;
	padding: 3px 10px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 600;
}

.lp-user-profile .lp-label-pending,
.lp-user-profile .lp-label-processing {
	background: #fef3c7 !important;
	color: #92400e !important;
	padding: 3px 10px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 600;
}

/* ── Certificates tab ─────────────────────────────────────── */

.lp-user-profile .lp-list-certificate {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 16px;
}

.lp-user-profile .lp-list-certificate .cert-item {
	border: 1px solid #e2e5e9;
	border-radius: 10px;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.lp-user-profile .lp-list-certificate .cert-item:hover {
	border-color: #e63412;
	box-shadow: 0 4px 12px rgba(230, 52, 18, 0.1);
}

/* ── Social links in header ───────────────────────────────── */

.lp-user-profile .lp-profile-socials a {
	color: #6b7280 !important;
	transition: color 0.2s ease;
}

.lp-user-profile .lp-profile-socials a:hover {
	color: #e63412 !important;
}

/* ── Profile page title (override "Profile" to "Mein Konto") ── */

.learnpress-profile .top_heading_out .page-title {
	text-align: center;
}

/* ── Responsive ───────────────────────────────────────────── */

@media (max-width: 768px) {
	.lp-user-profile .wrapper-profile-header {
		padding: 20px;
	}

	.lp-user-profile #profile-sidebar {
		margin-bottom: 16px;
	}

	.lp-user-profile #profile-content {
		padding: 18px 16px;
	}

	.lp-user-profile .dashboard-statistic__row,
	.lp-user-profile .learn-press-profile-course__statistic {
		grid-template-columns: repeat(3, 1fr);
	}

	.lp-user-profile .learn-press-form ul.form-fields {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	.lp-user-profile .lp-profile-left .user-avatar img.avatar {
		width: 60px !important;
		height: 60px !important;
	}

	.lp-user-profile .lp-profile-right .lp-profile-username {
		font-size: 18px !important;
	}
}

/* ══════════════════════════════════════════════════════════════
   GTFY Modern Search Overlay 2026
   ══════════════════════════════════════════════════════════════ */

/* ── Toggle button (magnifying glass in header) ──────────── */
/* Keep Elementor defaults, only add hover color */

.elementor-search-form--skin-full_screen .elementor-search-form__toggle:hover,
.elementor-search-form--skin-full_screen .elementor-search-form__toggle:hover i {
	color: #e63412 !important;
}

/* ── Fullscreen overlay container ────────────────────────── */

.elementor-search-form--skin-full_screen .elementor-search-form__container {
	background: rgba(255, 255, 255, 0.68) !important;
	backdrop-filter: blur(16px) !important;
	-webkit-backdrop-filter: blur(16px) !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 20px !important;
	z-index: 99999 !important;
	position: fixed !important;
	inset: 0 !important;
	height: 100vh !important;
	width: 100vw !important;
	transition: opacity 0.3s ease, transform 0.3s ease !important;
}

/* Hidden state */
.elementor-search-form--skin-full_screen .elementor-search-form__container:not(.elementor-search-form--full-screen) {
	opacity: 0 !important;
	transform: scale(0.97) !important;
	pointer-events: none !important;
}

/* Visible state */
.elementor-search-form--skin-full_screen .elementor-search-form__container.elementor-search-form--full-screen {
	opacity: 1 !important;
	transform: scale(1) !important;
	pointer-events: auto !important;
}

/* ── GTFY heading injected via JS ────────────────────────── */

.gtfy-search-heading {
	color: #1a1a2e;
	font-size: 30px;
	font-weight: 700;
	margin-bottom: 6px;
	letter-spacing: -0.5px;
	text-align: center;
	animation: gtfySearchFadeDown 0.35s ease 0.05s both;
}

.gtfy-search-subheading {
	color: #6b7280;
	font-size: 15px;
	font-weight: 400;
	margin-bottom: 32px;
	text-align: center;
	animation: gtfySearchFadeDown 0.35s ease 0.12s both;
}

@keyframes gtfySearchFadeDown {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ── Search input + button wrapper (injected via JS) ─────── */

.gtfy-search-row {
	display: flex;
	align-items: stretch;
	max-width: 620px;
	width: 100%;
	gap: 0;
	animation: gtfySearchFadeDown 0.35s ease 0.18s both;
}

.elementor-search-form--skin-full_screen .elementor-search-form__input {
	font-size: 18px !important;
	color: #1a1a2e !important;
	background: #fff !important;
	border: 1.5px solid #d1d5db !important;
	border-right: none !important;
	border-radius: 10px 0 0 10px !important;
	padding: 16px 20px !important;
	max-width: none !important;
	width: 100% !important;
	flex: 1 !important;
	text-align: left !important;
	line-height: 1.4 !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.elementor-search-form--skin-full_screen .elementor-search-form__input:focus {
	border-color: #e63412 !important;
	box-shadow: 0 0 0 3px rgba(230, 52, 18, 0.1) !important;
	outline: none !important;
}

.elementor-search-form--skin-full_screen .elementor-search-form__input::placeholder {
	color: #9ca3af !important;
	opacity: 1 !important;
}

/* ── Search submit button (injected via JS) ──────────────── */

.gtfy-search-submit {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 14px !important;
	background: #e63412 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 0 10px 10px 0 !important;
	padding: 18px 48px !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	letter-spacing: 0.3px !important;
	text-transform: none !important;
	line-height: 1 !important;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 4px 14px rgba(230, 52, 18, 0.25);
}

.gtfy-search-submit:hover {
	background: #c42a0e;
	box-shadow: 0 6px 20px rgba(230, 52, 18, 0.35);
}

.gtfy-search-submit svg {
	width: 20px !important;
	height: 20px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2.5 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
	flex-shrink: 0 !important;
}

.gtfy-search-submit span {
	font-size: 17px !important;
	text-transform: none !important;
	letter-spacing: 0.3px !important;
}

/* ── Close button ────────────────────────────────────────── */

.elementor-search-form--skin-full_screen .dialog-lightbox-close-button {
	position: fixed !important;
	top: 24px !important;
	right: 28px !important;
	width: 44px !important;
	height: 44px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #f3f4f6 !important;
	border: 1px solid #e2e5e9 !important;
	border-radius: 50% !important;
	cursor: pointer !important;
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
	z-index: 100000 !important;
}

.elementor-search-form--skin-full_screen .dialog-lightbox-close-button:hover {
	background: #fee2e2 !important;
	border-color: #e63412 !important;
	transform: rotate(90deg);
}

.elementor-search-form--skin-full_screen .dialog-lightbox-close-button i {
	color: #374151 !important;
	font-size: 18px !important;
}

.elementor-search-form--skin-full_screen .dialog-lightbox-close-button:hover i {
	color: #e63412 !important;
}

/* Hide close button when overlay is hidden */
.elementor-search-form--skin-full_screen .elementor-search-form__container:not(.elementor-search-form--full-screen) .dialog-lightbox-close-button {
	display: none !important;
}

/* ── Keyboard hint ───────────────────────────────────────── */

.gtfy-search-hint {
	margin-top: 20px;
	color: #9ca3af;
	font-size: 13px;
	text-align: center;
	animation: gtfySearchFadeDown 0.35s ease 0.28s both;
}

.gtfy-search-hint kbd {
	display: inline-block;
	background: #f3f4f6;
	border: 1px solid #e2e5e9;
	border-radius: 4px;
	padding: 2px 7px;
	font-size: 12px;
	font-family: inherit;
	color: #6b7280;
	margin: 0 2px;
}

/* ── Responsive ──────────────────────────────────────────── */

@media (max-width: 768px) {
	.gtfy-search-heading {
		font-size: 24px;
	}

	.gtfy-search-subheading {
		font-size: 14px;
		margin-bottom: 24px;
	}

	.gtfy-search-row {
		flex-direction: column;
		gap: 12px;
	}

	.elementor-search-form--skin-full_screen .elementor-search-form__input {
		font-size: 16px !important;
		padding: 14px 16px !important;
		border-right: 1.5px solid #d1d5db !important;
		border-radius: 10px !important;
	}

	.elementor-search-form--skin-full_screen .elementor-search-form__input:focus {
		border-right-color: #e63412 !important;
	}

	.gtfy-search-submit {
		border-radius: 10px;
		padding: 14px 24px;
		justify-content: center;
	}

	.elementor-search-form--skin-full_screen .dialog-lightbox-close-button {
		top: 16px !important;
		right: 16px !important;
		width: 40px !important;
		height: 40px !important;
	}
}

@media (max-width: 480px) {
	.gtfy-search-heading {
		font-size: 20px;
	}

	.elementor-search-form--skin-full_screen .elementor-search-form__input {
		font-size: 15px !important;
	}
}

/* ══════════════════════════════════════════════════════════════
   GTFY Modern Search Results Page 2026
   ══════════════════════════════════════════════════════════════ */

/* ── Results wrapper ─────────────────────────────────────── */

.gtfy-search-results {
	max-width: 860px;
	margin: 0 auto;
	padding: 0 0 40px;
}

/* ── Header: result count + refine search ────────────────── */

.gtfy-search-results__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 24px;
	flex-wrap: wrap;
}

.gtfy-search-results__count {
	font-size: 15px;
	color: #374151;
	margin: 0;
}

.gtfy-search-results__count strong {
	color: #1a1a2e;
	font-weight: 700;
}

.gtfy-search-results__refine {
	display: flex;
	align-items: stretch;
	max-width: 320px;
	width: 100%;
}

.gtfy-search-results__refine input[type="search"] {
	flex: 1;
	border: 1.5px solid #d1d5db;
	border-right: none;
	border-radius: 8px 0 0 8px;
	padding: 10px 14px;
	font-size: 14px;
	color: #1a1a2e;
	background: #fff;
	outline: none;
	transition: border-color 0.2s ease;
}

.gtfy-search-results__refine input[type="search"]:focus {
	border-color: #e63412;
	box-shadow: 0 0 0 3px rgba(230, 52, 18, 0.1);
}

.gtfy-search-results__refine button {
	background: #e63412;
	border: none;
	border-radius: 0 8px 8px 0;
	padding: 10px 16px;
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	transition: background 0.2s ease;
}

.gtfy-search-results__refine button:hover {
	background: #c42a0e;
}

/* ── Result cards ────────────────────────────────────────── */

.gtfy-search-results__list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.gtfy-search-card {
	background: #fff;
	border: 1px solid #e2e5e9;
	border-radius: 12px;
	padding: 24px 28px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.gtfy-search-card:hover {
	border-color: #e63412;
	box-shadow: 0 4px 16px rgba(230, 52, 18, 0.08);
}

/* Post type badge */
.gtfy-search-card__badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 600;
	color: #e63412;
	background: #fef2f0;
	padding: 4px 12px;
	border-radius: 20px;
	margin-bottom: 12px;
}

.gtfy-search-card__badge i {
	font-size: 11px;
}

/* Title */
.gtfy-search-card__title {
	font-size: 19px;
	font-weight: 700;
	margin: 0 0 10px;
	line-height: 1.35;
}

.gtfy-search-card__title a {
	color: #1a1a2e;
	text-decoration: none;
	transition: color 0.15s ease;
}

.gtfy-search-card__title a:hover {
	color: #e63412;
}

/* Excerpt */
.gtfy-search-card__excerpt {
	font-size: 15px;
	line-height: 1.65;
	color: #374151;
	margin-bottom: 16px;
}

/* Footer with "Weiterlesen" link */
.gtfy-search-card__footer {
	display: flex;
}

.gtfy-search-card__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 600;
	color: #e63412;
	text-decoration: none;
	transition: gap 0.2s ease;
}

.gtfy-search-card__link:hover {
	gap: 10px;
	text-decoration: none;
	color: #c42a0e;
}

.gtfy-search-card__link svg {
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

.gtfy-search-card__link:hover svg {
	transform: translateX(2px);
}

/* ── Empty state ─────────────────────────────────────────── */

.gtfy-search-results__empty {
	text-align: center;
	padding: 60px 20px;
}

.gtfy-search-results__empty-icon {
	margin-bottom: 20px;
}

.gtfy-search-results__empty h2 {
	font-size: 24px;
	font-weight: 700;
	color: #1a1a2e;
	margin-bottom: 8px;
}

.gtfy-search-results__empty p {
	font-size: 15px;
	color: #6b7280;
	max-width: 480px;
	margin: 0 auto 24px;
	line-height: 1.6;
}

.gtfy-search-results__empty .gtfy-search-results__refine {
	max-width: 420px;
	margin: 0 auto;
}

/* ── Pagination override ─────────────────────────────────── */

.gtfy-search-results ~ .pagination,
.gtfy-search-results + .pagination,
.content-area .pagination {
	text-align: center;
	margin: 32px 0 0;
}

.content-area .pagination ul {
	display: flex;
	justify-content: center;
	gap: 6px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.content-area .pagination ul li {
	list-style: none;
}

.content-area .pagination ul li a,
.content-area .pagination ul li span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	font-size: 14px;
	font-weight: 500;
	color: #374151;
	background: #fff;
	border: 1px solid #e2e5e9;
	border-radius: 8px;
	text-decoration: none;
	transition: all 0.2s ease;
}

.content-area .pagination ul li a:hover {
	border-color: #e63412;
	color: #e63412;
	background: #fef2f0;
}

.content-area .pagination ul li span.current {
	background: #e63412;
	color: #fff;
	border-color: #e63412;
	font-weight: 700;
}

/* ── Responsive ──────────────────────────────────────────── */

@media (max-width: 768px) {
	.gtfy-search-results {
		padding: 0 0 32px;
	}

	.gtfy-search-results__header {
		flex-direction: column;
		align-items: flex-start;
	}

	.gtfy-search-results__refine {
		max-width: 100%;
	}

	.gtfy-search-card {
		padding: 20px;
	}

	.gtfy-search-card__title {
		font-size: 17px;
	}
}

@media (max-width: 480px) {
	.gtfy-search-card {
		padding: 16px;
		border-radius: 10px;
	}

	.gtfy-search-card__excerpt {
		font-size: 14px;
	}
}

/* ══════════════════════════════════════════════════════════════
   LA MEMBERSHIP — Profile Tab
   ══════════════════════════════════════════════════════════════ */

.la-membership__card {
	background: #fff;
	border: 1px solid #e2e5e9;
	border-radius: 12px;
	padding: 28px 32px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

/* ── Header ──────────────────────────────────────────────────── */

.la-membership__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #f0f0f0;
	flex-wrap: wrap;
	gap: 12px;
}

.la-membership__level-info {
	display: flex;
	align-items: center;
	gap: 12px;
}

.la-membership__level-name {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #1a1a2e !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}

.la-membership__badge--active {
	display: inline-block;
	background: #f0fdf4;
	color: #16a34a;
	font-size: 12px;
	font-weight: 600;
	padding: 3px 12px;
	border-radius: 20px;
	border: 1px solid #bbf7d0;
}

.la-membership__price {
	font-size: 15px;
	color: #374151;
	font-weight: 600;
}

/* ── Details grid ────────────────────────────────────────────── */

.la-membership__details {
	display: flex;
	gap: 32px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}

.la-membership__detail {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.la-membership__detail-label {
	font-size: 12px;
	color: #6b7280;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

.la-membership__detail-value {
	font-size: 15px;
	font-weight: 600;
	color: #1a1a2e;
}

.la-membership__detail-value--warning {
	color: #dc2626;
}

.la-membership__expiring-hint {
	display: inline-block;
	background: #fef2f2;
	color: #dc2626;
	font-size: 11px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 4px;
	margin-left: 8px;
}

/* ── Course list ─────────────────────────────────────────────── */

.la-membership__courses {
	padding-top: 16px;
	border-top: 1px solid #f0f0f0;
	margin-bottom: 20px;
}

.la-membership__courses-title {
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #1a1a2e !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
	border: none !important;
}

.la-membership__course-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 6px 24px;
}

.la-membership__course-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	padding: 4px 0;
}

.la-membership__course-item svg {
	flex-shrink: 0;
}

.la-membership__course-item a {
	color: #374151 !important;
	text-decoration: none !important;
}

.la-membership__course-item a:hover {
	color: #e63412 !important;
}

/* ── Actions ─────────────────────────────────────────────────── */

.la-membership__actions {
	display: flex;
	align-items: center;
	gap: 20px;
	padding-top: 20px;
	border-top: 1px solid #f0f0f0;
}

.la-membership__actions .lp-button {
	background: #e63412 !important;
	color: #fff !important;
	border-radius: 10px !important;
	padding: 10px 24px !important;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none !important;
	transition: all 0.25s ease;
}

.la-membership__actions .lp-button:hover {
	background: #c42a0e !important;
	transform: translateY(-1px);
}

.la-membership__cancel-link {
	color: #6b7280 !important;
	font-size: 13px;
	text-decoration: none !important;
}

.la-membership__cancel-link:hover {
	color: #dc2626 !important;
}

/* ── Empty state ─────────────────────────────────────────────── */

.la-membership--empty {
	text-align: center;
	padding: 40px 20px;
}

.la-membership__empty-icon {
	margin-bottom: 16px;
}

.la-membership__empty-title {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #1a1a2e !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
	border: none !important;
}

.la-membership--empty p {
	color: #6b7280;
	font-size: 15px;
	margin-bottom: 20px;
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.6;
}

.la-membership__price-period {
	font-size: 13px;
	font-weight: 500;
	color: #6b7280;
}

.la-membership--empty .lp-button {
	background: #e63412 !important;
	color: #fff !important;
	border-radius: 10px !important;
	padding: 12px 28px !important;
	font-weight: 600;
	text-decoration: none !important;
}

/* ── Responsive ──────────────────────────────────────────────── */

@media (max-width: 768px) {
	.la-membership__card {
		padding: 20px 18px;
	}

	.la-membership__header {
		flex-direction: column;
	}

	.la-membership__details {
		gap: 16px;
	}

	.la-membership__course-list {
		grid-template-columns: 1fr;
	}
}

/* ══════════════════════════════════════════════════════════════
   LA LEVELS — PMPro Membership Pricing Cards
   ══════════════════════════════════════════════════════════════ */

.la-levels {
	max-width: 960px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 16px 40px;
	box-sizing: border-box;
	float: none !important;
	width: 100% !important;
}


/* ── Message bar ─────────────────────────────────────────────── */

.la-levels__message {
	background: #f8f9fa;
	border: 1px solid #e2e5e9;
	border-left: 3px solid #e63412;
	border-radius: 8px;
	padding: 12px 18px;
	font-size: 14px;
	color: #495057;
	margin-bottom: 24px;
}

.la-levels__message--pmpro_error {
	background: #fef2f2;
	border-color: #fecaca;
	border-left-color: #dc2626;
	color: #dc2626;
}

.la-levels__message--pmpro_success {
	background: #f0fdf4;
	border-color: #bbf7d0;
	border-left-color: #16a34a;
	color: #166534;
}

/* ── Card grid ───────────────────────────────────────────────── */

.la-levels__grid {
	display: grid;
	gap: 24px;
	margin-bottom: 48px;
}

.la-levels__grid--1 {
	grid-template-columns: 1fr;
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
}

.la-levels__grid--2 {
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: auto auto auto 1fr auto;
}

.la-levels__grid--3 {
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: auto auto auto 1fr auto;
}

/* Cards span 5 rows: header, description, stats, courses, cta */

/* ── Single card ─────────────────────────────────────────────── */

.la-levels__card {
	position: relative;
	background: #fff;
	border: 1px solid #e2e5e9;
	border-radius: 12px;
	padding: 32px 28px 28px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
	grid-row: span 5;
	display: grid;
	grid-template-rows: subgrid;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.la-levels__card:hover {
	box-shadow: 0 8px 30px rgba(0,0,0,0.08);
	transform: translateY(-2px);
}

.la-levels__card--highlight {
	border-color: #e63412;
	border-width: 2px;
	box-shadow: 0 4px 20px rgba(230, 52, 18, 0.12);
}

.la-levels__card--current {
	border-color: #16a34a;
	border-width: 2px;
}

/* ── Badge ───────────────────────────────────────────────────── */

.la-levels__badge {
	position: absolute;
	top: -13px;
	left: 50%;
	transform: translateX(-50%);
	background: #e63412;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 4px 16px;
	border-radius: 20px;
	white-space: nowrap;
	letter-spacing: 0.3px;
	text-transform: uppercase;
}

.la-levels__badge--current {
	background: #16a34a;
}

/* ── Header (name + price) ───────────────────────────────────── */

.la-levels__header {
	text-align: center;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #f0f0f0;
}

.la-levels__name {
	font-size: 22px !important;
	font-weight: 700 !important;
	color: #1a1a2e !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
	border: none !important;
}

.la-levels__price {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 4px;
	flex-wrap: wrap;
}

.la-levels__amount {
	font-size: 32px;
	font-weight: 700;
	color: #1a1a2e;
	line-height: 1.1;
}

.la-levels__period {
	font-size: 15px;
	color: #6b7280;
	font-weight: 500;
}

/* ── Description ─────────────────────────────────────────────── */

.la-levels__description {
	font-size: 14px;
	line-height: 1.6;
	color: #374151;
	margin-bottom: 16px;
	text-align: center;
}

/* ── Stats bar (replaces course-count) ───────────────────────── */

.la-levels__stats {
	display: flex;
	justify-content: center;
	gap: 20px;
	padding: 14px 0;
	border-top: 1px solid #f0f0f0;
	border-bottom: 1px solid #f0f0f0;
	margin-bottom: 8px;
}

.la-levels__stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
}

.la-levels__stat-value {
	font-size: 18px;
	font-weight: 700;
	color: #1a1a2e;
	line-height: 1.2;
}

.la-levels__stat-label {
	font-size: 12px;
	color: #6b7280;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

/* ── Course list ─────────────────────────────────────────────── */

.la-levels__courses {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.la-levels__course {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid #f8f8f8;
	font-size: 14px;
	line-height: 1.4;
}

.la-levels__course:last-child {
	border-bottom: none;
}

.la-levels__course--included .la-levels__course-icon {
	color: #16a34a;
	flex-shrink: 0;
	margin-top: 1px;
}

.la-levels__course--excluded .la-levels__course-icon {
	color: #d1d5db;
	flex-shrink: 0;
	margin-top: 1px;
}

.la-levels__course--included .la-levels__course-name {
	color: #374151;
}

.la-levels__course--excluded .la-levels__course-name {
	color: #9ca3af;
	text-decoration: line-through;
}

.la-levels__course-name a {
	color: inherit !important;
	text-decoration: none !important;
}

.la-levels__course--included .la-levels__course-name a:hover {
	color: #e63412 !important;
}

/* ── CTA button ──────────────────────────────────────────────── */

.la-levels__cta {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid #f0f0f0;
}

.la-levels__btn {
	display: block;
	width: 100%;
	padding: 14px 24px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	text-align: center;
	text-decoration: none !important;
	border-radius: 10px !important;
	cursor: pointer;
	transition: all 0.25s ease;
	line-height: 1.4;
	box-sizing: border-box;
}

.la-levels__btn--primary {
	background: #e63412 !important;
	color: #fff !important;
	border: none !important;
	box-shadow: 0 4px 14px rgba(230, 52, 18, 0.25);
}

.la-levels__btn--primary:hover {
	background: #c42a0e !important;
	box-shadow: 0 6px 20px rgba(230, 52, 18, 0.35);
	transform: translateY(-1px);
	color: #fff !important;
}

.la-levels__btn--outline {
	background: transparent !important;
	color: #e63412 !important;
	border: 2px solid #e63412 !important;
}

.la-levels__btn--outline:hover {
	background: #e63412 !important;
	color: #fff !important;
	box-shadow: 0 4px 14px rgba(230, 52, 18, 0.25);
	transform: translateY(-1px);
}

.la-levels__btn--current {
	background: #f0fdf4 !important;
	color: #16a34a !important;
	border: 2px solid #16a34a !important;
}

.la-levels__btn--current:hover {
	background: #16a34a !important;
	color: #fff !important;
}

/* ── Comparison table ────────────────────────────────────────── */

.la-levels__compare {
	display: block;
	width: 100%;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid #e2e5e9;
	border-radius: 12px;
	padding: 28px 32px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

.la-levels__compare-title {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #1a1a2e !important;
	margin: 0 0 20px !important;
	padding: 0 !important;
	border: none !important;
	text-align: center;
}

.la-levels__compare-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.la-levels__compare-table {
	width: 100%;
	border-collapse: collapse;
}

.la-levels__compare-table thead th {
	padding: 12px 16px;
	font-size: 14px;
	font-weight: 600;
	color: #1a1a2e;
	border-bottom: 2px solid #e2e5e9;
	text-align: center;
	white-space: nowrap;
}

.la-levels__compare-table thead th.la-levels__compare-course-col {
	text-align: left;
	width: 50%;
}

.la-levels__compare-table tbody td {
	padding: 10px 16px;
	font-size: 14px;
	border-bottom: 1px solid #f0f0f0;
	vertical-align: middle;
}

.la-levels__compare-table tbody tr:last-child td {
	border-bottom: none;
}

.la-levels__compare-table tbody tr:hover {
	background: #f9fafb;
}

.la-levels__compare-course-name {
	color: #374151;
}

.la-levels__compare-course-name a {
	color: #374151 !important;
	text-decoration: none !important;
	font-weight: 500;
}

.la-levels__compare-course-name a:hover {
	color: #e63412 !important;
}

.la-levels__compare-check {
	text-align: center;
}

.la-levels__check--yes {
	color: #16a34a;
	display: inline-flex;
}

.la-levels__check--no {
	color: #d1d5db;
	font-size: 16px;
}

/* ── Comparison: meta columns (duration, questions) ──────────── */

.la-levels__compare-meta-col {
	text-align: center;
	white-space: nowrap;
}

.la-levels__compare-meta {
	text-align: center;
	color: #6b7280;
	font-size: 13px;
	white-space: nowrap;
}

/* ── Summary table ────────────────────────────────────────────── */

.la-levels__summary-title {
	font-size: 16px !important;
	font-weight: 600 !important;
	color: #1a1a2e !important;
	margin: 28px 0 12px !important;
	padding: 0 !important;
	border: none !important;
}

.la-levels__summary-table tbody td {
	font-size: 14px;
}

.la-levels__summary-value {
	text-align: center;
	font-size: 16px !important;
	font-weight: 700;
	color: #1a1a2e;
}

.la-levels__summary-price-row {
	border-top: 2px solid #e2e5e9;
}

.la-levels__summary-price {
	font-size: 20px !important;
	color: #e63412;
}

.la-levels__summary-period {
	font-size: 14px;
	font-weight: 500;
	color: #6b7280;
}

/* ── Responsive ──────────────────────────────────────────────── */

@media (max-width: 768px) {
	.la-levels__grid--2,
	.la-levels__grid--3 {
		grid-template-columns: 1fr;
		grid-template-rows: none;
		max-width: 480px;
		margin-left: auto;
		margin-right: auto;
	}

	.la-levels__card {
		padding: 28px 22px 24px;
		grid-row: auto;
		grid-template-rows: auto auto auto auto auto;
	}

	.la-levels__compare {
		padding: 20px 16px;
		border-radius: 10px;
	}

	.la-levels__compare-table thead th,
	.la-levels__compare-table tbody td {
		padding: 8px 10px;
		font-size: 13px;
	}

	.la-levels__compare-table thead th.la-levels__compare-course-col {
		min-width: 160px;
	}
}

@media (max-width: 480px) {
	.la-levels {
		padding: 0 0 24px;
	}

	.la-levels__card {
		padding: 24px 18px 20px;
		border-radius: 10px;
	}

	.la-levels__amount {
		font-size: 28px;
	}

	.la-levels__name {
		font-size: 20px !important;
	}
}
