/* PsychDirect Checkout (scoped)
   ============================
   - Layout-only: grid + cards + sticky right panel
   - Scoped to body.woocommerce-checkout so it won't impact other pages
*/

/* Reset any overlay elements from parent themes that might block inputs */
body.woocommerce-checkout .woocommerce-billing-fields::before,
body.woocommerce-checkout .woocommerce-billing-fields::after,
body.woocommerce-checkout .woocommerce-shipping-fields::before,
body.woocommerce-checkout .woocommerce-shipping-fields::after,
body.woocommerce-checkout .woocommerce-account-fields::before,
body.woocommerce-checkout .woocommerce-account-fields::after,
body.woocommerce-checkout .form-row::before,
body.woocommerce-checkout .form-row::after {
	content: none !important;
	display: none !important;
	pointer-events: none !important;
}

/* Force inputs to be clickable - nuclear option */
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout input[type="password"],
body.woocommerce-checkout textarea,
body.woocommerce-checkout select {
	pointer-events: auto !important;
	cursor: text !important;
	position: relative !important;
	z-index: 10 !important;
}

body.woocommerce-checkout {
	background: #f8fafc;
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
	color: #1e293b;
}

/* Typography normalization: ensure Woo elements inherit our font system (checkout only) */
body.woocommerce-checkout .pd-checkout,
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout .woocommerce * {
	font-family: inherit;
}

body.woocommerce-checkout .woocommerce * {
	color: inherit;
}

body.woocommerce-checkout .woocommerce a {
	color: #2563eb;
	text-decoration: none;
}

body.woocommerce-checkout .woocommerce a:hover {
	text-decoration: underline;
}

body.woocommerce-checkout .pd-checkout {
	padding: 40px 0 140px;
}

body.woocommerce-checkout .pd-checkout__container {
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 24px;
}

/* Reduce prominence of Woo notices (e.g. “added to cart”) on checkout */
body.woocommerce-checkout .woocommerce-notices-wrapper {
	max-width: 1120px;
	margin: 12px auto 0;
	padding: 0 24px;
}

body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-error {
	margin: 0 0 12px;
	padding: 10px 12px;
	border-radius: 12px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	box-shadow: none;
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 13px;
	color: #334155;
}

body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-error::before {
	content: none !important;
	display: none !important;
}

body.woocommerce-checkout .pd-checkout__header {
	text-align: center;
	margin-bottom: 20px;
}

body.woocommerce-checkout .pd-checkout__title {
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 30px;
	font-weight: 700;
	color: #1e293b;
	margin: 0 0 8px;
	line-height: 1.2;
}

body.woocommerce-checkout .pd-checkout__subtitle {
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 14px;
	font-weight: 400;
	color: #64748b;
	margin: 0;
}

body.woocommerce-checkout .pd-checkout__subtitle strong {
	font-weight: 600;
	color: #3b82f6;
}

/* Cards */
body.woocommerce-checkout .pd-card {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

body.woocommerce-checkout .pd-card__title {
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: #1e293b;
	margin: 0 0 18px;
}

/* Grid */
body.woocommerce-checkout .pd-checkout__grid {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 40px;
	align-items: start;
	grid-template-areas: "details summary";
}

body.woocommerce-checkout .pd-checkout__left {
	grid-area: details;
	padding: 24px;
}

/* Give the form a bit more breathing room below the section title */
body.woocommerce-checkout .pd-checkout__left > .pd-card__title {
	margin-bottom: 24px;
}

/* ThemeHigh checkout headings should span full width and align left */
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .thwcfd-field-heading {
	clear: both;
	float: none;
	width: 100%;
	margin: 18px 0 10px;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .thwcfd-field-heading h4 {
	margin: 0;
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 22px;
	font-weight: 700;
	color: #1e3a8a;
	text-align: left;
}

/* Hide redundant default Woo heading since ThemeHigh inserts section headings */
body.woocommerce-checkout .woocommerce-billing-fields > h3 {
	display: none;
}

/* Add subtle separators between sections */
body.woocommerce-checkout #billing_heading2_field,
body.woocommerce-checkout #pass_heading_field {
	padding-top: 18px;
	margin-top: 22px;
	border-top: 1px solid #eef2f7;
}

/* Account access heading should feel slightly softer */
body.woocommerce-checkout #pass_heading_field h3 {
	margin: 0;
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: #1e3a8a;
	text-align: left;
}

body.woocommerce-checkout .pd-personal-details-note {
	clear: both;
	margin: -4px 0 18px;
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 12px;
	line-height: 1.4;
	color: #64748b;
}

body.woocommerce-checkout .pd-password-note {
	clear: both;
	margin: -6px 0 14px;
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 12px;
	line-height: 1.4;
	color: #64748b;
}

