/*
 * WBS Checkout Canvas Styles
 * Matches the CartFlows checkout visual design:
 *   - Warm cream background
 *   - No site nav; minimal logo + 3-step progress bar header
 *   - Two-column layout: form left, social proof right
 *   - White card form with plan selector, order table, payment tabs
 *   - Minimal security footer
 */


/* =============================================================
   1. Page background + container resets
   ============================================================= */

body.woocommerce-checkout {
	background-color: #FFF5DB;
}

body.woocommerce-checkout #page,
body.woocommerce-checkout #content,
body.woocommerce-checkout #primary,
body.woocommerce-checkout #main,
body.woocommerce-checkout article.page,
body.woocommerce-checkout .entry-content {
	background: transparent;
	padding: 0;
	margin: 0;
	max-width: 100%;
}

body.woocommerce-checkout .grid-container {
	max-width: 100%;
	padding: 0;
}

/* GP #page::before pseudo-element and padding-top (from .global-redesign-page rule) — remove both */
body.woocommerce-checkout #page::before {
	display: none !important;
}
body.woocommerce-checkout #page {
	padding-top: 24px !important;
}


/* =============================================================
   2. Checkout header — logo + progress bar
   ============================================================= */

.wbs-checkout-header {
	background: #FFF5DB;
	padding: 32px 20px 0;
	position: relative;
	overflow: visible; /* circle extends below into checkout area */
}

/* Full circle behind logo — extends behind checkout cards (matches production) */
.wbs-checkout-header::before {
	content: '';
	position: absolute;
	top: -60px;
	left: 50%;
	transform: translateX(-50%);
	width: 520px;
	height: 520px;
	background: #FEE1A1;
	border-radius: 50%;
	pointer-events: none;
	z-index: 0;
}

/* Desktop only: animate circle from 520px → 680px on page load */
@keyframes wbs-circle-grow {
	from { width: 520px; height: 520px; }
	to   { width: 680px; height: 680px; }
}

@media (min-width: 821px) {
	.wbs-checkout-header::before {
		width: 680px;
		height: 680px;
		animation: wbs-circle-grow 1.0s ease-out forwards;
	}
}

.wbs-checkout-header__inner {
	max-width: 1060px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	z-index: 1;
}

.wbs-checkout-logo-link {
	display: inline-block;
	line-height: 0;
	padding-bottom: 16px;
}

.wbs-checkout-logo {
	height: 78px;
	width: auto;
	filter: brightness(0) invert(1);
}

/* --- Progress steps --- */

.wbs-checkout-steps {
	margin-top: 16px;
	width: 100%;
	max-width: 780px;
	padding-bottom: 8px;
}

.wbs-checkout-steps ol {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
}

/* Connecting line behind all circles */
.wbs-checkout-steps ol::before {
	content: '';
	position: absolute;
	top: 10px;
	left: 10%;
	right: 10%;
	height: 4px;
	background: #F8BC15;
	z-index: 0;
}

.wbs-step {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	z-index: 1;
	padding: 0 6px;
}

/* Circle indicator */
.wbs-step::before {
	content: '';
	display: block;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 2px solid #ccc;
	background: #FFF5DB;
	margin-bottom: 6px;
	flex-shrink: 0;
}

.wbs-step--done::before {
	background: #F8BC15;
	border-color: #F8BC15;
}

.wbs-step--active::before {
	background: #F8BC15;
	border-color: #F8BC15;
}

.wbs-step span {
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	color: #333;
	line-height: 1.3;
}


/* =============================================================
   3. Two-column checkout layout
   ============================================================= */

/* Outer flex wrapper injected by form-checkout.php template override */
.wbs-checkout-columns {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 30px;
	max-width: 1060px;
	margin: 8px auto 40px;
	padding: 0 20px;
	position: relative;
	z-index: 1;
}

/* Left column wrapper — this is the white card.
 * It wraps BOTH checkout-additional.php (plan features, rendered via
 * woocommerce_before_checkout_form outside <form>) AND the WC form itself,
 * so everything sits in one unified card like CartFlows. */
