/* ============================================
   CHECKOUT PAGE — GlucoseGear (Block Checkout)
   Matches cart, thank-you, and account page styles.
   ============================================ */

/* ---- Wrapper — white card on the template container ---- */
.gg-checkout-page__title {
	font-size: 1.75rem;
	font-weight: 700;
	margin-bottom: 1.5rem;
	padding-bottom: 1rem;
	border-bottom: 2px solid var(--gg-primary-light);
	color: var(--gg-text);
}

.gg-checkout-wrapper {
	background: var(--gg-white);
	border-radius: var(--gg-radius-lg);
	padding: 2rem;
	box-shadow: var(--gg-shadow-sm);
	max-width: 1200px;
	margin: 0 auto;
}

/* ---- Section step headings ---- */
.wc-block-components-checkout-step__heading {
	border-bottom: 2px solid var(--gg-primary-light);
	padding-bottom: 0.5rem;
	margin-bottom: 1rem;
}

.wc-block-components-checkout-step__title {
	font-family: var(--gg-font-body);
	font-weight: 700;
	color: var(--gg-text);
}

.wc-block-components-checkout-step__description {
	color: var(--gg-mid-gray);
	font-size: 0.875rem;
}

/* ---- Step numbers — teal accent ---- */
.wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__container::before {
	color: var(--gg-primary) !important;
	font-weight: 700;
}

/* ---- Text inputs ---- */
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-textarea textarea {
	border: 1.5px solid var(--gg-light-gray) !important;
	border-radius: var(--gg-radius) !important;
	font-family: var(--gg-font-body) !important;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-block-components-textarea textarea:focus {
	border-color: var(--gg-primary) !important;
	box-shadow: 0 0 0 3px rgba(0, 151, 167, 0.1) !important;
}

/* ---- Select / combobox ---- */
.wc-block-checkout .wc-block-components-combobox .components-combobox-control input,
.wc-block-checkout .wc-blocks-components-select select {
	border: 1.5px solid var(--gg-light-gray) !important;
	border-radius: var(--gg-radius) !important;
	font-family: var(--gg-font-body) !important;
}

.wc-block-checkout .wc-block-components-combobox .components-combobox-control input:focus,
.wc-block-checkout .wc-blocks-components-select select:focus {
	border-color: var(--gg-primary) !important;
	box-shadow: 0 0 0 3px rgba(0, 151, 167, 0.1) !important;
}

/* ---- Checkboxes ---- */
.wc-block-checkout .wc-block-components-checkbox__input:checked {
	background-color: var(--gg-primary) !important;
	border-color: var(--gg-primary) !important;
}

.wc-block-checkout .wc-block-components-checkbox__input:focus {
	box-shadow: 0 0 0 3px rgba(0, 151, 167, 0.15) !important;
}

/* ---- Radio controls (shipping methods, payment) ---- */
.wc-block-checkout .wc-block-components-radio-control__input:checked {
	border-color: var(--gg-primary) !important;
	box-shadow: inset 0 0 0 4px var(--gg-primary) !important;
}

/* ---- Links ---- */
.wc-block-checkout a {
	color: var(--gg-primary);
}

.wc-block-checkout a:hover {
	color: var(--gg-primary-dark);
}

/* ---- Express payment divider ---- */
.wc-block-components-express-payment-continue-rule::after {
	color: var(--gg-mid-gray);
}

/* ---- Order summary sidebar ---- */
.wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-order-summary-item__description {
	font-family: var(--gg-font-body);
}

.wc-block-checkout__sidebar .wc-block-components-totals-item__label {
	color: var(--gg-dark-gray);
}

.wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--gg-primary);
	font-weight: 800;
}

/* ---- Coupon / discount link ---- */
.wc-block-components-totals-coupon-link {
	color: var(--gg-primary) !important;
}

.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
	background: var(--gg-primary) !important;
	color: var(--gg-white) !important;
	border: none !important;
	border-radius: var(--gg-radius) !important;
	font-weight: 600 !important;
	font-family: var(--gg-font-body) !important;
}

.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:hover {
	background: var(--gg-primary-dark) !important;
}

/* ---- Place order button — accent orange ---- */
.wc-block-components-checkout-place-order-button {
	background: var(--gg-accent) !important;
	color: var(--gg-white) !important;
	border: none !important;
	border-radius: var(--gg-radius) !important;
	font-weight: 700 !important;
	font-family: var(--gg-font-body) !important;
}

.wc-block-components-checkout-place-order-button:hover {
	background: var(--gg-accent-dark) !important;
}

/* ---- Payment method — teal accent on selected ---- */
.wc-block-checkout__payment-method .wc-block-components-radio-control__option--checked {
	border-color: var(--gg-primary);
}

/* ---- Address card (saved addresses) ---- */
.wc-block-components-address-card {
	border: 1.5px solid var(--gg-light-gray) !important;
	border-radius: var(--gg-radius) !important;
}

/* ---- Shipping options — teal accent on selected ---- */
.wc-block-components-shipping-rates-control .wc-block-components-radio-control__option--checked {
	border-color: var(--gg-primary);
}

/* ---- Notices inside checkout ---- */
.wc-block-checkout .wc-block-components-notice-banner.is-error {
	border-left-color: var(--gg-accent) !important;
	border-radius: var(--gg-radius) !important;
}

.wc-block-checkout .wc-block-components-notice-banner.is-success {
	border-left-color: var(--gg-success) !important;
	border-radius: var(--gg-radius) !important;
}

.wc-block-checkout .wc-block-components-notice-banner.is-info {
	border-left-color: var(--gg-primary) !important;
	border-radius: var(--gg-radius) !important;
}

/* ---- Responsive ---- */
@media (max-width: 768px) {
	.wp-block-woocommerce-checkout {
		padding: 1.25rem;
		border-radius: var(--gg-radius);
	}
}