body.woocommerce-checkout .pd-cta-reassure {
	margin-top: 10px;
	text-align: center;
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 12px;
	color: #64748b;
}

/* Give the last fields (account password) room to breathe */
body.woocommerce-checkout .woocommerce-account-fields {
	margin-top: 18px;
	padding-bottom: 16px;
}

body.woocommerce-checkout .woocommerce-account-fields .create-account {
	margin-bottom: 18px;
}

body.woocommerce-checkout .pd-checkout__right {
	grid-area: summary;
}

body.woocommerce-checkout .pd-checkout__sticky {
	position: sticky;
	top: 24px;
	padding: 24px;
	background: #f0f4f9;
	border-radius: 16px;
	border: 1px solid #e0e7f1;
}

/* Plan summary */
body.woocommerce-checkout .pd-plan-summary {
	border: 1px solid #cbd5e1;
	border-radius: 12px;
	background: #fff;
	padding: 14px 16px;
	margin-bottom: 24px;
}

/* Plan summary variants (safe mobile ordering without DOM flattening) */
body.woocommerce-checkout .pd-plan-summary--mobile {
	display: none;
}

body.woocommerce-checkout .pd-plan-summary__row {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	align-items: baseline;
}

body.woocommerce-checkout .pd-plan-summary__name {
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #1e293b;
}

body.woocommerce-checkout .pd-plan-summary__billing {
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 12px;
	font-weight: 500;
	color: #64748b;
	white-space: nowrap;
}

body.woocommerce-checkout .pd-plan-summary__meta {
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 12px;
	color: #64748b;
	margin-top: 6px;
}

body.woocommerce-checkout .pd-plan-summary__meta--positive {
	color: #3b82f6;
	font-weight: 600;
}

/* Accordion (promo + login) */
body.woocommerce-checkout .pd-checkout__accordion {
	margin: 0 0 24px;
	display: flex;
	flex-direction: column;
	gap: 0;
}

body.woocommerce-checkout .pd-accordion__toggle {
	width: 100%;
	text-align: left;
	border: 1px solid #cbd5e1;
	background: #fff;
	border-radius: 10px;
	padding: 12px 14px;
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: #0f172a;
	cursor: pointer;
	margin: 0;
	transition: all 0.2s ease;
}

/* Promo code toggle: subtle secondary utility appearance */
body.woocommerce-checkout .pd-accordion__toggle[aria-controls="pd-checkout-coupon"] {
	border: none;
	background: transparent;
	padding: 6px 0;
	font-size: 12px;
	font-weight: 500;
	color: #64748b;
}

body.woocommerce-checkout .pd-accordion__toggle[aria-controls="pd-checkout-coupon"]:hover {
	color: #1e293b;
	background: transparent;
	border: none;
	text-decoration: underline;
	text-decoration-color: #94a3b8;
}

body.woocommerce-checkout .pd-accordion__toggle[aria-controls="pd-checkout-coupon"][aria-expanded="true"] {
	border: none;
	background: transparent;
	color: #475569;
	text-decoration: underline;
	text-decoration-color: #cbd5e1;
}

body.woocommerce-checkout .pd-accordion__toggle:hover {
	border-color: #94a3b8;
	background: #f8fafc;
}

body.woocommerce-checkout .pd-accordion__toggle[aria-expanded="true"] {
	border-color: #3b82f6;
	background: #f0f9ff;
	color: #1e40af;
}

body.woocommerce-checkout .pd-accordion__panel {
	border: 1px solid #cbd5e1;
	border-radius: 10px;
	padding: 10px 12px;
	background: #fff;
	margin: 0;
	animation: slideDown 0.2s ease-out;
}

/* Promo code panel: minimal utility appearance */
body.woocommerce-checkout .pd-accordion__panel#pd-checkout-coupon {
	border: none;
	background: transparent;
	padding: 8px 0;
	border-top: 1px solid #e5e7eb;
	border-radius: 0;
	margin-top: 6px;
}

@keyframes slideDown {
	from {
		opacity: 0;
		max-height: 0;
	}
	to {
		opacity: 1;
		max-height: 500px;
	}
}

/* Ensure coupon/login forms look embedded */
body.woocommerce-checkout .checkout_coupon,
body.woocommerce-checkout .woocommerce-form-login {
	margin: 0;
	background: transparent;
	border: none;
	padding: 0;
}

/* Remove nested Woo toggle notices inside our accordion (we already provide toggles) */
body.woocommerce-checkout .pd-checkout__sticky .woocommerce-form-login-toggle,
body.woocommerce-checkout .pd-checkout__sticky .woocommerce-form-coupon-toggle {
	display: none !important;
}