.wbs-checkout-form-col {
	flex: 1;
	min-width: 0;
	background: #fff;
	border-radius: 8px;
	padding: 28px 28px 24px;
	box-shadow: 0 2px 14px rgba(0, 0, 0, 0.08);
}

/* The WC form itself is inside the card — no duplicate card styling */
body.woocommerce-checkout form.woocommerce-checkout {
	background: transparent;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
}

/* Right column: social proof images */
.wbs-checkout-social {
	width: 320px;
	flex-shrink: 0;
	padding-top: 4px;
}

/* Single container — both images stacked, sharing one card */
.wbs-checkout-social__card {
	display: flex;
	flex-direction: column;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0,0,0,0.10);
}

.wbs-checkout-social__photo {
	width: 100%;
	object-fit: cover;
	display: block;
}

.wbs-checkout-social__caption {
	width: 100%;
	display: block;
	border-radius: 0;  /* handled by parent card */
}


/* =============================================================
   4. Plan selector (checkout-additional.php: .main-checkout)
   ============================================================= */

.main-checkout {
	margin-bottom: 20px;
}

.checkout-text {
	margin-bottom: 14px;
}

.checkout-text h3,
.checkout-text h2 {
	font-size: 20px;
	font-weight: 700;
	color: #222;
	margin: 0 0 6px;
}

/* Plan feature columns */
.plan-main {
	display: flex;
	gap: 12px;
	margin-bottom: 12px;
}

.plan-left,
.plan-right {
	flex: 1;
	border: 2px solid #e8e8e8;
	border-radius: 6px;
	padding: 14px 14px 12px;
	transition: border-color 0.15s;
	cursor: default;
}

.plan-title {
	font-size: 14px;
	font-weight: 700;
	color: #333;
	margin-bottom: 8px;
}

.plan-details ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.plan-details ul li {
	font-size: 12px;
	color: #555;
	padding: 2px 0 2px 16px;
	position: relative;
	line-height: 1.5;
}

.plan-details ul li::before {
	content: '+';
	position: absolute;
	left: 0;
	color: #F8BC15;
	font-weight: 700;
}


/* =============================================================
   5. WooCommerce checkout form sections
   ============================================================= */

/* ----- Override WC's default float-based internal layout -----
 * By default WC floats #customer_details left (50%) and
 * #order_review right (48%). We need them stacked vertically
 * since our two-column split is form vs social-proof, not
 * billing vs order-summary.
 */
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review {
	float: none !important;
	width: 100% !important;
}

/* Move #customer_details off-screen so billing inputs still
 * submit their values (display:none would drop them from POST).
 * WooCommerce pre-fills these from the logged-in user's account.
 */
body.woocommerce-checkout #customer_details {
	position: fixed !important;
	left: -9999px !important;
	top: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
	height: 0 !important;
	overflow: hidden !important;
}

/* Hide the Additional Information / Order Notes heading and field */
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout h3#order_notes_heading {
	display: none !important;
}

/* Section headings */
body.woocommerce-checkout .woocommerce-checkout h3,
body.woocommerce-checkout #order_review_heading {
	font-size: 16px;
	font-weight: 700;
	color: #222;
	margin: 18px 0 10px;
	padding: 0;
	border: none;
}

body.woocommerce-checkout .woocommerce-checkout h3:first-child {
	margin-top: 0;
}


/* Billing fields heading (belt-and-braces hide) */
body.woocommerce-checkout .woocommerce-billing-fields > h3 {
	display: none;
}

/* Form inputs */
body.woocommerce-checkout .woocommerce-checkout .input-text,
body.woocommerce-checkout .woocommerce-checkout select {
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 10px 12px;
	font-size: 14px;
	width: 100%;
	box-sizing: border-box;
}

body.woocommerce-checkout .woocommerce-checkout .input-text:focus,
body.woocommerce-checkout .woocommerce-checkout select:focus {
	border-color: #F8BC15;
	outline: none;
	box-shadow: 0 0 0 2px rgba(248, 188, 21, 0.2);
}


/* =============================================================
   6. Order review table
   ============================================================= */