/* Strip Woo nested notice box styling within the right column card */
body.woocommerce-checkout .pd-checkout__sticky .woocommerce-message,
body.woocommerce-checkout .pd-checkout__sticky .woocommerce-info,
body.woocommerce-checkout .pd-checkout__sticky .woocommerce-error {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 0 12px !important;
	border-radius: 0 !important;
}

/* Also strip nested notice box styling inside accordion panels (login/coupon) */
body.woocommerce-checkout .pd-accordion__panel .woocommerce-message,
body.woocommerce-checkout .pd-accordion__panel .woocommerce-info,
body.woocommerce-checkout .pd-accordion__panel .woocommerce-error {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 0 12px !important;
	border-radius: 0 !important;
}

/* Login + coupon (right column): unify component styling */
body.woocommerce-checkout .pd-checkout__sticky form.woocommerce-form-login,
body.woocommerce-checkout .pd-checkout__sticky form.checkout_coupon {
	font-size: 14px;
}

body.woocommerce-checkout .pd-checkout__sticky form.woocommerce-form-login p,
body.woocommerce-checkout .pd-checkout__sticky form.checkout_coupon p,
body.woocommerce-checkout .pd-checkout__sticky form.woocommerce-form-login .form-row,
body.woocommerce-checkout .pd-checkout__sticky form.checkout_coupon .form-row {
	margin: 0 !important;
}

/* Right-column floating fields (login + coupon): same component as left column */
body.woocommerce-checkout .pd-checkout__sticky .pd-field.pd-field--floating {
	position: relative;
	width: 100%;
}

body.woocommerce-checkout .pd-checkout__sticky .pd-field.pd-field--floating label {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 14px;
	font-weight: 500;
	color: #64748b;
	pointer-events: none !important;
	transition: all 0.2s ease;
	background: #fff;
	padding: 0 4px;
	z-index: 10;
	display: block;
	white-space: nowrap;
}

body.woocommerce-checkout .pd-checkout__sticky .pd-field.pd-field--floating input.input-text,
body.woocommerce-checkout .pd-checkout__sticky .pd-field.pd-field--floating input[type="text"],
body.woocommerce-checkout .pd-checkout__sticky .pd-field.pd-field--floating input[type="email"],
body.woocommerce-checkout .pd-checkout__sticky .pd-field.pd-field--floating input[type="password"] {
	display: block;
	width: 100% !important;
	height: 52px !important;
	padding: 18px 14px 8px !important;
	font-family: inherit;
	font-size: 14px;
	line-height: 16px !important;
	color: #1e293b;
	border: 1px solid #e2e8f0 !important;
	border-radius: 12px !important;
	background-color: #fff !important;
	box-sizing: border-box !important;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	position: relative;
	z-index: 2;
}

body.woocommerce-checkout .pd-checkout__sticky .pd-field.pd-field--floating input::placeholder {
	color: transparent !important;
	opacity: 0 !important;
}

body.woocommerce-checkout .pd-checkout__sticky .pd-field.pd-field--floating input:focus {
	border-color: #3b82f6 !important;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
}

/* Float label on input focus (general sibling combinator ~ works within .pd-field) */
body.woocommerce-checkout .pd-checkout__sticky .pd-field.pd-field--floating input:focus ~ label {
	top: 0 !important;
	transform: translateY(-50%) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	color: #3b82f6 !important;
	background: #fff !important;
}

/* Float label when input has value (not showing placeholder) */
body.woocommerce-checkout .pd-checkout__sticky .pd-field.pd-field--floating input:not(:placeholder-shown) ~ label {
	top: 0 !important;
	transform: translateY(-50%) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	color: #64748b !important;
	background: #fff !important;
}

/* Focused + filled keeps blue color */
body.woocommerce-checkout .pd-checkout__sticky .pd-field.pd-field--floating input:focus:not(:placeholder-shown) ~ label {
	color: #3b82f6 !important;
}

body.woocommerce-checkout .pd-checkout__sticky .pd-field.pd-field--floating label .required {
	color: #3b82f6;
}

/* Password field floating label when tracking state (via JavaScript) */
body.woocommerce-checkout .pd-checkout__sticky .pd-field.pd-field--floating.pd-field--has-value ~ label,
body.woocommerce-checkout .pd-checkout__sticky .pd-field.pd-field--floating.pd-field--has-value label {
	top: 0 !important;
	transform: translateY(-50%) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	color: #64748b !important;
	background: #fff !important;
}

/* Secondary buttons (login + coupon) */
body.woocommerce-checkout .pd-checkout__sticky form.woocommerce-form-login button.button,
body.woocommerce-checkout .pd-checkout__sticky form.checkout_coupon button.button,
body.woocommerce-checkout .pd-checkout__sticky form.checkout_coupon button {
	height: 52px;
	padding: 0 18px;
	border-radius: 12px;
	border: 1px solid #e2e8f0;
	background: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	color: #1e293b;
	box-shadow: none;
}

body.woocommerce-checkout .pd-checkout__sticky form.woocommerce-form-login button.button:hover,
body.woocommerce-checkout .pd-checkout__sticky form.checkout_coupon button.button:hover,
body.woocommerce-checkout .pd-checkout__sticky form.checkout_coupon button:hover {
	background: #f8fafc;
}

body.woocommerce-checkout .pd-checkout__sticky form.woocommerce-form-login button.button:focus,
body.woocommerce-checkout .pd-checkout__sticky form.checkout_coupon button.button:focus,
body.woocommerce-checkout .pd-checkout__sticky form.checkout_coupon button:focus {
	outline: none;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* Coupon layout: keep the existing side-by-side input + button, but let the floating label system control typography and inputs */
body.woocommerce-checkout .pd-checkout__sticky form.checkout_coupon {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-checkout .pd-checkout__sticky form.checkout_coupon .pd-coupon-row {
	display: grid !important;
	grid-template-columns: 1fr auto !important;
	gap: 8px !important;
	align-items: center !important;
}

body.woocommerce-checkout .pd-checkout__sticky form.checkout_coupon .pd-field {
	display: block !important;
	position: relative !important;
	width: 100% !important;
}

body.woocommerce-checkout .pd-checkout__sticky form.checkout_coupon .pd-field input {
	display: block !important;
}

body.woocommerce-checkout .pd-checkout__sticky form.checkout_coupon button.button {
	min-width: 80px !important;
	height: 40px !important;
	padding: 0 14px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	border: 1px solid #cbd5e1 !important;
	background: #fff !important;
	color: #475569 !important;
	border-radius: 8px !important;
	transition: all 0.2s ease !important;
}

body.woocommerce-checkout .pd-checkout__sticky form.checkout_coupon button.button:hover {
	border-color: #94a3b8 !important;
	background: #f8fafc !important;
	color: #1e293b !important;
}

body.woocommerce-checkout .pd-checkout__sticky form.checkout_coupon button.button:focus {
	border-color: #3b82f6 !important;
	box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1) !important;
}

/* Coupon input field: reduce visual weight */
#coupon_code {
	font-size: 13px !important;
	height: 40px !important;
	padding: 8px 12px !important;
	border: 1px solid #d1d5db !important;
}

/* Order review totals (compact “Summary” look) */
body.woocommerce-checkout .pd-checkout #order_review .shop_table.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin: 0 0 16px;
	background: #fff;
	border: 1px solid #cbd5e1;
	border-radius: 12px;
	overflow: hidden;
}

/* Hide product rows (tbody) and redundant tfoot rows; keep only Total today + coupon rows */
body.woocommerce-checkout .pd-checkout #order_review .shop_table.woocommerce-checkout-review-order-table tbody {
	display: none;
}

/* Hide subtotal row */
body.woocommerce-checkout .pd-checkout #order_review .shop_table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal {
	display: none;
}

/* Hide all recurring totals rows (Woo Subscriptions) */
body.woocommerce-checkout .pd-checkout #order_review .shop_table.woocommerce-checkout-review-order-table tfoot tr.recurring-totals,
body.woocommerce-checkout .pd-checkout #order_review .shop_table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal-recurring,
body.woocommerce-checkout .pd-checkout #order_review .shop_table.woocommerce-checkout-review-order-table tfoot tr.order-total-recurring,
body.woocommerce-checkout .pd-checkout #order_review .recurring-totals,
body.woocommerce-checkout .pd-checkout #order_review .cart-subtotal-recurring,
body.woocommerce-checkout .pd-checkout #order_review tr[class*="recurring"] {
	display: none !important;
}

body.woocommerce-checkout .pd-checkout #order_review .shop_table.woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .pd-checkout #order_review .shop_table.woocommerce-checkout-review-order-table td {
	padding: 10px 12px;
	border-top: 1px solid #e5e7eb;
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 13px;
	color: #1e293b;
}

body.woocommerce-checkout .pd-checkout #order_review .shop_table.woocommerce-checkout-review-order-table tfoot tr:first-child th,
body.woocommerce-checkout .pd-checkout #order_review .shop_table.woocommerce-checkout-review-order-table tfoot tr:first-child td {
	border-top: none;
}

body.woocommerce-checkout .pd-checkout #order_review .shop_table.woocommerce-checkout-review-order-table tfoot th {
	font-weight: 600;
	color: #334155;
}

body.woocommerce-checkout .pd-checkout #order_review .shop_table.woocommerce-checkout-review-order-table tfoot td {
	text-align: right;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: break-word;
}