/* Show card form first, then "Your order" summary below it */
body.woocommerce-checkout #order_review {
	display: flex;
	flex-direction: column;
}

/* Payment section (Stripe card) rises to top */
body.woocommerce-checkout #order_review #payment {
	order: 10;
}

/* Coupon toggle sits between card form and order summary */
body.woocommerce-checkout #order_review .wbs-coupon-wrapper {
	order: 15;
}

/* Order summary heading + table sit below the coupon */
body.woocommerce-checkout #order_review #order_review_heading,
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table {
	order: 20;
}

/* T&C + Place Order button comes last — after the order summary table.
 * JS in checkout-payment.php moves .form-row.place-order out of #payment
 * and into #order_review as a direct child; this rule then puts it last. */
body.woocommerce-checkout #order_review > .form-row.place-order {
	order: 30;
}

/* Stripe basic card element — border + background to visually group the fields */
body.woocommerce-checkout .payment_box.payment_method_stripe {
	background: #FFFBEE !important;
	border: 1px solid #e8e8e8 !important;
	border-radius: 8px;
	padding: 16px;
	margin-top: 8px;
}

/* Card field labels — full black, weight 400 for high contrast
 * Stripe renders these with classes: p-FieldLabel Label Label--empty */
#card-panel label,
#card-panel .Label,
#card-panel .p-FieldLabel {
	color: #000 !important;
	font-weight: 400 !important;
}

body.woocommerce-checkout .shop_table {
	width: 100%;
	border-collapse: collapse;
	font-size: 16px;
	margin-bottom: 12px;
}

body.woocommerce-checkout .shop_table th,
body.woocommerce-checkout .shop_table td {
	padding: 9px 4px;
	border-bottom: 1px solid #f0f0f0;
	color: #333;
	vertical-align: middle;
}

body.woocommerce-checkout .shop_table thead th {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	color: #999;
	letter-spacing: 0.04em;
	border-bottom-color: #e8e8e8;
}

/* Remove PRODUCT / SUBTOTAL header row and its vertical space */
body.woocommerce-checkout .shop_table thead {
	display: none;
}

/* Remove quantity (x 1) — always a single-item order */
body.woocommerce-checkout .shop_table .product-quantity {
	display: none;
}

/* Save payment info checkbox label — reduce size */
label[for="wc-stripe-new-payment-method"],
.wc-stripe-new-payment-method-checkbox label,
.payment_box .woocommerce-SavedPaymentMethods-saveNew label {
	font-size: 0.62em !important;
}

body.woocommerce-checkout .shop_table .cart_item td:first-child {
	font-weight: 500;
}

body.woocommerce-checkout .shop_table .order-total th,
body.woocommerce-checkout .shop_table .order-total td {
	font-weight: 700;
	font-size: 16px;
	border-bottom: none;
	padding-top: 14px;
}


/* =============================================================
   7. Payment method tabs (checkout-payment.php: ul.pay-buttons)
   ============================================================= */

ul.pay-buttons {
	display: flex;
	gap: 10px;
	list-style: none;
	padding: 0;
	margin: 14px 0 18px;
}

ul.pay-buttons li {
	flex: 1;
	border: 2px solid #e0e0e0;
	border-radius: 6px;
	padding: 12px 8px 10px;
	text-align: center;
	cursor: pointer;
	transition: border-color 0.15s, background 0.15s;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
}

ul.pay-buttons li.active {
	border-color: #F8BC15;
	background: #FFFBEE;
}

ul.pay-buttons li:hover {
	border-color: #F8BC15;
}

ul.pay-buttons .pay-img {
	height: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
}

ul.pay-buttons .pay-img img {
	max-height: 26px;
	width: auto;
}

ul.pay-buttons label {
	font-size: 12px;
	font-weight: 700;
	color: #444;
	cursor: pointer;
	line-height: 1;
}


/* =============================================================
   8. Place Order button
   ============================================================= */

body.woocommerce-checkout #place_order {
	background: #84DCC5;
	color: #fff;
	border: none;
	border-radius: 6px;
	width: 100%;
	padding: 16px 20px;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.15s;
	margin-top: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	display: block;
}