/* Keep the price itself on one line even when the cell wraps */
body.woocommerce-checkout .pd-checkout #order_review .shop_table.woocommerce-checkout-review-order-table tfoot td strong {
	white-space: nowrap;
}

body.woocommerce-checkout .pd-checkout #order_review .shop_table.woocommerce-checkout-review-order-table tr.order-total th,
body.woocommerce-checkout .pd-checkout #order_review .shop_table.woocommerce-checkout-review-order-table tr.order-total td {
	background: #fff;
}

body.woocommerce-checkout .pd-checkout #order_review .shop_table.woocommerce-checkout-review-order-table tr.order-total td strong {
	font-size: 14px;
}

body.woocommerce-checkout .pd-renewal {
	margin-top: 4px;
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 12px;
	color: #64748b;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

body.woocommerce-checkout .pd-totals-label {
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #0f172a;
	margin: 24px 0 10px;
}

/* Payment area should feel like it belongs inside the right card */
body.woocommerce-checkout #payment {
	background: #fff;
	border: 1px solid #cbd5e1;
	border-radius: 12px;
	padding: 16px;
	margin-top: 24px;
}

/* Prevent order review content from bleeding outside the card */
body.woocommerce-checkout #order_review {
	max-width: 100%;
	overflow-x: hidden;
}

/* Payment methods list styling */
body.woocommerce-checkout ul.wc_payment_methods {
	margin-bottom: 16px !important;
	padding: 0 !important;
	list-style: none !important;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

body.woocommerce-checkout ul.wc_payment_methods li {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
}

body.woocommerce-checkout ul.wc_payment_methods li label {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border: 1px solid #cbd5e1;
	border-radius: 10px;
	background: #fff;
	font-weight: 500;
	color: #1e293b;
	cursor: pointer;
	transition: all 0.2s ease;
}

body.woocommerce-checkout ul.wc_payment_methods li:has(input:checked) label {
	border-color: #3b82f6;
	background: #f0f9ff;
}

/* Stripe payment method container */
body.woocommerce-checkout .payment_method_stripe_cc {
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
}

/* Stripe element container styling */
body.woocommerce-checkout .woocommerce-checkout-payment .payment_method_stripe_cc .payment_box {
	padding: 12px 0 !important;
	border: none !important;
	background: transparent !important;
}

/* Stripe payment method heading (top-level payment method label only) */
body.woocommerce-checkout .woocommerce-checkout-payment ul.wc_payment_methods .payment_method_stripe_cc > label {
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: #0f172a;
	margin-bottom: 10px;
	display: block;
}

/* Stripe payment method label text */
body.woocommerce-checkout .woocommerce-checkout-payment ul.wc_payment_methods .payment_method_stripe_cc > label::before {
	content: none !important;
}

/* Fix global checkbox styling bleeding into checkout (e.g. Stripe Link “save details”) */
body.woocommerce-checkout input[type="checkbox"],
body.woocommerce-checkout input[type="radio"] {
	width: 18px !important;
	height: 18px !important;
	padding: 0 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

body.woocommerce-checkout label.woocommerce-form__label-for-checkbox,
body.woocommerce-checkout .woocommerce-checkout-payment .payment_box label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

body.woocommerce-checkout div.StripeElement,
body.woocommerce-checkout div#card-element {
	border: 1px solid #d1d5db !important;
	border-radius: 12px !important;
	padding: 12px 14px !important;
	background: #fafbfc !important;
	font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
	font-size: 14px !important;
	color: #1e293b !important;
}

body.woocommerce-checkout div.StripeElement:focus,
body.woocommerce-checkout div#card-element:focus {
	border-color: #3b82f6 !important;
	background: #fff !important;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
	outline: none !important;
}

/* Stripe additional fields wrapper */
body.woocommerce-checkout .woocommerce-checkout-payment #payment fieldset.wc-stripe-elements-field {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Ensure compliance notices remain visible */
body.woocommerce-checkout .woocommerce-checkout-payment .payment_method_stripe_cc .stripe-source-errors {
	color: #dc2626;
	font-size: 12px;
	margin-top: 6px;
	padding: 0;
}

/* Full-width primary CTA */
body.woocommerce-checkout #payment #place_order {
	width: 100% !important;
	max-width: none !important;
	padding: 14px 18px;
	margin-top: 16px;
	border-radius: 12px;
	background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
	border: none;
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 15px;
	font-weight: 700;
}

body.woocommerce-checkout .pd-checkout__secure {
	margin-top: 12px;
	text-align: center;
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 12px;
	color: #64748b;
}

/* Mobile: order = Plan → Details → Promo → Payment/CTA (sticky off) */
@media (max-width: 900px) {
	body.woocommerce-checkout .pd-checkout {
		padding: 24px 0 120px;
	}

	body.woocommerce-checkout .pd-checkout__container {
		max-width: 680px;
	}

	body.woocommerce-checkout .pd-checkout__grid {
		grid-template-columns: 1fr;
		grid-template-areas:
			"details"
			"summary";
		gap: 18px;
	}

	body.woocommerce-checkout .pd-plan-summary--mobile {
		display: block;
		margin-bottom: 18px;
	}

	body.woocommerce-checkout .pd-plan-summary--desktop {
		display: none;
	}

	body.woocommerce-checkout .pd-checkout__sticky {
		position: static;
		padding: 20px;
	}

	body.woocommerce-checkout .pd-checkout__left {
		padding: 20px;
	}
}

/* ==============================================
   Floating Labels for Form Fields
   ============================================== */

body.woocommerce-checkout .woocommerce-billing-fields .form-row,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row,
body.woocommerce-checkout .woocommerce-account-fields .form-row {
	position: relative;
	margin-bottom: 20px;
}

/* Ensure input wrapper doesn't block anything */
body.woocommerce-checkout .woocommerce-billing-fields .form-row .woocommerce-input-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row .woocommerce-input-wrapper,
body.woocommerce-checkout .woocommerce-account-fields .form-row .woocommerce-input-wrapper {
	display: block;
	width: 100%;
	position: relative;
	z-index: 1;
}

body.woocommerce-checkout .woocommerce-billing-fields .form-row label,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row label,
body.woocommerce-checkout .woocommerce-account-fields .form-row label {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #64748b;
	pointer-events: none !important;
	transition: all 0.2s ease;
	background: transparent;
	padding: 0 4px;
	z-index: 5;
	cursor: text;
}

/* Ensure inputs are always clickable */
body.woocommerce-checkout .woocommerce-billing-fields .form-row input.input-text,
body.woocommerce-checkout .woocommerce-billing-fields .form-row textarea,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row input.input-text,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row textarea,
body.woocommerce-checkout .woocommerce-account-fields .form-row input.input-text,
body.woocommerce-checkout .woocommerce-account-fields .form-row input[type="password"] {
	position: relative;
	z-index: 1;
}

/* Hide WooCommerce default placeholders - we use labels instead */
body.woocommerce-checkout .woocommerce-billing-fields .form-row input.input-text::placeholder,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row input.input-text::placeholder,
body.woocommerce-checkout .woocommerce-account-fields .form-row input.input-text::placeholder,
body.woocommerce-checkout .woocommerce-billing-fields .form-row textarea::placeholder,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row textarea::placeholder {
	color: transparent !important;
	opacity: 0 !important;
}

/* Hide the required asterisk in default position */
body.woocommerce-checkout .woocommerce-billing-fields .form-row label .required,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row label .required,
body.woocommerce-checkout .woocommerce-account-fields .form-row label .required {
	color: #3b82f6;
}

/* Input styling */
body.woocommerce-checkout .woocommerce-billing-fields .form-row input.input-text,
body.woocommerce-checkout .woocommerce-billing-fields .form-row textarea,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row input.input-text,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row textarea,
body.woocommerce-checkout .woocommerce-account-fields .form-row input.input-text,
body.woocommerce-checkout .woocommerce-account-fields .form-row input[type="password"] {
	width: 100%;
	padding: 18px 14px 8px;
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 14px;
	line-height: 16px;
	color: #1e293b;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background-color: #fff !important;
	box-sizing: border-box;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	outline: none;
}

/* Match input height for single-line inputs (keep textarea flexible) */
body.woocommerce-checkout .woocommerce-billing-fields .form-row input.input-text,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row input.input-text,
body.woocommerce-checkout .woocommerce-account-fields .form-row input.input-text,
body.woocommerce-checkout .woocommerce-account-fields .form-row input[type="password"] {
	height: 52px;
}