body.woocommerce-checkout #place_order:hover {
	background: #62AA97;
}


/* =============================================================
   9. Terms & conditions
   ============================================================= */

body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	font-size: 12px;
	color: #666;
	margin: 12px 0 6px;
	line-height: 1.5;
}

body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
	color: #F8BC15;
	text-decoration: underline;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text {
	font-size: 11px;
	color: #aaa;
	margin: 4px 0 0;
}


/* =============================================================
   10. Checkout footer
   ============================================================= */

.wbs-checkout-footer {
	background: #FFF5DB;
	text-align: center;
	padding: 24px 20px 32px;
	border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.wbs-checkout-footer__security {
	font-size: 12px;
	color: #888;
	margin: 0 0 8px;
	line-height: 1.7;
}

.wbs-checkout-footer__legal {
	font-size: 11px;
	color: #bbb;
	margin: 0;
}


/* =============================================================
   11. Hide elements that don't belong on the canvas checkout
   ============================================================= */

/* GP masthead — emptied by removing generate_construct_header but still renders;
 * hide it entirely to eliminate the gap between our header and the checkout card. */
body.woocommerce-checkout #masthead,
body.woocommerce-checkout .site-header {
	display: none;
}

/* GP footer widget bar */
body.woocommerce-checkout .footer-bar {
	display: none;
}

/* GP site footer and any CCPA/Do Not Sell opt-out links injected below our footer */
body.woocommerce-checkout .site-footer,
body.woocommerce-checkout footer.site-footer,
body.woocommerce-checkout #colophon {
	display: none;
}

body.woocommerce-checkout a[href*="do-not-sell"],
body.woocommerce-checkout [class*="do-not-sell"],
body.woocommerce-checkout [id*="do-not-sell"],
body.woocommerce-checkout [class*="dnsspi"],
body.woocommerce-checkout [class*="ccpa"],
body.woocommerce-checkout [id*="ccpa"] {
	display: none !important;
}

/* GP breadcrumbs */
body.woocommerce-checkout .rank-math-breadcrumb,
body.woocommerce-checkout .wbs_breadcrumb {
	display: none;
}

/* Page title */
body.woocommerce-checkout .entry-header,
body.woocommerce-checkout .page-header {
	display: none;
}

/* Stripe express checkout separator ("— OR —") — redundant, hidden via CSS + JS */
#wc-stripe-express-checkout-button-separator {
	display: none !important;
}

/* Stripe BNPL / installment messaging */
#wc-stripe-bnpl-message,
.wc-stripe-bnpl-message,
.stripe-payment-method-messaging-element,
stripe-payment-method-messaging-element {
	display: none !important;
}

/* PayPal PPCP Pay Later / pay-in-4 messaging element (rendered by WooCommerce
 * PayPal Payments plugin independently of the payment gateway list) */
.ppcp-messages,
[id^="ppcp-messages"],
[id^="ppc-button-"][id$="-messages"],
.ppcp-bnpl-product-checkout-notice,
paypal-messages {
	display: none !important;
}


/* =============================================================
   12. Responsive
   ============================================================= */

@media (max-width: 820px) {
	.wbs-checkout-columns {
		flex-direction: column;
		gap: 20px;
	}

	/* Social proof sidebar is desktop-only — hidden entirely on mobile */
	.wbs-checkout-social {
		display: none;
	}

	body.woocommerce-checkout form.woocommerce-checkout {
		padding: 20px 16px;
	}

	.wbs-plan-upgrade__inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.wbs-plan-upgrade__btn {
		align-self: stretch;
		text-align: center;
	}
}

@media (max-width: 480px) {
	.wbs-checkout-steps {
		max-width: 100%;
	}

	.wbs-step span {
		font-size: 10px;
	}

	.wbs-checkout-steps ol::before {
		left: 12%;
		right: 12%;
	}
}


/* =============================================================
   13. Plan selector cards
   ============================================================= */

.wbs-plan-selector {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 20px;
}