body.woocommerce-checkout .woocommerce-billing-fields .form-row input.input-text:focus,
body.woocommerce-checkout .woocommerce-billing-fields .form-row textarea:focus,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row input.input-text:focus,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row textarea:focus,
body.woocommerce-checkout .woocommerce-account-fields .form-row input.input-text:focus,
body.woocommerce-checkout .woocommerce-account-fields .form-row input[type="password"]:focus {
	border-color: #3b82f6;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* Neutralize browser autofill background (Chrome/Safari can tint filled fields) */
body.woocommerce-checkout .woocommerce-billing-fields .form-row input.input-text:-webkit-autofill,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row input.input-text:-webkit-autofill,
body.woocommerce-checkout .woocommerce-account-fields .form-row input.input-text:-webkit-autofill,
body.woocommerce-checkout .woocommerce-account-fields .form-row input[type="password"]:-webkit-autofill,
body.woocommerce-checkout .woocommerce-billing-fields .form-row textarea:-webkit-autofill,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row textarea:-webkit-autofill {
	-webkit-text-fill-color: #1e293b;
	box-shadow: 0 0 0px 1000px #fff inset;
	transition: background-color 9999s ease-out;
}

/* Floating label: when focused (using JS class) */
body.woocommerce-checkout .woocommerce-billing-fields .form-row.pd-focused label,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row.pd-focused label,
body.woocommerce-checkout .woocommerce-account-fields .form-row.pd-focused label {
	top: 0;
	transform: translateY(-50%);
	font-size: 11px;
	font-weight: 600;
	color: #3b82f6;
	background: #fff;
}

/* Floating label: when has value (using JS class) */
body.woocommerce-checkout .woocommerce-billing-fields .form-row.pd-has-value label,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row.pd-has-value label,
body.woocommerce-checkout .woocommerce-account-fields .form-row.pd-has-value label,
body.woocommerce-checkout .woocommerce-billing-fields .form-row.woocommerce-validated label,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row.woocommerce-validated label,
body.woocommerce-checkout .woocommerce-account-fields .form-row.woocommerce-validated label {
	top: 0;
	transform: translateY(-50%);
	font-size: 11px;
	font-weight: 600;
	color: #64748b;
	background: #fff;
}

/* Select fields (country, state) - different structure */
body.woocommerce-checkout .woocommerce-billing-fields .form-row select,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row select {
	width: 100%;
	padding: 18px 44px 8px 14px;
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 14px;
	line-height: 16px;
	color: #1e293b;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background-color: #fff !important;
	box-sizing: border-box;
	height: 52px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	cursor: pointer;
	background-image: none !important;
}

/* IE/legacy Edge: remove the native dropdown arrow */
body.woocommerce-checkout .woocommerce-billing-fields .form-row select::-ms-expand,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row select::-ms-expand {
	display: none;
}

/* Custom select chevron (purely decorative, excluded from text padding)
   Only for native selects (i.e. when Select2 is NOT enhancing the field). */
body.woocommerce-checkout .woocommerce-billing-fields .form-row:has(select):not(:has(.select2-container)) .woocommerce-input-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row:has(select):not(:has(.select2-container)) .woocommerce-input-wrapper {
	position: relative;
}

body.woocommerce-checkout .woocommerce-billing-fields .form-row:has(select):not(:has(.select2-container)) .woocommerce-input-wrapper::after,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row:has(select):not(:has(.select2-container)) .woocommerce-input-wrapper::after {
	content: "";
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
	height: 10px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 10px 10px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	pointer-events: none;
}

/* If Select2 is enhancing the field, do NOT render the native-select chevron
   (Select2 container may be outside the wrapper depending on markup). */
body.woocommerce-checkout .woocommerce-billing-fields .form-row:has(.select2-container) .woocommerce-input-wrapper::after,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row:has(.select2-container) .woocommerce-input-wrapper::after {
	display: none !important;
}

body.woocommerce-checkout .woocommerce-billing-fields .form-row select:focus,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row select:focus {
	border-color: #3b82f6;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
	background-color: #fff;
}

/* Select2 dropdowns (WooCommerce uses these) */
body.woocommerce-checkout .woocommerce-billing-fields .select2-container,
body.woocommerce-checkout .woocommerce-shipping-fields .select2-container {
	width: 100% !important;
}

body.woocommerce-checkout .woocommerce-billing-fields .select2-container .select2-selection--single,
body.woocommerce-checkout .woocommerce-shipping-fields .select2-container .select2-selection--single {
	height: 52px;
	padding: 0;
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
	font-size: 14px;
	line-height: 16px;
	color: #1e293b;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background-color: #fff !important;
	box-sizing: border-box;
	position: relative;
	display: block;
	background-image: none !important;
}

body.woocommerce-checkout .woocommerce-billing-fields .select2-container .select2-selection--single .select2-selection__rendered,
body.woocommerce-checkout .woocommerce-shipping-fields .select2-container .select2-selection--single .select2-selection__rendered {
	height: 100% !important;
	box-sizing: border-box;
	display: block;
	line-height: 16px !important;
	padding: 18px 44px 8px 14px !important;
	margin: 0;
	color: #1e293b;
}

body.woocommerce-checkout .woocommerce-billing-fields .select2-container .select2-selection--single .select2-selection__arrow,
body.woocommerce-checkout .woocommerce-shipping-fields .select2-container .select2-selection--single .select2-selection__arrow {
	display: none !important;
}

body.woocommerce-checkout .woocommerce-billing-fields .select2-container .select2-selection--single .select2-selection__arrow b,
body.woocommerce-checkout .woocommerce-shipping-fields .select2-container .select2-selection--single .select2-selection__arrow b {
	display: none !important;
}

/* Select2 arrow: custom chevron, absolutely positioned and layout-neutral */
body.woocommerce-checkout .woocommerce-billing-fields .select2-container .select2-selection--single::after,
body.woocommerce-checkout .woocommerce-shipping-fields .select2-container .select2-selection--single::after {
	content: "";
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
	height: 10px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 10px 10px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	pointer-events: none;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single,
body.woocommerce-checkout .select2-container--default .select2-selection--single * {
	background-image: none !important;
}

body.woocommerce-checkout .woocommerce-billing-fields .select2-container--open .select2-selection--single,
body.woocommerce-checkout .woocommerce-shipping-fields .select2-container--open .select2-selection--single,
body.woocommerce-checkout .woocommerce-billing-fields .select2-container--focus .select2-selection--single,
body.woocommerce-checkout .woocommerce-shipping-fields .select2-container--focus .select2-selection--single {
	border-color: #3b82f6;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
	background-color: #fff;
}

/* Select/select2 fields should follow the same floating-label rules as inputs.
   (We add .pd-focused/.pd-has-value via JS for select2.) */

/* State field: hide the placeholder text "Select an option…" so only the label shows when empty */
body.woocommerce-checkout #billing_state_field .select2-selection__placeholder,
body.woocommerce-checkout #shipping_state_field .select2-selection__placeholder {
	display: none;
}

/* (Arrow styling is handled globally for all Select2 single selects above) */

/* Error state */
body.woocommerce-checkout .woocommerce-billing-fields .form-row.woocommerce-invalid input.input-text,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row.woocommerce-invalid input.input-text {
	border-color: #3b82f6;
}

body.woocommerce-checkout .woocommerce-billing-fields .form-row.woocommerce-invalid select,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row.woocommerce-invalid select,
body.woocommerce-checkout .woocommerce-billing-fields .form-row.woocommerce-invalid .select2-container .select2-selection--single,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row.woocommerce-invalid .select2-container .select2-selection--single {
	border-color: #3b82f6;
	background-color: #fff;
}

body.woocommerce-checkout .woocommerce-billing-fields .form-row.woocommerce-invalid label,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row.woocommerce-invalid label {
	color: #3b82f6;
}

/* Valid state */
body.woocommerce-checkout .woocommerce-billing-fields .form-row.woocommerce-validated input.input-text,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row.woocommerce-validated input.input-text {
	border-color: #10b981;
}

body.woocommerce-checkout .woocommerce-billing-fields .form-row.woocommerce-validated select,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row.woocommerce-validated select,
body.woocommerce-checkout .woocommerce-billing-fields .form-row.woocommerce-validated .select2-container .select2-selection--single,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row.woocommerce-validated .select2-container .select2-selection--single {
	border-color: #10b981;
	background-color: #fff;
}

/* Keep focused style when has value and focused */
body.woocommerce-checkout .woocommerce-billing-fields .form-row.pd-has-value.pd-focused label,
body.woocommerce-checkout .woocommerce-shipping-fields .form-row.pd-has-value.pd-focused label,
body.woocommerce-checkout .woocommerce-account-fields .form-row.pd-has-value.pd-focused label {
	color: #3b82f6;
}

/* Account password area: clear any preceding floats so it doesn't collapse or overlap */
body.woocommerce-checkout .woocommerce-account-fields,
body.woocommerce-checkout .woocommerce-account-fields .create-account {
	clear: both;
}

body.woocommerce-checkout .woocommerce-account-fields .form-row {
	clear: both;
	width: 100%;
}

body.woocommerce-checkout .woocommerce-account-fields .password-input,
body.woocommerce-checkout .woocommerce-account-fields .password-input .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}

/* ==================================================
   Final checkout-only overrides (must win)
   Ensure Woo login fields stack in two rows
   ================================================== */
body.woocommerce-checkout .pd-checkout__sticky form.woocommerce-form-login,
body.woocommerce-checkout .pd-checkout__sticky form.woocommerce-form.woocommerce-form-login,
body.woocommerce-checkout form.woocommerce-form-login.login {
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
}

body.woocommerce-checkout .pd-checkout__sticky form.woocommerce-form-login .clear,
body.woocommerce-checkout form.woocommerce-form-login.login .clear {
	display: none !important;
}

body.woocommerce-checkout .pd-checkout__sticky form.woocommerce-form-login .form-row-first,
body.woocommerce-checkout .pd-checkout__sticky form.woocommerce-form-login .form-row-last,
body.woocommerce-checkout form.woocommerce-form-login.login .form-row-first,
body.woocommerce-checkout form.woocommerce-form-login.login .form-row-last {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	clear: both !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
}