/* Card — entire card is the clickable element */
.wbs-plan-card {
	display: block;
	border: 2px solid #e8e8e8;
	border-radius: 8px;
	padding: 14px 16px;
	background: #fff;
	text-decoration: none !important;
	color: inherit;
	cursor: pointer;
	transition: border-color 0.15s, background 0.15s;
}

.wbs-plan-card:hover,
.wbs-plan-card:focus,
.wbs-plan-card * {
	text-decoration: none !important;
}

.wbs-plan-card:hover:not(.wbs-plan-card--selected) {
	border-color: #F8BC15;
}

.wbs-plan-card--selected {
	border-color: #F8BC15;
	background: #FFFBEE;
}

/* Top row: duration pill + check indicator */
.wbs-plan-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}

/* Duration pill */
.wbs-plan-card__pill {
	display: inline-block;
	padding: 3px 12px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.03em;
}

.wbs-plan-card__pill--bundle {
	background: #F8BC15;
	color: #333;
}

.wbs-plan-card__pill--standard {
	background: #84DCC5;
	color: #fff;
}

/* Check circle */
.wbs-plan-card__check {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 2px solid #ccc;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 700;
	color: #333;
	flex-shrink: 0;
	transition: background 0.15s, border-color 0.15s;
}

.wbs-plan-card--selected .wbs-plan-card__check {
	background: #F8BC15;
	border-color: #F8BC15;
}

/* Name + price row */
.wbs-plan-card__body {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 8px;
}

.wbs-plan-card__info {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.wbs-plan-card__name {
	font-size: 15px;
	font-weight: 700;
	color: #222;
}

.wbs-plan-card__badge {
	font-size: 11px;
	font-weight: 700;
	color: #b8860b;
}

.wbs-plan-card__price {
	font-size: 22px;
	font-weight: 700;
	color: #222;
	flex-shrink: 0;
}

/* Feature list */
.wbs-plan-card__features {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 3px 16px;
}

.wbs-plan-card__features li {
	font-size: 12px;
	color: #555;
	padding-left: 14px;
	position: relative;
	line-height: 1.5;
}

.wbs-plan-card__features li::before {
	content: '✓';
	position: absolute;
	left: 0;
	color: #84DCC5;
	font-weight: 700;
}


/* =============================================================
   14. Trust signals strip
   ============================================================= */

.wbs-trust-strip {
	display: flex;
	align-items: stretch;
	background: #FFFBEE;
	border: 1px solid #F0E0A0;
	border-radius: 8px;
	margin-bottom: 20px;
	overflow: hidden;
}

.wbs-trust-item {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	border-right: 1px solid #F0E0A0;
}

.wbs-trust-item:last-child {
	border-right: none;
}

.wbs-trust-icon {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

.wbs-trust-text {
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.wbs-trust-text strong {
	font-size: 11px;
	font-weight: 700;
	color: #333;
	line-height: 1.2;
}

.wbs-trust-text span {
	font-size: 10px;
	color: #888;
	line-height: 1.3;
}

@media (max-width: 480px) {
	.wbs-trust-strip {
		flex-direction: column;
	}
	.wbs-trust-item {
		border-right: none;
		border-bottom: 1px solid #F0E0A0;
	}
	.wbs-trust-item:last-child {
		border-bottom: none;
	}
}

/* =============================================
   SECTION 15: Thank-You Page
   ============================================= */

/* Order details table */
.wbs-order-details {
	max-width: 480px;
	margin: 24px auto;
}
.wbs-order-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}
.wbs-order-table th,
.wbs-order-table td {
	padding: 10px 12px;
	border-bottom: 1px solid #eee;
	text-align: left;
}
.wbs-order-table th {
	font-weight: 600;
	color: #555;
	width: 30%;
}
.wbs-order-table td {
	color: #222;
}

/* Thank-you page — override global redesign page-top padding */
body.wbs-thankyou #page {
	padding-top: 48px !important;
}

/* Thank-you page — collapse all GP wrapper gaps above the content */
body.wbs-thankyou .site-content,
body.wbs-thankyou .content-area,
body.wbs-thankyou article.entry,
body.wbs-thankyou .entry-header {
	padding-top: 0 !important;
	margin-top: 0 !important;
}
body.wbs-thankyou .site-main {
	max-width: 680px;
	margin: 0 auto !important;
	padding: 0 16px 48px;
}
body.wbs-thankyou .entry-content {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Hide GP page title on thank-you */
body.wbs-thankyou .entry-title {
	display: none;
}

/* Force-hide GP site footer and footer widgets on thank-you page */
body.wbs-thankyou .site-footer,
body.wbs-thankyou #colophon,
body.wbs-thankyou .footer-widgets,
body.wbs-thankyou #footer-widgets {
	display: none !important;
}

/* Hero section — centered */
.wbs-ty-hero {
	text-align: center;
	padding: 8px 16px 16px;
}
.wbs-ty-hero h1 {
	font-size: 28px;
	line-height: 1.3;
	margin: 16px 0 20px;
}
.wbs-ty-hero p {
	color: #555;
	max-width: 480px;
	margin: 16px auto 0;
}

/* Community section — centered */
.wbs-ty-community {
	text-align: center;
	padding: 32px 16px 16px;
	border-top: 1px solid #eee;
	margin-top: 24px;
}
.wbs-ty-community h3 {
	margin-bottom: 4px;
}
.wbs-ty-community p {
	color: #777;
	margin-bottom: 16px;
}
.wbs-ty-social {
	display: flex;
	justify-content: center;
	gap: 20px;
	align-items: center;
}

/* =============================================
   Section 16: Coupon form
   ============================================= */

/* Toggle notice — strip WC's default blue notice style */
body.woocommerce-checkout .woocommerce-form-coupon-toggle {
	background: none !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 0 8px !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	background: none !important;
	border: none !important;
	border-top: none !important;
	padding: 4px 0 !important;
	color: #777 !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	list-style: none !important;
	box-shadow: none !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
	display: none !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle a.showcoupon {
	color: #555 !important;
	text-decoration: underline !important;
	font-weight: 400 !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle a.showcoupon:hover {
	color: #171a3b !important;
}

/* Coupon input form — starts hidden, WC JS toggles */
body.woocommerce-checkout .checkout_coupon {
	border: 1px solid #e0e0e0 !important;
	border-radius: 6px !important;
	padding: 12px !important;
	margin: 0 0 16px !important;
	background: #fff !important;
}
body.woocommerce-checkout .checkout_coupon p {
	margin: 0 !important;
}
body.woocommerce-checkout .checkout_coupon .form-row {
	display: flex !important;
	gap: 8px !important;
	align-items: center !important;
	margin: 0 !important;
}
body.woocommerce-checkout .checkout_coupon input#coupon_code {
	flex: 1 !important;
	height: 40px !important;
	border: 1px solid #ddd !important;
	border-radius: 4px !important;
	padding: 0 12px !important;
	font-size: 14px !important;
}
body.woocommerce-checkout .checkout_coupon button[name="apply_coupon"] {
	height: 40px !important;
	padding: 0 16px !important;
	background: #171a3b !important;
	color: #fff !important;
	border: none !important;
	border-radius: 4px !important;
	font-size: 13px !important;
	cursor: pointer !important;
	white-space: nowrap !important;
}

/* WooCommerce coupon success / notice messages */
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info {
	background-color: #FDE8D7 !important;
	color: #000000 !important;
	border-top-color: #FDE8D7 !important;
	border-radius: 6px !important;
}
body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-info::before {
	color: #000000 !important;
}

/* WooCommerce error notices (e.g. T&C not accepted) */
body.woocommerce-checkout .woocommerce-error {
	background-color: #EF87C2 !important;
	color: #000000 !important;
	border-top-color: #EF87C2 !important;
	border-radius: 6px !important;
}
body.woocommerce-checkout .woocommerce-error::before,
body.woocommerce-checkout .woocommerce-error li::before {
	color: #000000 !important;
}
body.woocommerce-checkout .woocommerce-error a {
	color: #000000 !important;
	text-decoration: underline !important;
}
}