/* ============================================================
 * Cart, Checkout & Thank You Page Styles
 * AlanDog Design System v1.0.0
 *
 * Design tokens:
 *   --alandog-green:  #085d91 (azure blue — FIX-UI-69: was #085d91)
 *   --alandog-cta:    #963B1A
 *   --alandog-accent: #F4A261
 *   --alandog-bg:     #F8F9FA
 *   --alandog-text:   #1A1A1A
 *   --alandog-muted:  #6C757D
 * ============================================================ */

:root {
	--alandog-green: #085d91; /* FIX-UI-69: was #085d91 */
	--alandog-green-light: #D4EEFB;
	--alandog-green-dark: #065282; /* FIX-UI-69: was #0B7EC4 (4.40:1) → 5.65:1 */
	--alandog-cta: #963B1A;
	--alandog-cta-hover: #D4593E;
	--alandog-accent: #F4A261;
	--alandog-bg: #F8F9FA;
	--alandog-text: #1A1A1A;
	--alandog-muted: #6C757D;
	--alandog-border: #DEE2E6;
	--alandog-white: #FFFFFF;
	--alandog-radius: 8px;
	--alandog-radius-sm: 4px;
	--alandog-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	--alandog-mobile-nav-h: 55px; /* H5-FIX: single source of truth for bottom nav height */
}

/* ============================================================
 * 1. STEP INDICATOR
 * ============================================================ */
.alandog-step-indicator {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	max-width: 600px;
	margin: 0 auto 32px;
	padding: 24px 16px;
}

.alandog-step-indicator__step {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	position: relative;
	min-width: 80px;
}

.alandog-step-indicator__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--alandog-bg);
	border: 2px solid var(--alandog-border);
	color: var(--alandog-muted);
	transition: all 0.3s ease;
}

.alandog-step-indicator__number {
	display: none; /* Hidden visually, kept for accessibility */
}

.alandog-step-indicator__label {
	font-size: 13px;
	font-weight: 600;
	color: var(--alandog-muted);
	font-family: 'Inter', sans-serif;
	transition: color 0.3s ease;
}

/* Active step */
.alandog-step-indicator__step.active .alandog-step-indicator__icon {
	background: var(--alandog-cta);
	border-color: var(--alandog-cta);
	color: var(--alandog-white);
}

.alandog-step-indicator__step.active .alandog-step-indicator__label {
	color: var(--alandog-cta);
}

/* Completed step */
.alandog-step-indicator__step.completed .alandog-step-indicator__icon {
	background: var(--alandog-green);
	border-color: var(--alandog-green);
	color: var(--alandog-white);
}

.alandog-step-indicator__step.completed .alandog-step-indicator__label {
	color: var(--alandog-green);
}

/* Connecting line */
.alandog-step-indicator__line {
	flex: 1;
	height: 2px;
	background: var(--alandog-border);
	min-width: 40px;
	margin: 0 8px;
	margin-bottom: 22px; /* Offset to align with icon center */
	transition: background 0.3s ease;
}

.alandog-step-indicator__line.completed {
	background: var(--alandog-green);
}

/* ============================================================
 * 2. CART TRUST BADGES
 * ============================================================ */
.alandog-cart-trust-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
	padding: 20px;
	margin: 24px 0;
	background: var(--alandog-green-light);
	border-radius: var(--alandog-radius);
	border: 1px solid rgba(18, 156, 237, 0.15);
}

.alandog-cart-trust-badges__item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 500;
	color: var(--alandog-green-dark);
	font-family: 'Inter', sans-serif;
}

.alandog-cart-trust-badges__item svg {
	flex-shrink: 0;
}

/* ============================================================
 * 3. CART DELIVERY ESTIMATE
 * ============================================================ */
.alandog-delivery-estimate {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 20px;
	margin: 0 0 24px;
	background: var(--alandog-white);
	border: 1px solid var(--alandog-border);
	border-left: 4px solid var(--alandog-green);
	border-radius: var(--alandog-radius);
}

.alandog-delivery-estimate svg {
	flex-shrink: 0;
	color: var(--alandog-green);
}

.alandog-delivery-estimate__text {
	font-size: 14px;
	color: var(--alandog-text);
	font-family: 'Inter', sans-serif;
	line-height: 1.5;
}

.alandog-delivery-estimate__text strong {
	color: var(--alandog-green-dark);
}

/* ============================================================
 * 4. CHECKOUT SECURE HEADER
 * ============================================================ */
.alandog-checkout-secure-header {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 20px;
	margin: 0 0 8px;
	background: var(--alandog-green-dark);
	color: var(--alandog-white);
	border-radius: var(--alandog-radius);
	font-size: 15px;
	font-weight: 600;
	font-family: 'Inter', sans-serif;
}

.alandog-checkout-secure-header svg {
	flex-shrink: 0;
}

/* ============================================================
 * 5. CHECKOUT PAYMENT ICONS
 * ============================================================ */
.alandog-checkout-payment-icons {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 16px 0 8px;
	padding: 12px 0;
}

.alandog-checkout-payment-icons__label {
	font-size: 12px;
	color: var(--alandog-muted);
	font-family: 'Inter', sans-serif;
	margin-right: 4px;
}

.alandog-checkout-payment-icons__brand {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px 10px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--alandog-text);
	background: var(--alandog-white);
	border: 1.5px solid var(--alandog-border);
	border-radius: var(--alandog-radius-sm);
	font-family: 'Inter', sans-serif;
}

/* ============================================================
 * 6. CHECKOUT REVIEW ORDER (child template override)
 * ============================================================ */
.woocommerce-checkout-review-order-table thead th {
	padding: 0 0 12px;
	border-bottom: 2px solid var(--alandog-green);
}

.woocommerce-checkout-review-order-table thead h3 {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: var(--alandog-text);
	font-family: 'Nunito Sans', sans-serif;
}

.woocommerce-checkout-review-order-table .cart_item .product-name {
	font-size: 14px;
	color: var(--alandog-text);
}

.woocommerce-checkout-review-order-table .cart_item .product-quantity {
	color: var(--alandog-muted);
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
	font-size: 18px;
	font-weight: 700;
	color: var(--alandog-green-dark);
	padding-top: 16px;
	border-top: 2px solid var(--alandog-green);
}

/* WCAG: In-text links must be distinguishable without relying on color alone */
.woocommerce-privacy-policy-text a,
.woocommerce-terms-and-conditions-wrapper a,
.woocommerce form p a:not(.button),
.woocommerce-info a,
.woocommerce-message a:not(.button) {
	text-decoration: underline;
}

/* Cart can inherit empty WC notices after add-to-cart redirects.
   Hide zero-content wrappers so they don't leave ghost borders/lines. */
.woocommerce-cart .woocommerce-notices-wrapper:empty,
.woocommerce-cart .woocommerce-message:empty,
.woocommerce-cart .woocommerce-info:empty,
.woocommerce-cart .woocommerce-error:empty {
	display: none !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	min-height: 0 !important;
	box-shadow: none !important;
}

.woocommerce-cart .woocommerce-message:empty::before,
.woocommerce-cart .woocommerce-info:empty::before,
.woocommerce-cart .woocommerce-error:empty::before,
.woocommerce-cart .woocommerce-message:empty::after,
.woocommerce-cart .woocommerce-info:empty::after,
.woocommerce-cart .woocommerce-error:empty::after {
	display: none !important;
	content: none !important;
}

.woocommerce-cart .alandog-cart-notices {
	margin: 0 0 16px;
}

.woocommerce-cart .alandog-cart-notices .woocommerce-message,
.woocommerce-cart .alandog-cart-notices .woocommerce-info,
.woocommerce-cart .alandog-cart-notices .woocommerce-error {
	margin: 0 0 12px;
	border: 1px solid #dbe7f3;
	border-left: 4px solid #0b7ec4;
	border-radius: 14px;
	background: #f8fbfe;
	box-shadow: none;
}

.woocommerce-cart .alandog-cart-notices .woocommerce-message:last-child,
.woocommerce-cart .alandog-cart-notices .woocommerce-info:last-child,
.woocommerce-cart .alandog-cart-notices .woocommerce-error:last-child {
	margin-bottom: 0;
}

/* Keep the hidden sync submit invisible even if it receives focus.
   WP's generic .screen-reader-text:focus rule can otherwise draw a blue line. */
.alandog-cart-sync-form .screen-reader-text,
.alandog-cart-sync-form .screen-reader-text:focus {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
	outline: none !important;
	box-shadow: none !important;
}

/* ============================================================
 * 7. THANK YOU PAGE
 * ============================================================ */

/* 7a. Confirmation banner */
.woocommerce-order {
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width: 1180px;
	margin: 0 auto;
}

.alandog-thankyou-meta {
	padding: 26px;
	margin: 0;
	background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
	border: 1px solid rgba(8, 93, 145, 0.12);
	border-radius: 22px;
	box-shadow: 0 20px 40px rgba(8, 93, 145, 0.08);
}

.alandog-thankyou-meta__title {
	margin: 0 0 6px;
	font-size: 30px;
	line-height: 1.1;
	font-weight: 800;
	color: var(--alandog-text);
	font-family: 'Nunito Sans', sans-serif;
}

.alandog-thankyou-meta__lead {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: var(--alandog-muted);
}

.alandog-thankyou-meta .woocommerce-order-overview {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 14px;
	padding: 18px 0 0;
	margin: 18px 0 0;
	border-top: 1px solid rgba(8, 93, 145, 0.12);
}

.alandog-thankyou-meta .woocommerce-order-overview li {
	margin: 0;
	padding: 16px 18px;
	min-height: 110px;
	background: #FFFFFF;
	border: 1px solid rgba(8, 93, 145, 0.12);
	border-radius: 18px;
	color: var(--alandog-muted);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	box-shadow: 0 8px 18px rgba(8, 93, 145, 0.04);
}

.alandog-thankyou-meta .woocommerce-order-overview li strong {
	display: block;
	margin-top: 10px;
	color: var(--alandog-text);
	font-size: 18px;
	line-height: 1.35;
	font-weight: 800;
	text-transform: none;
	letter-spacing: normal;
	word-break: break-word;
}

.alandog-thankyou-meta .woocommerce-order-overview__total strong {
	font-size: 30px;
	color: var(--alandog-cta);
}

.alandog-thankyou-meta .woocommerce-order-overview__payment-method strong {
	font-size: 16px;
}

.woocommerce-order-details,
.woocommerce-customer-details,
.alandog-thankyou-delivery,
.alandog-thankyou-guest,
.alandog-thankyou-actions {
	padding: 24px;
	margin: 0;
	background: #FFFFFF;
	border: 1px solid rgba(8, 93, 145, 0.12);
	border-radius: 22px;
	box-shadow: 0 20px 40px rgba(8, 93, 145, 0.06);
}

.woocommerce-order-details__title,
.woocommerce-customer-details .woocommerce-column__title {
	margin: 0 0 18px;
	font-size: 24px;
	line-height: 1.15;
	font-weight: 800;
	color: var(--alandog-text);
	font-family: 'Nunito Sans', sans-serif;
}

.woocommerce-order-details .shop_table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	border-radius: 18px;
}

.woocommerce-order-details .shop_table thead th {
	padding: 14px 18px;
	background: #F4F9FF;
	border: 0;
	color: #5E6C84;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.woocommerce-order-details .shop_table tbody td,
.woocommerce-order-details .shop_table tfoot th,
.woocommerce-order-details .shop_table tfoot td {
	padding: 16px 18px;
	border: 0;
	border-top: 1px solid rgba(8, 93, 145, 0.10);
	vertical-align: top;
	background: #FFFFFF;
}

.woocommerce-order-details .shop_table tbody td.product-name a {
	display: inline-block;
	margin-bottom: 8px;
	color: #085D91;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.45;
	text-decoration: none;
}

.woocommerce-order-details .shop_table tbody td.product-name a:hover {
	color: #064b74;
	text-decoration: underline;
}

.woocommerce-order-details .product-quantity {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 28px;
	padding: 0 10px;
	margin-left: 8px;
	border-radius: 999px;
	background: #EAF4FF;
	color: #085D91;
	font-size: 12px;
	font-weight: 800;
}

.woocommerce-order-details .shop_table .product-total,
.woocommerce-order-details .shop_table tfoot td {
	text-align: right;
}

.woocommerce-order-details .shop_table tfoot th {
	color: #5E6C84;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.woocommerce-order-details .shop_table tfoot tr:last-child th,
.woocommerce-order-details .shop_table tfoot tr:last-child td {
	background: #F8FBFF;
}

.woocommerce-order-details .shop_table tfoot tr:last-child td strong,
.woocommerce-order-details .shop_table tfoot tr:last-child td .amount {
	color: var(--alandog-cta);
	font-size: 24px;
	font-weight: 800;
}

.woocommerce-order-details .order-actions-button,
.woocommerce-order-details .wps_rma_view_order {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 16px;
	border: 0;
	border-radius: 12px;
	background: #085D91;
	color: #FFFFFF !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	box-shadow: none;
}

.woocommerce-order-details .order-actions-button:hover,
.woocommerce-order-details .wps_rma_view_order:hover {
	background: #064b74;
	color: #FFFFFF !important;
	text-decoration: none;
}

.woocommerce-order-details form {
	margin-top: 18px;
}

.woocommerce-order-details form p {
	margin: 0;
}

.woocommerce-customer-details address {
	margin: 0;
	padding: 18px;
	border-radius: 18px;
	background: #F8FBFF;
	border: 1px solid rgba(8, 93, 145, 0.10);
	font-style: normal;
	font-size: 15px;
	line-height: 1.75;
	color: var(--alandog-text);
	word-break: break-word;
}

.woocommerce-customer-details .woocommerce-customer-details--phone,
.woocommerce-customer-details .woocommerce-customer-details--email {
	margin: 12px 0 0;
	padding-top: 12px;
	border-top: 1px solid rgba(8, 93, 145, 0.10);
	color: #425466;
}

.alandog-order-addresses__header {
	margin-bottom: 18px;
}

.alandog-order-addresses__eyebrow,
.alandog-order-addresses__card-label {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0 12px;
	border-radius: 999px;
	background: #EAF4FF;
	color: #085D91;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.alandog-order-addresses__hint {
	margin: 10px 0 0;
	font-size: 14px;
	line-height: 1.65;
	color: var(--alandog-muted);
}

.alandog-order-addresses__grid {
	display: grid;
	gap: 16px;
}

.alandog-order-addresses__grid.has-billing {
	grid-template-columns: 1fr;
}

.alandog-order-addresses__card,
.alandog-order-addresses__billing-note {
	padding: 18px;
	border-radius: 18px;
	background: #F8FBFF;
	border: 1px solid rgba(8, 93, 145, 0.10);
}

.alandog-order-addresses__card-label {
	margin-bottom: 12px;
}

.alandog-order-addresses__card.is-shipping {
	background: linear-gradient(180deg, #F4FBFF 0%, #FFFFFF 100%);
	border-color: rgba(8, 93, 145, 0.16);
	box-shadow: 0 10px 24px rgba(8, 93, 145, 0.05);
}

.alandog-order-addresses__billing-note p {
	margin: 12px 0 0;
	font-size: 14px;
	line-height: 1.65;
	color: var(--alandog-muted);
}

.alandog-thankyou-banner {
	text-align: center;
	padding: 32px 24px;
	margin: 0;
	background: linear-gradient(180deg, #EAF6FF 0%, #DDF0FF 100%);
	border: 1px solid rgba(14, 123, 186, 0.20);
	border-radius: 22px;
	box-shadow: 0 20px 40px rgba(8, 93, 145, 0.08);
}

.alandog-thankyou-banner__icon {
	margin: 0 0 12px;
}

.alandog-thankyou-banner__title {
	font-size: 24px;
	font-weight: 800;
	color: var(--alandog-green-dark);
	margin: 0 0 8px;
	font-family: 'Nunito Sans', sans-serif;
}

.alandog-thankyou-banner__subtitle {
	font-size: 16px;
	color: var(--alandog-text);
	margin: 0 0 4px;
}

.alandog-thankyou-banner__order {
	font-size: 14px;
	color: var(--alandog-muted);
	margin: 0 0 4px;
}

.alandog-thankyou-banner__email {
	font-size: 14px;
	color: var(--alandog-text);
	margin: 0;
}

/* 7b. Delivery estimate */
.alandog-thankyou-delivery {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	border-left: 4px solid var(--alandog-green);
}

.alandog-thankyou-delivery svg {
	flex-shrink: 0;
	color: var(--alandog-green);
	margin-top: 2px;
}

.alandog-thankyou-delivery__text {
	font-size: 14px;
	color: var(--alandog-text);
	line-height: 1.6;
	font-family: 'Inter', sans-serif;
}

.alandog-thankyou-delivery__text strong {
	color: var(--alandog-green-dark);
}

/* 7c. Guest account prompt */
.alandog-thankyou-guest {
	background: #FFF8F0;
	border: 1px solid rgba(244, 162, 97, 0.3);
	text-align: center;
}

.alandog-thankyou-guest__title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 18px;
	font-weight: 700;
	color: var(--alandog-text);
	margin: 0 0 8px;
	font-family: 'Nunito Sans', sans-serif;
}

.alandog-thankyou-guest p {
	font-size: 14px;
	color: var(--alandog-muted);
	margin: 0 0 16px;
}

.alandog-thankyou-guest__btn {
	display: inline-block;
	padding: 12px 32px;
	background: var(--alandog-cta);
	color: var(--alandog-white) !important;
	font-size: 15px;
	font-weight: 700;
	border-radius: var(--alandog-radius);
	text-decoration: none;
	transition: background 0.2s ease;
	font-family: 'Inter', sans-serif;
}

.alandog-thankyou-guest__btn:hover {
	background: var(--alandog-cta-hover);
	color: var(--alandog-white) !important;
	text-decoration: none;
}

/* 7d. Social share + continue */
.alandog-thankyou-actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.alandog-thankyou-actions__share {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
	margin: 0 0 20px;
}

.alandog-thankyou-actions__share span {
	font-size: 14px;
	color: var(--alandog-muted);
}

.alandog-social-btn {
	display: inline-flex;
	align-items: center;
	padding: 8px 16px;
	font-size: 13px;
	font-weight: 600;
	border-radius: var(--alandog-radius-sm);
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.alandog-social-btn:hover {
	opacity: 0.85;
	text-decoration: none;
}

.alandog-social-btn--fb {
	background: #1877F2;
	color: var(--alandog-white) !important;
}

.alandog-social-btn--wa {
	background: #25D366;
	color: var(--alandog-white) !important;
}

.alandog-thankyou-actions__continue {
	display: inline-block;
	padding: 12px 32px;
	background: #085D91;
	color: var(--alandog-white) !important;
	font-size: 15px;
	font-weight: 700;
	border-radius: 12px;
	text-decoration: none;
	transition: background 0.2s ease;
}

.alandog-thankyou-actions__continue:hover {
	background: #064b74;
	color: var(--alandog-white) !important;
	text-decoration: none;
}

@media (min-width: 992px) {
	.woocommerce-order {
		display: grid;
		grid-template-columns: minmax(0, 1.7fr) minmax(320px, 1fr);
		align-items: start;
		gap: 24px;
	}

	.alandog-thankyou-meta,
	.alandog-step-indicator,
	.alandog-thankyou-banner,
	.alandog-thankyou-cross-sells {
		grid-column: 1 / -1;
	}

	.woocommerce-order-details,
	.alandog-thankyou-delivery {
		grid-column: 1;
	}

	.woocommerce-customer-details,
	.alandog-thankyou-guest {
		grid-column: 2;
	}

	.alandog-thankyou-actions {
		grid-column: 1 / -1;
	}

	.alandog-order-addresses__grid.has-billing {
		grid-template-columns: 1.15fr 0.85fr;
	}
}

/* ============================================================
 * 8. RESPONSIVE
 * ============================================================ */

@media (max-width: 767px) { /* H4-FIX: standardized from 768px to 767px */

	/* Step indicator: compact on mobile */
	.alandog-step-indicator {
		padding: 16px 8px;
		margin-bottom: 24px;
	}

	.alandog-step-indicator__step {
		min-width: 60px;
	}

	.alandog-step-indicator__icon {
		width: 36px;
		height: 36px;
	}

	.alandog-step-indicator__icon svg {
		width: 16px;
		height: 16px;
	}

	.alandog-step-indicator__label {
		font-size: 11px;
	}

	.alandog-step-indicator__line {
		min-width: 24px;
		margin-bottom: 18px;
	}

	/* Trust badges: 2 columns on mobile */
	.alandog-cart-trust-badges {
		gap: 12px;
		padding: 16px;
	}

	.alandog-cart-trust-badges__item {
		flex: 1 1 calc(50% - 8px);
		min-width: 140px;
		font-size: 13px;
	}

	/* Delivery estimate */
	.alandog-delivery-estimate {
		padding: 12px 16px;
	}

	/* Checkout secure header */
	.alandog-checkout-secure-header {
		font-size: 14px;
		padding: 12px 16px;
	}

	/* Payment icons */
	.alandog-checkout-payment-icons {
		gap: 6px;
	}

	.alandog-checkout-payment-icons__brand {
		padding: 3px 8px;
		font-size: 10px;
	}

	/* Thank you page */
	.woocommerce-order {
		gap: 18px;
	}

	.alandog-thankyou-meta {
		padding: 20px 18px;
		border-radius: 18px;
	}

	.alandog-thankyou-meta__title {
		font-size: 24px;
	}

	.alandog-thankyou-meta .woocommerce-order-overview {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.alandog-thankyou-meta .woocommerce-order-overview li {
		min-height: 0;
	}

	.woocommerce-order-details,
	.woocommerce-customer-details,
	.alandog-thankyou-delivery,
	.alandog-thankyou-guest,
	.alandog-thankyou-actions {
		padding: 18px 16px;
		border-radius: 18px;
	}

	.woocommerce-customer-details {
		order: 4;
	}

	.alandog-thankyou-delivery {
		order: 5;
	}

	.woocommerce-order-details {
		order: 6;
	}

	.woocommerce-order-details__title,
	.woocommerce-customer-details .woocommerce-column__title {
		font-size: 20px;
		margin-bottom: 14px;
	}

	.woocommerce-order-details .shop_table thead {
		display: none;
	}

	.woocommerce-order-details .shop_table tbody td,
	.woocommerce-order-details .shop_table tfoot th,
	.woocommerce-order-details .shop_table tfoot td {
		padding: 14px 12px;
	}

	.woocommerce-order-details .shop_table tfoot tr:last-child td strong,
	.woocommerce-order-details .shop_table tfoot tr:last-child td .amount {
		font-size: 20px;
	}

	.alandog-order-addresses__card,
	.alandog-order-addresses__billing-note {
		padding: 16px 14px;
		border-radius: 16px;
	}

	.alandog-thankyou-banner {
		padding: 24px 16px;
	}

	.alandog-thankyou-banner__title {
		font-size: 20px;
	}

	.alandog-thankyou-guest__title {
		font-size: 16px;
		flex-direction: column;
		gap: 4px;
	}

	.alandog-thankyou-actions__share {
		flex-direction: column;
		gap: 8px;
	}

	.alandog-social-btn {
		width: 100%;
		justify-content: center;
	}
}

@media (max-width: 480px) {

	/* Trust badges: stack on very small screens */
	.alandog-cart-trust-badges {
		flex-direction: column;
		gap: 10px;
	}

	.alandog-cart-trust-badges__item {
		min-width: auto;
	}

	/* Step indicator: even smaller */
	.alandog-step-indicator__step {
		min-width: 50px;
	}

	.alandog-step-indicator__icon {
		width: 32px;
		height: 32px;
	}

	.alandog-step-indicator__icon svg {
		width: 14px;
		height: 14px;
	}

	.alandog-step-indicator__label {
		font-size: 10px;
	}

	.alandog-step-indicator__line {
		min-width: 16px;
		margin-bottom: 16px;
	}
}

/* ============================================================
 * FIX-UI-129: Hide duplicate cart tables
 * Martfury cart-totals.php renders the real 2-column layout
 * (items in .purchase-plan + totals in .cart_totals).
 * The standard WC table from cart.php is redundant.
 *
 * BUG FIX: WC Subscriptions "All Products for Subscriptions"
 * injects a SECOND table (Prodotto|Quantità|Totale) inside
 * .purchase-plan when switching to subscription mode. This
 * recurring-cart table duplicates the product list.
 * The first table.shop_table is the real cart; the second is
 * the subscription duplicate that must be hidden.
 * ============================================================ */

/* 1. Hide the outer WC cart form (direct child of .woocommerce) */
.woocommerce > .woocommerce-cart-form {
	display: none !important;
}

/* 2. FIX-DEVIL-04: Inside .purchase-plan — hide ALL duplicate shop_tables.
 *    WC Subscriptions injects sibling tables on each radio toggle.
 *    Broadened: match with or without .cart class for resilience. */
.purchase-plan .woocommerce-cart-form table.shop_table ~ table.shop_table {
	display: none !important;
}

/* 3. Also catch duplicate forms themselves */
.purchase-plan .woocommerce-cart-form ~ .woocommerce-cart-form {
	display: none !important;
}

/* 4. Fallback: any second+ table.shop_table inside purchase-plan (no form wrapper) */
.purchase-plan > table.shop_table ~ table.shop_table {
	display: none !important;
}

/* ============================================================
 * FIX-UI-130: Free shipping visual progress bar
 * Replaces plain text message with animated bar + percentage
 * ============================================================ */

/* Hide old plain text free shipping message from cart-totals.php */
.cart_totals td[colspan="2"] > div > p[style*="font-size:0.8em"] {
	display: none;
}

.alandog-cart-shipping-progress {
	padding: 14px 16px;
	margin-bottom: 16px;
	background: #FFF8F0;
	border: 1px solid rgba(244, 162, 97, 0.3);
	border-radius: 8px;
}

.alandog-cart-shipping-progress.shipping-complete {
	background: #f0fdf4;
	border-color: #bbf7d0;
}

.alandog-cart-shipping-progress__text {
	font-size: 14px;
	color: #1A1A1A;
	text-align: center;
	margin-bottom: 10px;
	font-family: 'Inter', sans-serif;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

.shipping-complete .alandog-cart-shipping-progress__text {
	color: #035d43;
	font-weight: 600;
}

.alandog-cart-shipping-progress__track {
	width: 100%;
	height: 8px;
	background: #e0e0e0;
	border-radius: 4px;
	overflow: hidden;
}

.alandog-cart-shipping-progress__fill {
	height: 100%;
	background: linear-gradient(90deg, #E76F51, #F4A261);
	border-radius: 4px;
	transition: width 0.6s ease;
	max-width: 100%;
}

.shipping-complete .alandog-cart-shipping-progress__fill {
	background: #035d43;
}

.alandog-cart-shipping-progress__pct {
	font-size: 12px;
	color: #6C757D;
	text-align: right;
	margin-top: 4px;
	font-family: 'Inter', sans-serif;
}

/* ============================================================
 * FIX-UI-130b: Cart Urgency / Delivery Estimate
 * ============================================================ */
.alandog-cart-urgency {
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	border-radius: 8px;
	padding: 12px 16px;
	margin-bottom: 16px;
}

.alandog-cart-urgency__delivery {
	font-size: 14px;
	color: #035d43;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 8px;
}

.alandog-cart-urgency__delivery strong {
	font-weight: 700;
}

/* H3-FIX: Removed duplicate .alandog-cart-urgency__countdown (display:block).
   Superseded by FIX-CART-06 version below (display:flex) at line ~2503. */

/* FIX-UI-131: Payment method icons below cart CTA */
.alandog-cart-payment-icons {
	text-align: center;
	margin-top: 12px;
	padding: 10px 0 0;
	border-top: 1px solid #DEE2E6;
}

.alandog-cart-payment-icons__label {
	display: block;
	font-size: 11px;
	color: #6C757D;
	font-family: 'Inter', sans-serif;
	margin-bottom: 8px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.alandog-cart-payment-icons__row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	flex-wrap: wrap;
}

.alandog-cart-payment-icons__icon {
	display: inline-flex;
	opacity: 0.85;
	transition: opacity 0.2s;
}

.alandog-cart-payment-icons__icon:hover {
	opacity: 1;
}

/* ============================================================
 * FIX-UI-134: Mobile cart item cards
 * Restructure table rows into card layout on mobile
 * Thumbnails 4px→80px, remove button 16x24→44x44
 * ============================================================ */
@media (max-width: 767px) {
	/* Convert table to block layout */
	.purchase-plan table.shop_table,
	.purchase-plan table.shop_table thead,
	.purchase-plan table.shop_table tbody,
	.purchase-plan table.shop_table tr,
	.purchase-plan table.shop_table td {
		display: block;
	}

	/* Hide table header on mobile */
	.purchase-plan table.shop_table thead {
		display: none;
	}

	/* Cart item as card */
	.purchase-plan .cart_item {
		position: relative;
		padding: 16px;
		margin-bottom: 12px;
		border: 1px solid #DEE2E6;
		border-radius: 8px;
		background: #fff;
	}

	/* Thumbnail cell: show inline-block */
	.purchase-plan .cart_item .product-thumbnail {
		display: inline-block;
		vertical-align: top;
		width: 80px;
		padding: 0;
	}

	.purchase-plan .cart_item .product-thumbnail img,
	.purchase-plan .cart_item .product-thumbnail a img {
		width: 80px !important; /* !important: fights Martfury inline WC thumbnail sizing */
		height: auto !important;
		border-radius: 6px;
	}

	/* Name cell: inline-block next to thumbnail */
	.purchase-plan .cart_item .product-name {
		display: inline-block;
		vertical-align: top;
		width: calc(100% - 100px);
		padding: 0 0 0 12px;
		font-size: 14px;
	}

	/* Hide the mobile-detail thumbnail (duplicates the main thumbnail cell) */
	.purchase-plan .cart_item .product-name .product-item.product-item-thumb.product-detail-mobile {
		display: none !important; /* !important: fights Martfury mobile detail display */
	}

	/* Quantity cell: full width below */
	.purchase-plan .cart_item .product-quantity {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 12px 0 0;
		border-top: 1px solid #f0f0f0;
		margin-top: 12px;
	}

	/* Qty buttons minimum 44x44 touch target */
	.purchase-plan .cart_item .qty-box .decrease,
	.purchase-plan .cart_item .qty-box .increase {
		min-width: 44px;
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	/* Subtotal cell: inline in quantity row */
	.purchase-plan .cart_item .product-subtotal {
		display: inline-block;
		font-size: 18px;
		font-weight: 700;
		color: #1A1A1A;
		padding: 0;
		text-align: right;
	}

	/* Remove button: top-right corner, 44x44 */
	.purchase-plan .cart_item > .product-remove {
		position: absolute;
		top: 8px;
		right: 8px;
		padding: 0;
	}

	.purchase-plan .cart_item .product-remove .mf-remove,
	.purchase-plan .cart_item .product-remove a.remove {
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 44px;
		min-height: 44px;
		font-size: 18px;
		color: #6C757D;
		border-radius: 50%;
		background: #f8f9fa;
	}

	/* Hide the inline remove button (Martfury puts one in qty cell) */
	.purchase-plan .cart_item .product-quantity > .product-remove {
		clip: rect(0, 0, 0, 0);
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		margin: -1px;
	}

	/* Position the standalone remove column td at top-right */
	.purchase-plan .cart_item > td.product-remove {
		position: absolute;
		top: 8px;
		right: 8px;
		padding: 0;
		width: auto;
		border: none;
	}

	/* Actions row (update cart, back to shop) */
	.purchase-plan table.shop_table .actions {
		padding: 12px 0;
	}
}

/* ============================================================
 * FIX-UI-135: Collapsible coupon form
 * ============================================================ */

/* Hide sidebar duplicate coupon (Martfury cart-totals.php) */
.cart_totals > .woocommerce-coupon-form {
	display: none;
}
.col-coupon {
	padding: 0;
}

/* Toggle button */
.alandog-coupon-toggle {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 12px 16px;
	background: #f8f9fa;
	border: 1px solid #DEE2E6;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	color: #1A1A1A;
	cursor: pointer;
	font-family: 'Inter', sans-serif;
	transition: background 0.2s;
}

.alandog-coupon-toggle:hover {
	background: #e9ecef;
}

.alandog-coupon-toggle__icon {
	font-size: 16px;
}

.alandog-coupon-toggle__arrow {
	margin-left: auto;
	transition: transform 0.3s ease;
}

/* Collapsed state (default) */
.alandog-inline-coupon .alandog-coupon-form {
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: max-height 0.3s ease, opacity 0.2s ease, margin 0.3s ease;
	margin-top: 0;
}

/* Expanded state */
.alandog-inline-coupon.coupon-open .alandog-coupon-form {
	max-height: 80px;
	opacity: 1;
	margin-top: 10px;
}

.alandog-inline-coupon.coupon-open .alandog-coupon-toggle__arrow {
	transform: rotate(180deg);
}

/* Coupon input row */
.alandog-inline-coupon .coupon-inline-row {
	display: flex;
	gap: 8px;
}

.alandog-inline-coupon .coupon-inline-row input[type="text"] {
	flex: 1;
	padding: 10px 14px;
	border: 1px solid #DEE2E6;
	border-radius: 6px;
	font-size: 14px;
}

.alandog-inline-coupon .coupon-inline-row button[type="submit"] {
	padding: 10px 20px;
	background: #1A1A1A;
	color: #fff;
	border: none;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
}

.alandog-inline-coupon .coupon-inline-row button[type="submit"]:hover {
	background: #333;
}

/* FIX-UI-12: Fix cart sidebar width — flex on .row, not .cart-collaterals
 * DOM: .cart-collaterals > .row > .col-md-8.purchase-plan + .col-md-4.cart_totals
 * Previous FIX-UI-132 applied flex to .cart-collaterals (single child .row)
 * and flex-basis to .cart_totals (grandchild, not direct flex item — no effect).
 * Fix: make .row the flex container, override Bootstrap float columns. */
@media (min-width: 992px) {
	.woocommerce-cart .cart-collaterals > .row {
		display: flex;
		flex-wrap: nowrap;
		align-items: flex-start;
		gap: 24px;
	}

	.woocommerce-cart .cart-collaterals .purchase-plan {
		flex: 1 1 0%;
		width: auto;
		max-width: none;
		float: none;
	}

	.woocommerce-cart .cart-collaterals .cart_totals {
		flex: 0 0 380px;
		min-width: 380px;
		width: auto;
		max-width: none;
		float: none;
		position: sticky;
		top: 80px;
		align-self: flex-start;
		overflow: hidden;
	}
}

/* ============================================================
 * FIX-UI-137: Sticky + scrollable checkout order review
 * Order review with many items becomes very tall (1701px for 6 items).
 * Make product list scrollable, then whole sidebar sticky.
 * ============================================================ */
@media (min-width: 768px) {
	.woocommerce-checkout .row {
		display: flex;
		align-items: flex-start;
	}

	/* Sticky order review sidebar */
	.woocommerce-checkout .col-md-5 {
		position: sticky;
		top: 80px;
		align-self: flex-start;
	}

	/* Scrollable product list inside order review */
	.woocommerce-checkout-review-order-table tbody {
		display: block;
		max-height: 300px;
		overflow-y: auto;
		/* FIX-UI-140: a11y keyboard scrolling */
		-webkit-overflow-scrolling: touch;
	}

	.woocommerce-checkout-review-order-table thead,
	.woocommerce-checkout-review-order-table tfoot,
	.woocommerce-checkout-review-order-table tbody tr {
		display: table;
		width: 100%;
		table-layout: fixed;
	}
}

/* Mobile: collapsible order summary */
@media (max-width: 767px) { /* H4-FIX: standardized from 768px */
	.woocommerce-checkout-review-order-table tbody {
		max-height: 200px;
		overflow-y: auto;
		display: block;
	}

	.woocommerce-checkout-review-order-table thead,
	.woocommerce-checkout-review-order-table tfoot,
	.woocommerce-checkout-review-order-table tbody tr {
		display: table;
		width: 100%;
		table-layout: fixed;
	}
}

/* ============================================================
 * FIX-UI-138 + R2: Mobile checkout sticky CTA with total
 * "Effettua Ordine" button fixed at bottom with total display
 * R2: Compact place-order bar — max ~120px, not 377px
 * ============================================================ */

/* Neutralize orphaned .checkout-total-float CSS from style.css
 * (PHP function GetOrderTotal was removed, but CSS remains in style.css
 *  and could affect other elements via position:fixed/z-index:9999) */
.checkout-total-float {
	display: none !important;
}

@media (max-width: 767px) {
	/* Mobile checkout CTA must stay in normal document flow.
	   Fixed/sticky behavior was covering Stripe fields and T&C on real devices. */
	.woocommerce-checkout #payment .place-order {
		position: static;
		bottom: auto;
		left: auto;
		right: auto;
		z-index: auto;
		background: transparent;
		padding: 14px 0 0;
		box-shadow: none;
		border: 0;
		border-radius: 0;
		margin: 16px 0 0;
		display: flex;
		flex-direction: column;
		gap: 12px;
		overflow: visible;
		opacity: 1;
		pointer-events: auto;
		transform: none;
		transition: none;
	}

	/* Legacy class may still be present after AJAX refreshes; keep layout stable. */
	body.woocommerce-checkout.alandog-checkout-payment-active #payment .place-order,
	.woocommerce-checkout #payment .place-order.alandog-sticky-visible {
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}

	/* CTA after terms */
	.woocommerce-checkout #place_order {
		order: 1;
		width: 100%;
		padding: 14px 20px;
		font-size: 16px;
		margin: 0;
		border-radius: 14px;
	}

	/* T&C wrapper: compact and in-flow */
	.woocommerce-checkout #payment .place-order .woocommerce-terms-and-conditions-wrapper {
		order: 0;
		padding: 0;
		margin: 0;
		font-size: 12px;
		line-height: 1.45;
	}

	/* Hide extra consent/noise in mobile checkout CTA zone */
	.woocommerce-checkout #payment .place-order .woocommerce-privacy-policy-text,
	.woocommerce-checkout #payment .place-order .cr-customer-consent,
	.woocommerce-checkout #payment .place-order #ppcp-recaptcha-v2-container,
	.woocommerce-checkout #payment .place-order #ppcp-hosted-fields,
	.woocommerce-checkout #payment .place-order #payments-sdk__contingency-lightbox,
	.woocommerce-checkout #payment .place-order [id^="ppc-button-"] {
		display: none;
	}

	/* Compact T&C checkbox row — target the real terms field only */
	.woocommerce-checkout #payment .place-order .validate-required {
		margin: 0;
	}
	.woocommerce-checkout form.checkout .place-order p.form-row.validate-required .woocommerce-form__label-for-checkbox {
		display: flex !important;
		align-items: flex-start;
		gap: 10px;
		width: 100%;
		padding: 0;
		margin: 0;
		font-size: 12px;
		line-height: 1.45;
		color: #374151;
	}
	.woocommerce-checkout form.checkout .place-order p.form-row.validate-required .woocommerce-form__label-for-checkbox > .input-checkbox,
	.woocommerce-checkout form.checkout .place-order p.form-row.validate-required .woocommerce-form__label-for-checkbox > .woocommerce-form__input-checkbox {
		display: block !important;
		opacity: 1 !important;
		appearance: auto;
		-webkit-appearance: checkbox;
		position: static !important;
		width: 18px;
		height: 18px;
		margin: 2px 0 0;
		flex: 0 0 18px;
		clip: auto !important;
		overflow: visible !important;
	}
	.woocommerce-checkout form.checkout .place-order p.form-row.validate-required .woocommerce-form__label-for-checkbox > span {
		display: block;
		flex: 1 1 auto;
		padding-left: 0;
		line-height: 1.45;
	}
	.woocommerce-checkout form.checkout .place-order p.form-row.validate-required .woocommerce-form__label-for-checkbox > span:before {
		display: none !important;
	}
	.woocommerce-checkout form.checkout .place-order p.form-row.validate-required .woocommerce-form__label-for-checkbox abbr.required {
		display: inline;
		margin-left: 2px;
		color: #dc2626;
		text-decoration: none;
	}

	/* Hide trust strip, payment icons in sticky bar */
	.woocommerce-checkout #payment .place-order .alandog-payment-trust-strip,
	.woocommerce-checkout #payment .place-order .alandog-checkout-trust,
	.woocommerce-checkout #payment .place-order .alandog-checkout-payment-icons,
	.woocommerce-checkout #payment .place-order .cr-checkout-consent {
		display: none;
	}
	/* The standalone trust row below payment becomes visual noise once the
	   sticky CTA is active on small screens. The security note above the
	   gateways already covers reassurance. */
	.woocommerce-checkout .alandog-checkout-trust {
		display: none !important;
	}

	/* No extra bottom spacer needed once CTA is back in flow */
	.woocommerce-checkout #payment {
		padding-bottom: 0;
	}
}

/* FIX-UI-136: Hide company field on checkout (B2C pet food) */
.woocommerce-checkout .hidden-checkout-field {
	display: none;
}

/* FIX-UI-136: Delivery estimate on checkout order review */
.alandog-checkout-delivery__box {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	border-radius: 6px;
	font-size: 13px;
	color: #035d43;
	margin-top: 8px;
}

.alandog-checkout-delivery__box strong {
	font-weight: 700;
}

/* ============================================================
 * FIX-UI-140: Checkout a11y contrast + keyboard fixes
 * ============================================================ */

/* Fix AA contrast on product variation names in order review */
.woocommerce-checkout-review-order-table .variation dt,
.woocommerce-checkout-review-order-table .variation dd {
	color: #4a4a4a; /* 7.0:1 on white — passes AAA */
}

/* Fix AAA contrast on step indicator inactive label */
.alandog-step-indicator__step:not(.active):not(.completed) .alandog-step-indicator__label {
	color: #595959; /* 7.0:1 on white */
}

/* Fix GDPR no-thanks link contrast */
#wcf_ca_gdpr_no_thanks {
	color: #4a4a4a; /* was light gray, now passes AAA */
}

/* Fix shipping title contrast */
.woocommerce-checkout h4.shipping-title {
	color: #1A1A1A;
}

/* Scrollable tbody keyboard accessibility */
.woocommerce-checkout-review-order-table tbody[tabindex] {
	outline-offset: 2px;
}

/* FIX-UI-139: Trust strip above payment methods */
.alandog-payment-trust-strip {
	display: flex;
	gap: 16px;
	padding: 12px 16px;
	margin-bottom: 16px;
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	border-radius: 8px;
	font-size: 13px;
	color: #035d43;
	font-family: 'Inter', sans-serif;
}

.alandog-payment-trust-strip__item {
	display: flex;
	align-items: center;
	gap: 6px;
}

.alandog-payment-trust-strip__item strong {
	font-weight: 700;
}

@media (max-width: 767px) {
	.alandog-payment-trust-strip {
		flex-direction: column;
		gap: 8px;
		font-size: 12px;
	}
}

/* H3-FIX: Removed orphaned .alandog-checkout-trust CSS (30 lines).
   Replaced by .alandog-payment-trust-strip (section 9 PHP). */

/* ============================================================
 * FIX-UI-155: CHECKOUT REDESIGN — conversion-focused
 * Complete visual overhaul for trust, clarity, and conversion
 * ============================================================ */

/* 1. MINIMAL CHECKOUT HEADER — scoped to the dedicated checkout header variant */
body.alandog-custom-sticky-header.woocommerce-cart,
body.alandog-header-checkout.woocommerce-checkout {
	overflow: visible !important;
	overflow-x: clip !important;
}

body.alandog-header-checkout.woocommerce-checkout .site-header .primary-nav,
body.alandog-header-checkout.woocommerce-checkout .site-header .topbar,
body.alandog-header-checkout.woocommerce-checkout .header-banner,
body.alandog-header-checkout.woocommerce-checkout .mf-sticky-header .header-bottom,
body.alandog-header-checkout.woocommerce-checkout .announcement-bar {
	display: none !important; /* !important: fights theme display */
}

/* Restore the essential desktop category menu on checkout without bringing back
   the full promo/topbar chrome. */
@media (min-width: 992px) {
	body.alandog-header-checkout.woocommerce-checkout .site-header .main-menu,
	body.alandog-header-checkout.woocommerce-checkout .site-header .primary-nav {
		display: block !important;
	}
}

/* 2. HIDE SOCIAL LOGIN + ERROR MESSAGES — staging config errors visible to users */
.woocommerce-checkout .the_champ_login_container,
.woocommerce-checkout .the_champ_outer,
.woocommerce-checkout .the_champ_outer_login_container,
.woocommerce-checkout .the_champ_error {
	display: none !important; /* !important: fights plugin display */
}

/* 3. HIDE ORDER NOTES BY DEFAULT — collapsible */
.woocommerce-checkout #order_comments_field {
	display: none;
}
.woocommerce-checkout .alandog-notes-toggle {
	display: block;
	background: none;
	border: none;
	color: var(--alandog-green, #085d91);
	cursor: pointer;
	font-size: 13px;
	padding: 8px 0;
	text-decoration: underline;
}
.woocommerce-checkout .alandog-notes-toggle:hover {
	color: #065282;
}
body.notes-open .woocommerce-checkout #order_comments_field {
	display: block;
}

/* 4. HIDE SHIPPING CLASS LABELS (Campagna iva, Non gratuito, In giorni) */
.woocommerce-checkout .shipping-class-label,
.woocommerce-checkout .woocommerce-shipping-methods .shipping_method + label .woocommerce-Price-amount + span,
.woocommerce-checkout td.product-name .variation dt,
.woocommerce-checkout td.product-name .variation dd {
	font-size: 12px;
	color: #6C757D;
}

/* 5. CHECKOUT BACKGROUND — light gray for trust */
.woocommerce-checkout .site-content {
	background: #F8F9FA;
}

/* 6. FORM CARD WRAPPER — billing details in a white card */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields {
	background: #fff;
	border-radius: 12px;
	padding: 28px 24px;
	box-shadow: 0 1px 4px rgba(0,0,0,0.06);
	margin-bottom: 20px;
}

.woocommerce-checkout .woocommerce-billing-fields h2,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h2,
.woocommerce-checkout .woocommerce-shipping-fields h3 {
	font-size: 20px;
	font-weight: 700;
	color: #1A1A1A;
	margin: 0 0 20px;
	padding-bottom: 12px;
	border-bottom: 2px solid #085d91;
	font-family: 'Nunito Sans', sans-serif;
}

/* 7. ORDER REVIEW CARD */
.woocommerce-checkout .woocommerce-checkout-review-order {
	background: #fff;
	border-radius: 12px;
	padding: 24px;
	box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

.woocommerce-checkout #order_review_heading {
	font-size: 20px;
	font-weight: 700;
	color: #1A1A1A;
	margin: 0 0 16px;
	font-family: 'Nunito Sans', sans-serif;
}

/* 8. CTA BUTTON — MASSIVE, high contrast */
.woocommerce-checkout #place_order {
	background: #963B1A !important; /* !important: fights theme styles */
	color: #fff !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	padding: 18px 32px !important;
	border-radius: 12px !important;
	border: none !important;
	width: 100%;
	cursor: pointer;
	letter-spacing: 0.02em;
	box-shadow: 0 4px 14px rgba(150,59,26,0.35);
	transition: all 0.2s ease;
	font-family: 'Nunito Sans', sans-serif;
}

.woocommerce-checkout #place_order:hover {
	background: #D4593E !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(150,59,26,0.45);
}

/* 9. PAYMENT METHOD CARD */
.woocommerce-checkout #payment {
	background: #fff;
	border-radius: 12px;
	padding: 20px 24px;
	box-shadow: 0 1px 4px rgba(0,0,0,0.06);
	margin-top: 16px;
}

.woocommerce-checkout #payment .payment_methods {
	border: none !important; /* !important: fights WC default */
	padding: 0 !important;
}

.woocommerce-checkout #payment .payment_method_cod label {
	font-size: 15px;
	font-weight: 600;
	padding: 14px 16px;
	border: 2px solid #DEE2E6;
	border-radius: 10px;
	display: block;
	cursor: pointer;
	transition: border-color 0.2s;
}

.woocommerce-checkout #payment .payment_method_cod input:checked + label {
	border-color: #085d91;
	background: #f0f7ff;
}

/* 10. TERMS & CONDITIONS — cleaner */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	padding: 12px 0;
	font-size: 13px;
	color: #4a5568;
}

/* 11. FULL FOOTER ON CHECKOUT — keep all shared footer content visible */
.woocommerce-checkout .site-footer .footer-widgets {
	display: block !important;
}
.woocommerce-checkout .site-footer .footer-info {
	display: grid !important;
}
.woocommerce-checkout .alandog-footer-bottom-bar .afb-info-row,
.woocommerce-checkout .alandog-footer-bottom-bar .afb-newsletter {
	display: flex !important;
}

/* 12. PRODUCT THUMBNAIL WRAPPER + SIZE IN ORDER REVIEW */
.alandog-review-order__thumb {
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
	width: 56px;
	flex-shrink: 0;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name img {
	width: 56px !important; /* !important: fights WC inline */
	height: 56px !important;
	object-fit: cover;
	border-radius: 8px;
	margin-right: 10px;
	vertical-align: middle;
}

/* 13. ORDER TOTAL — prominent */
.woocommerce-checkout .order-total th,
.woocommerce-checkout .order-total td {
	font-size: 20px !important;
	font-weight: 800 !important;
	color: #085d91 !important;
	padding-top: 16px !important;
	border-top: 2px solid #085d91 !important;
}

/* H3-FIX: Removed orphaned .alandog-checkout-accepted-payments CSS.
   Replaced by .alandog-checkout-payment-icons (section 5 PHP). */

/* 15. MOBILE CHECKOUT OVERRIDES */
@media (max-width: 767px) {
	/* Stack form and review */
	.woocommerce-checkout .woocommerce-billing-fields,
	.woocommerce-checkout .woocommerce-shipping-fields {
		padding: 20px 16px;
		border-radius: 10px;
	}

	.woocommerce-checkout .woocommerce-billing-fields h2,
	.woocommerce-checkout .woocommerce-billing-fields h3,
	.woocommerce-checkout .woocommerce-shipping-fields h2,
	.woocommerce-checkout .woocommerce-shipping-fields h3 {
		font-size: 18px;
	}

	.woocommerce-checkout #place_order {
		font-size: 16px !important;
		padding: 16px 24px !important;
	}

	/* Other col-xs-6 fields stack on mobile */
	.woocommerce-checkout .col-xs-6 {
		width: 100%;
		float: none;
	}

	/* FIX-UI-167: Name fields side-by-side on mobile (Baymard-aligned pattern) */
	.woocommerce-checkout #billing_first_name_field,
	.woocommerce-checkout #shipping_first_name_field {
		width: 48%;
		float: left;
	}
	.woocommerce-checkout #billing_last_name_field,
	.woocommerce-checkout #shipping_last_name_field {
		width: 48%;
		float: right;
	}
	/* Clearfix: first non-name field must clear the floats */
	.woocommerce-checkout #billing_company_field,
	.woocommerce-checkout #billing_country_field,
	.woocommerce-checkout #billing_address_1_field,
	.woocommerce-checkout #shipping_company_field,
	.woocommerce-checkout #shipping_country_field,
	.woocommerce-checkout #shipping_address_1_field {
		clear: both;
	}
}

/* FIX-UI-167: Hide country field — Italy-only store, pre-selected IT */
.woocommerce-checkout #billing_country_field {
	display: none;
}

/* 16. HIDE DUPLICATE CONSENT CHECKBOX (CustRev renders twice) */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper ~ .cr-checkout-consent {
	display: none;
}

/* FIX-UI-155: Hide address line 2 behind toggle link (Baymard form reduction) */
#billing_address_2_field {
	display: none;
	animation: alandog-slideDown 0.3s ease-out;
}
#billing_address_2_field.alandog-address2-visible {
	display: block !important;
}
#shipping_address_2_field {
	display: none;
	animation: alandog-slideDown 0.3s ease-out;
}
#shipping_address_2_field.alandog-address2-visible {
	display: block !important;
}
@keyframes alandog-slideDown {
	from { opacity: 0; transform: translateY(-8px); }
	to { opacity: 1; transform: translateY(0); }
}
.alandog-address2-toggle {
	display: inline-block;
	background: none;
	border: none;
	color: #035d43;
	cursor: pointer;
	padding: 4px 0;
	font-size: 13px;
	line-height: 1.4;
	text-decoration: underline;
	text-underline-offset: 2px;
	margin-top: -4px;
	margin-bottom: 8px;
	transition: color 0.2s ease;
}
.alandog-address2-toggle:hover,
.alandog-address2-toggle:focus {
	color: #024a35;
	text-decoration-thickness: 2px;
}

/* FIX-UI-156: Enhanced checkout input focus states + visual polish */
.woocommerce-checkout .woocommerce-billing-fields input.input-text,
.woocommerce-checkout .woocommerce-billing-fields select,
.woocommerce-checkout .woocommerce-billing-fields textarea,
.woocommerce-checkout .woocommerce-shipping-fields input.input-text,
.woocommerce-checkout .woocommerce-shipping-fields select,
.woocommerce-checkout .woocommerce-shipping-fields textarea {
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	font-size: 15px;
	line-height: 1.5;
}
.woocommerce-checkout .woocommerce-billing-fields input.input-text:focus,
.woocommerce-checkout .woocommerce-billing-fields select:focus,
.woocommerce-checkout .woocommerce-billing-fields textarea:focus,
.woocommerce-checkout .woocommerce-shipping-fields input.input-text:focus,
.woocommerce-checkout .woocommerce-shipping-fields select:focus,
.woocommerce-checkout .woocommerce-shipping-fields textarea:focus {
	border-color: #085d91;
	box-shadow: 0 0 0 3px rgba(8,93,145,0.1);
	outline: none;
}
/* Valid field indicator */
.woocommerce-checkout .woocommerce-billing-fields .woocommerce-validated input.input-text,
.woocommerce-checkout .woocommerce-shipping-fields .woocommerce-validated input.input-text {
	border-color: #035d43;
}
/* Invalid field indicator */
.woocommerce-checkout .woocommerce-billing-fields .woocommerce-invalid input.input-text,
.woocommerce-checkout .woocommerce-shipping-fields .woocommerce-invalid input.input-text {
	border-color: #dc2626;
	box-shadow: 0 0 0 3px rgba(220,38,38,0.08);
}
/* Label enhancement */
.woocommerce-checkout .woocommerce-billing-fields label,
.woocommerce-checkout .woocommerce-shipping-fields label {
	font-size: 13px;
	font-weight: 600;
	color: #374151;
	margin-bottom: 6px;
	letter-spacing: 0.01em;
}
.woocommerce-checkout .woocommerce-billing-fields label .optional,
.woocommerce-checkout .woocommerce-shipping-fields label .optional {
	font-weight: 400;
	color: #9CA3AF;
	font-size: 12px;
}

/* FIX-UI-159: Fix Select2 country/state rendering + form layout */
/* 1. Force Select2 hidden selects to not take layout space */
.woocommerce-checkout .select2-hidden-accessible {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	overflow: hidden !important;
	white-space: nowrap !important;
	padding: 0 !important;
	border: 0 !important;
}
/* 2. Force woocommerce-input-wrapper to block display for select fields */
.woocommerce-checkout #billing_country_field .woocommerce-input-wrapper,
.woocommerce-checkout #billing_state_field .woocommerce-input-wrapper,
.woocommerce-checkout #shipping_country_field .woocommerce-input-wrapper,
.woocommerce-checkout #shipping_state_field .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}
/* 3. Force Select2 container to full width */
.woocommerce-checkout .select2-container {
	width: 100% !important;
	display: block;
}
.woocommerce-checkout .select2-container .select2-selection--single {
	height: 48px;
	border: 2px solid #e0e0e0;
	border-radius: 10px;
	padding: 10px 14px;
	display: flex;
	align-items: center;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.woocommerce-checkout .select2-container .select2-selection--single:focus,
.woocommerce-checkout .select2-container--focus .select2-selection--single {
	border-color: #085d91;
	box-shadow: 0 0 0 3px rgba(8,93,145,0.1);
	outline: none;
}
.woocommerce-checkout .select2-selection__rendered {
	font-size: 15px;
	color: #1A1A1A;
	line-height: 1.5;
	padding: 0 !important;
}
.woocommerce-checkout .select2-selection__arrow {
	height: 46px !important;
	right: 10px !important;
}
/* 4. Via e numero full width */
.woocommerce-checkout #billing_address_1_field {
	width: 100% !important;
	float: none !important;
}
/* 5. C.A.P. + Citta on same row, properly sized */
.woocommerce-checkout #billing_postcode_field {
	width: 35% !important;
	float: left !important;
}
.woocommerce-checkout #billing_city_field {
	width: 65% !important;
	float: left !important;
}
/* 6. Fix the massive empty space — sidebar align-self */
.woocommerce-checkout .col2-set + .woocommerce-checkout-review-order-table-wrap,
.woocommerce-checkout .col-2 {
	align-self: flex-start;
}
/* 8. Mobile: full width for CAP and City */
@media (max-width: 767px) {
	.woocommerce-checkout #billing_postcode_field,
	.woocommerce-checkout #billing_city_field {
		width: 100% !important;
		float: none !important;
	}
}

/* ============================================================
   FIX-UI-159: Empty cart page — popular products + benefits
   ============================================================ */
.alandog-empty-cart {
	max-width: 960px;
	margin: 0 auto;
	padding: 0 16px;
}

.alandog-empty-cart__hero {
	text-align: center;
	padding: 24px 0 8px;
}

.alandog-empty-cart__icon {
	opacity: 0.7;
	margin-bottom: 12px;
}

.alandog-empty-cart__subtitle {
	font-size: 16px;
	color: #3d4654;
	margin: 0 0 16px;
}

/* Override default WC empty cart message style */
.woocommerce-cart .cart-empty.woocommerce-info {
	background: #f0f7fc;
	border-left: 4px solid #0E7BBA;
	color: #1a1a1a;
	font-size: 15px;
	padding: 14px 20px;
	margin-bottom: 0;
}
.woocommerce-cart .cart-empty.woocommerce-info::before {
	color: #0E7BBA;
}

/* Return to shop button */
.woocommerce-cart .alandog-empty-cart .return-to-shop {
	text-align: center;
	margin: 20px 0 32px;
}
.woocommerce-cart .alandog-empty-cart .return-to-shop a.button {
	background: #0E7BBA;
	color: #fff;
	border: none;
	padding: 12px 32px;
	font-size: 15px;
	font-weight: 600;
	border-radius: 6px;
	text-transform: none;
	letter-spacing: 0;
	transition: background 0.2s;
}
.woocommerce-cart .alandog-empty-cart .return-to-shop a.button:hover {
	background: #064d78;
}

/* Products grid */
.alandog-empty-cart__heading {
	font-size: 22px;
	font-weight: 700;
	color: #1a1a1a;
	text-align: center;
	margin: 0 0 20px;
	padding-bottom: 12px;
	border-bottom: 2px solid #0E7BBA;
	display: inline-block;
	width: 100%;
}

.alandog-empty-cart__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-bottom: 32px;
}

.alandog-empty-cart__card {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	overflow: hidden;
	transition: box-shadow 0.2s, transform 0.2s;
}
.alandog-empty-cart__card:hover {
	box-shadow: 0 4px 16px rgba(0,0,0,0.1);
	transform: translateY(-2px);
}
.alandog-empty-cart__card-link {
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.alandog-empty-cart__card-image {
	aspect-ratio: 1;
	overflow: hidden;
	background: #f9fafb;
	display: flex;
	align-items: center;
	justify-content: center;
}
.alandog-empty-cart__card-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 12px;
}

.alandog-empty-cart__card-info {
	padding: 12px;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.alandog-empty-cart__card-title {
	font-size: 13px;
	font-weight: 600;
	color: #1a1a1a;
	margin: 0;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.alandog-empty-cart__card-rating .star-rating {
	font-size: 12px;
}

.alandog-empty-cart__card-price {
	font-size: 15px;
	font-weight: 700;
	color: #0E7BBA;
	margin-top: auto;
}
.alandog-empty-cart__card-price del {
	color: #9ca3af;
	font-weight: 400;
	font-size: 13px;
}
.alandog-empty-cart__card-price ins {
	text-decoration: none;
}

/* Benefits bar */
.alandog-empty-cart__benefits {
	display: flex;
	justify-content: center;
	gap: 32px;
	padding: 20px 0 8px;
	border-top: 1px solid #e5e7eb;
	margin-top: 8px;
}

.alandog-empty-cart__benefit {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 500;
	color: #035d43;
}

/* Mobile */
@media (max-width: 767px) {
	.alandog-empty-cart__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}
	.alandog-empty-cart__benefits {
		flex-direction: column;
		align-items: center;
		gap: 12px;
	}
	.alandog-empty-cart__card-title {
		font-size: 12px;
	}
	.alandog-empty-cart__card-price {
		font-size: 14px;
	}
	.alandog-empty-cart__heading {
		font-size: 18px;
	}
}

/* ============================================================
 * R3: Screen-reader-only utility class (checkout hidden H1)
 * ============================================================ */
.sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* ============================================================
 * R4: Checkout color contrast fixes (WCAG AA)
 * ============================================================ */

/* "Clicca qui per accedere" link — was #0099cc (3.5:1) → #065282 (5.65:1) */
.woocommerce-checkout .woocommerce-info .showlogin,
.woocommerce-checkout .woocommerce-info a.showlogin {
	color: #065282;
}
.woocommerce-checkout .woocommerce-info .showlogin:hover,
.woocommerce-checkout .woocommerce-info a.showlogin:hover {
	color: #043b5e;
}

/* Payment method description text — was #999 (2.8:1) → #595959 (7.0:1) */
.woocommerce-checkout .payment_box p,
.woocommerce-checkout .payment_box label {
	color: #595959;
}

/* Focus indicators for interactive elements */
.woocommerce-checkout .alandog-notes-toggle:focus-visible,
.woocommerce-checkout .alandog-address2-toggle:focus-visible,
.woocommerce-checkout #place_order:focus-visible {
	outline: 2px solid #065282;
	outline-offset: 2px;
}

/* FIX-UI-165: Lock icon in CTA button via CSS ::before */
.woocommerce-checkout #place_order {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}
.woocommerce-checkout #place_order::before {
	content: '';
	display: inline-block;
	width: 18px;
	height: 18px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zM9 8V6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9z'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	flex-shrink: 0;
}

/* FIX-UI-165: Micro-reassurance below CTA */
.alandog-cta-reassurance {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-top: 10px;
	font-size: 12px;
	color: #4a5568;
	font-family: 'Inter', sans-serif;
}
.alandog-cta-reassurance svg {
	color: #22c55e;
	flex-shrink: 0;
}

/* FIX-UI-166: Inline validation — checkmark on validated fields */
.woocommerce-checkout .form-row.woocommerce-validated input:not([type=checkbox]):not([type=radio]),
.woocommerce-checkout .form-row.woocommerce-validated select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2322c55e' viewBox='0 0 16 16'%3E%3Cpath d='M13.485 1.929a.75.75 0 010 1.06l-7.5 7.5a.75.75 0 01-1.06 0l-3.5-3.5a.75.75 0 011.06-1.06L5.455 8.91l6.97-6.98a.75.75 0 011.06 0z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 16px;
	padding-right: 36px;
}

/* FIX-UI-166: Inline validation — error messages */
.alandog-field-error {
	display: block;
	font-size: 12px;
	color: #dc2626;
	margin-top: 4px;
	font-family: 'Inter', sans-serif;
}

/* FIX-UI-166: Invalid field border (strengthen existing) */
.woocommerce-checkout .form-row.woocommerce-invalid input:not([type=checkbox]):not([type=radio]),
.woocommerce-checkout .form-row.woocommerce-invalid select {
	border-color: #dc2626;
	border-width: 2px;
}

/* ═══════════════════════════════════════════════════════════════════
   CONVERSION EXPERIENCE UPGRADES — Cart/Checkout — 2026-03-22
   ═══════════════════════════════════════════════════════════════════ */

/* ── Cart Cross-Sells ─────────────────────────────────────────── */
.alandog-cart-cross-sells {
    margin-top: 32px;
    padding: 24px;
    background: #f9fafb;
    border-radius: 12px;
}
.alandog-cart-cross-sells h3 {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 16px;
}
.alandog-cart-cs-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.alandog-cart-cs-item {
    background: #fff;
    border-radius: 10px;
    padding: 12px;
    text-align: center;
    border: 1px solid #e5e7eb;
    transition: box-shadow 0.2s;
}
.alandog-cart-cs-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.alandog-cart-cs-item img {
    width: 80px;
    height: 80px;
    object-fit: contain;
    margin-bottom: 8px;
}
.alandog-cart-cs-name {
    display: block;
    font-size: 12px;
    color: #374151;
    line-height: 1.3;
    margin-bottom: 6px;
    text-decoration: none;
}
.alandog-cart-cs-price {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #E76F51;
    margin-bottom: 8px;
}
.alandog-cart-cs-atc {
    font-size: 12px !important;
    padding: 6px 12px !important;
    border-radius: 6px !important;
}
@media (max-width: 767px) {
    .alandog-cart-cs-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── Cart Savings Display ─────────────────────────────────────── */
.alandog-cart-savings th,
.alandog-cart-savings td {
    color: #2D6A4F !important;
    background: #f0fdf4 !important;
}

/* ── Checkout Security Badge ──────────────────────────────────── */
.alandog-checkout-guarantee {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 10px;
    margin-bottom: 20px;
}
.alandog-guarantee-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #374151;
}
.alandog-guarantee-item svg {
    flex-shrink: 0;
}

/* FIX-UI-168: Mobile collapsible order summary */
.alandog-mobile-summary {
	display: none; /* Hidden on desktop */
}
@media (max-width: 767px) {
	.alandog-mobile-summary {
		display: block;
		background: #fff;
		border-radius: 8px;
		box-shadow: 0 1px 3px rgba(0,0,0,0.05);
		margin-bottom: 10px;
		overflow: hidden;
		border: 1px solid #e5e7eb;
	}
	.alandog-mobile-summary__toggle {
		display: flex;
		align-items: center;
		width: 100%;
		padding: 10px 12px;
		background: none;
		border: none;
		cursor: pointer;
		font-family: 'Inter', sans-serif;
		gap: 5px;
	}
	.alandog-mobile-summary__label {
		font-size: 14px;
		font-weight: 700;
		color: #1A1A1A;
	}
	.alandog-mobile-summary__count {
		font-size: 12px;
		color: #6C757D;
	}
	.alandog-mobile-summary__total {
		margin-left: auto;
		font-size: 15px;
		font-weight: 800;
		color: #085d91;
	}
	.alandog-mobile-summary__chevron {
		transition: transform 0.3s ease;
		color: #6C757D;
		flex-shrink: 0;
		width: 14px;
		height: 14px;
	}
	.alandog-mobile-summary[aria-expanded="true"] .alandog-mobile-summary__chevron {
		transform: rotate(180deg);
	}
	.alandog-mobile-summary__details {
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.3s ease;
		border-top: 0 solid #e5e7eb;
	}
	.alandog-mobile-summary[aria-expanded="true"] .alandog-mobile-summary__details {
		max-height: 400px;
		border-top-width: 1px;
		padding: 12px 16px;
	}
	.alandog-mobile-summary__item {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 6px 0;
	}
	.alandog-mobile-summary__thumb img {
		width: 40px;
		height: 40px;
		border-radius: 6px;
		object-fit: cover;
	}
	.alandog-mobile-summary__info {
		flex: 1;
		min-width: 0;
	}
	.alandog-mobile-summary__name {
		display: block;
		font-size: 13px;
		color: #1A1A1A;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.alandog-mobile-summary__qty {
		font-size: 12px;
		color: #6C757D;
	}
	.alandog-mobile-summary__price {
		font-size: 14px;
		font-weight: 700;
		color: #1A1A1A;
		white-space: nowrap;
	}
}

/* ═══════════════════════════════════════════════════════════════════
   FIX-UI-198 → FIX-UI-205: Cart/Checkout UX Overhaul — 2026-03-23
   Benchmark patterns, Baymard Institute best practices
   ═══════════════════════════════════════════════════════════════════ */

/* ── FIX-UI-198: Hide CustRev floating badge on cart/checkout ──── */
/* Overlaps order summary sidebar, blocks CTA on mobile */
.woocommerce-cart #cr_floatingtrustbadge,
.woocommerce-checkout #cr_floatingtrustbadge {
	display: none !important;
}

/* ── FIX-UI-199: Distraction-free checkout ─────────────────────── */
/* Hide mobile bottom nav bar on checkout (ecommerce pattern) */
.woocommerce-checkout .alandog-mobile-bottom-nav {
	display: none !important;
}
/* Also hide WhatsApp float on checkout — reduce distractions */
.woocommerce-checkout .joinchat,
.woocommerce-checkout .wa__btn_popup {
	display: none !important;
}

/* ── FIX-UI-200: Fix "Risparmi" text wrapping in cart sidebar ─── */
.alandog-cart-savings th {
	white-space: nowrap;
	font-size: 13px;
	padding-right: 8px;
}
.alandog-cart-savings td {
	text-align: right;
	white-space: nowrap;
}

/* ── FIX-UI-17: Cart sidebar card — unified styling ─────────────
 * Parent theme (martfury/style-min.css) uses selectors up to:
 *   .woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table .order-total th
 *   = specificity 0,0,6,2
 * All rules here must match or exceed that specificity.
 * ──────────────────────────────────────────────────────────────── */

/* Remove inner table border — card shadow provides the visual container */
.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table {
	border: none !important;
	border-radius: 0;
	padding: 0;
	margin: 0;
	table-layout: fixed;
	width: 100%;
}

/* All cells: no borders, consistent padding — match parent specificity (0,0,6,2) */
.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table th,
.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table td {
	border: none;
	padding: 10px 0;
	vertical-align: middle;
}

/* Savings row: subtle green, smaller text */
body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table .alandog-cart-savings th {
	font-size: 14px;
	font-weight: 600;
	color: #065d46;
	white-space: nowrap;
}
body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table .alandog-cart-savings td {
	text-align: right;
	font-size: 14px;
	color: #065d46;
	white-space: nowrap;
}

/* Order total row: prominent, with top divider.
 * body element adds +1 element specificity (0,0,6,3) to beat parent (0,0,6,2)
 * since parent theme CSS loads after this file in the cascade. */
body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table .order-total th {
	font-size: 16px;
	font-weight: 700;
	color: var(--alandog-text, #1A1A1A);
	padding-top: 14px;
	border-top: 1px solid var(--alandog-border, #DEE2E6);
}
body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table .order-total td {
	font-size: 24px;
	font-weight: 800;
	color: var(--alandog-text, #1A1A1A);
	text-align: right;
	padding-top: 14px;
	border-top: 1px solid var(--alandog-border, #DEE2E6);
	white-space: nowrap;
}
/* Override the .woocommerce-Price-amount inside total td too (parent sets 20px/600) */
body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table .order-total .woocommerce-Price-amount {
	font-size: 24px;
	font-weight: 800;
}

/* ── FIX-UI-21: Hide ALL recurring-total rows in cart sidebar ────────
 * WC Subscriptions "All Products" injects recurring-total rows into the
 * sidebar totals table. These cause wrapping/overflow in the narrow column.
 * Previous FIX-UI-20 used stacked block layout; FIX-UI-21 simplifies by
 * hiding all recurring-total rows entirely. table-layout:fixed (Fix 2)
 * prevents content-based reflow.
 * ──────────────────────────────────────────────────────────────────── */

/* Hide "Totali ricorrenti" header row */
.woocommerce-cart .cart_totals .recurring-totals {
	display: none !important;
}

/* Hide ALL recurring-total rows (subtotal + order-total variants) */
.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table tr.recurring-total {
	display: none;
}

/* First-payment-date: compact, single-line when space allows */
.woocommerce-cart .cart_totals .first-payment-date {
	margin-top: 4px;
}
.woocommerce-cart .cart_totals .first-payment-date small {
	font-size: 0.8em;
	color: #666;
}

/* CTA container cell — no padding above (divider comes from total row) */
.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table td[colspan] {
	padding-top: 16px;
}

/* ── FIX-UI-202: Cart product table improvements ───────────────── */
/* Bigger product thumbnails in cart */
.woocommerce-cart .product-thumbnail img {
	width: 80px !important;
	height: 80px !important;
	object-fit: cover;
	border-radius: 8px;
}
/* Product name styling */
.woocommerce-cart .product-name a {
	font-weight: 600;
	color: #1A1A1A;
	text-decoration: none;
}
.woocommerce-cart .product-name a:hover {
	color: #085d91;
}
/* Variant info below product name */
.woocommerce-cart .product-name .variation {
	font-size: 13px;
	color: #6C757D;
	margin-top: 4px;
}
/* Remove button — subtle until hover */
.woocommerce-cart .product-remove a.remove {
	color: #9CA3AF !important;
	font-size: 20px;
	transition: color 0.2s;
}
.woocommerce-cart .product-remove a.remove:hover {
	color: #dc2626 !important;
	background: none !important;
}

/* ── FIX-UI-203: Cart subscription options — tighter styling ───── */
/* Reduce visual weight of subscription options — product table should dominate */
.purchase-plan .satt-active-plan-prompt {
	font-size: 14px;
	padding: 10px 16px;
	border-radius: 8px;
	border: 1px solid #e5e7eb;
	background: #f9fafb;
}
.purchase-plan .satt-active-plan-prompt label {
	font-weight: 500;
	cursor: pointer;
}

/* ============================================================
 * FIX-UI-15: Purchase-plan cart table — desktop styling
 * Fixes ERIA-70: redundant variation labels, column spacing,
 * product typography, qty-box overflow, subtotal weight.
 * The visible cart table is inside .purchase-plan (WC Subscriptions).
 * The original .woocommerce-cart-form is display:none.
 * ============================================================ */

/* 1. Hide redundant variation <dl> — variant info already in product name link */
.purchase-plan .product-name .variation {
	display: none;
}

/* 2. Product name link — match FIX-UI-202 styling */
.purchase-plan td.product-name a {
	font-weight: 600;
	color: #1A1A1A;
	text-decoration: none;
}
.purchase-plan td.product-name a:hover {
	color: #085d91;
}

/* 3. Product thumbnail — consistent 80×80 rounded.
   Widen column to fit 80px image, reduce cell padding. */
.woocommerce-cart .woocommerce .purchase-plan td.product-thumbnail {
	width: 96px;
	min-width: 96px;
	padding: 12px 8px;
}
.woocommerce-cart .woocommerce .purchase-plan td.product-thumbnail img {
	width: 80px !important;
	height: 80px !important;
	object-fit: cover;
	border-radius: 8px;
}

/* 4. Subtotal price cell — prominent, distinct from headers.
   High specificity to beat parent theme td styling. */
.woocommerce-cart .woocommerce .purchase-plan td.product-subtotal {
	font-size: 18px;
	font-weight: 700;
	color: #1A1A1A;
	white-space: nowrap;
}

/* 5. Remove button — subtle, red on hover */
.purchase-plan td.product-remove a.mf-remove {
	color: #9CA3AF;
	font-size: 18px;
	transition: color 0.2s;
}
.purchase-plan td.product-remove a.mf-remove:hover {
	color: #dc2626;
}

/* 6. Qty box — 44px WCAG touch targets, flex layout with gap.
   Must beat existing .woocommerce-cart .woocommerce table.shop_table ... rules (spec 0,7,2). */
.woocommerce-cart .woocommerce .purchase-plan table.shop_table td.product-quantity .quantity .qty-box {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 4px;
	border: 2px solid #e8e8e8;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}
.woocommerce-cart .woocommerce .purchase-plan table.shop_table td.product-quantity .quantity .qty-box .decrease,
.woocommerce-cart .woocommerce .purchase-plan table.shop_table td.product-quantity .quantity .qty-box .increase {
	position: static !important;
	transform: none !important;
	width: 44px !important;
	min-width: 44px;
	height: 44px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	background: #FEFAF6;
	border: none;
	cursor: pointer;
	font-size: 16px;
	font-weight: 600;
	color: #1A1A2E;
	flex-shrink: 0;
}
.woocommerce-cart .woocommerce .purchase-plan table.shop_table td.product-quantity .quantity .qty-box .decrease:hover,
.woocommerce-cart .woocommerce .purchase-plan table.shop_table td.product-quantity .quantity .qty-box .increase:hover {
	background: #085d91;
	color: #fff;
}
.woocommerce-cart .woocommerce .purchase-plan table.shop_table td.product-quantity .quantity .qty-box input.qty {
	width: 50px !important;
	min-width: 50px;
	height: 44px;
	text-align: center;
	border: none;
	font-weight: 600;
	font-size: 18px;
	-moz-appearance: textfield;
	background: transparent;
	padding: 0 4px;
	margin: 0 !important;
}
.woocommerce-cart .woocommerce .purchase-plan table.shop_table td.product-quantity .quantity .qty-box input.qty::-webkit-inner-spin-button,
.woocommerce-cart .woocommerce .purchase-plan table.shop_table td.product-quantity .quantity .qty-box input.qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* 7. Table header — cleaner typography */
.purchase-plan table.shop_table thead th {
	font-size: 12px;
	font-weight: 600;
	color: #6C757D;
	letter-spacing: 0.05em;
	padding: 12px 16px;
	border-bottom: 2px solid #e5e7eb;
}

/* ── FIX-UI-204: Checkout — loading spinner for payment ────────── */
/* If payment methods area is loading, show subtle message */
.woocommerce-checkout #payment .blockUI {
	background: rgba(255,255,255,0.8) !important;
}
/* Hide spinner flash */
.woocommerce-checkout .woocommerce-checkout-payment .wc_payment_methods:empty::after {
	content: "Caricamento metodi di pagamento...";
	display: block;
	text-align: center;
	padding: 20px;
	color: #6C757D;
	font-size: 14px;
}

/* ── FIX-UI-205: Checkout — fix order review sticky sidebar ────── */
/* Make sure order review stays visible while scrolling form */
@media (min-width: 768px) {
	.woocommerce-checkout .col2-set + .woocommerce-checkout-review-order-wrap,
	.woocommerce-checkout .col-right,
	.woocommerce-checkout #order_review {
		position: sticky;
		top: 20px;
		align-self: start;
	}
}

/* ── FIX-UI-205b: Checkout — order total visible in review ─────── */
/* Ensure subtotal/shipping/total rows are well-formatted */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:not(.order-total) th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:not(.order-total) td {
	font-size: 14px;
	color: #4a5568;
	padding: 8px 0;
	border-bottom: 1px solid #f3f4f6;
}

/* ── Mobile improvements ───────────────────────────────────────── */
@media (max-width: 767px) {
	/* FIX-UI-198: also hide review badge on mobile cart */
	.woocommerce-cart #cr_floatingtrustbadge {
		display: none !important;
	}

	/* FIX-UI-202: Cart table cards — bigger touch targets */
	.woocommerce-cart .product-thumbnail img {
		width: 64px !important;
		height: 64px !important;
	}

	/* FIX-UI-204: Cart cross-sells mobile — 2 columns */
	.alandog-cart-cs-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}

	/* FIX-UI-203: Subscription options compact on mobile */
	.purchase-plan .satt-active-plan-prompt {
		font-size: 13px;
		padding: 8px 12px;
	}
}

/* ============================================================
 * FIX-CART-02: Hide "Update Cart" button — AJAX auto-updates
 * ALL competitors auto-update totals on qty change.
 * The button is now triggered programmatically via JS.
 * ============================================================ */
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart input[name="update_cart"] {
	display: none !important;
}

/* ============================================================
 * FIX-UI-09: Cart qty control — horizontal flex layout
 * Parent Martfury uses position:absolute for +/- buttons.
 * This override forces flex-row so buttons and input are side-by-side.
 * Specificity must match parent: 6+ levels.
 * ============================================================ */
.woocommerce-cart .woocommerce table.shop_table td.product-quantity .quantity .qty-box {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 4px;
	border: 2px solid #e8e8e8;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}
.woocommerce-cart .woocommerce table.shop_table td.product-quantity .quantity .qty-box .decrease,
.woocommerce-cart .woocommerce table.shop_table td.product-quantity .quantity .qty-box .increase {
	position: static !important;
	transform: none !important;
	width: 44px !important;
	min-width: 44px;
	height: 44px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	background: #FEFAF6;
	border: none;
	cursor: pointer;
	font-size: 18px;
	font-weight: 600;
	color: #1A1A2E;
	flex-shrink: 0;
}
.woocommerce-cart .woocommerce table.shop_table td.product-quantity .quantity .qty-box .decrease:hover,
.woocommerce-cart .woocommerce table.shop_table td.product-quantity .quantity .qty-box .increase:hover {
	background: #085d91;
	color: #fff;
}
.woocommerce-cart .woocommerce table.shop_table td.product-quantity .quantity .qty-box input.qty {
	width: 50px !important;
	min-width: 50px;
	height: 44px;
	text-align: center;
	border: none;
	font-weight: 600;
	font-size: 18px;
	-moz-appearance: textfield;
	background: transparent;
	padding: 0 4px;
	margin: 0 !important;
}
.woocommerce-cart .woocommerce table.shop_table td.product-quantity .quantity .qty-box input.qty::-webkit-inner-spin-button,
.woocommerce-cart .woocommerce table.shop_table td.product-quantity .quantity .qty-box input.qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* FIX-UI-17d: Override parent theme line-height:50px on .button — causes
   text to sit below vertical center when combined with padding + border-box */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	line-height: 1.2;
}

/* ============================================================
 * FIX-CART-03: Mobile sticky cart CTA bar
 * +5-12% mobile checkout completion (BTNG Studio).
 * Leading ecommerce players all pin CTA to bottom.
 * Sticky summary bar shows total + item count + CTA.
 * ============================================================ */
@media (max-width: 767px) {
	/* Sticky the entire proceed-to-checkout wrapper */
	.woocommerce-cart .wc-proceed-to-checkout,
	.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
		position: fixed;
		bottom: var(--alandog-mobile-nav-h, 55px); /* H5: uses CSS variable */
		left: 0;
		right: 0;
		z-index: 998;
		background: #fff;
		padding: 10px 16px 12px;
		box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
		border-top: 1px solid #eee;
		margin: 0;
	}

	/* Sticky summary (total + count) inline above CTA */
	.alandog-sticky-cart-summary {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 8px;
	}

	.alandog-sticky-cart-summary__total {
		font-size: 18px;
		font-weight: 800;
		color: #085d91;
	}

	.alandog-sticky-cart-summary__count {
		font-size: 13px;
		color: #6C757D;
	}

	/* CTA button full width in sticky bar */
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
		width: 100%;
		text-align: center;
		padding: 14px 24px;
		font-size: 16px;
		font-weight: 700;
		line-height: 1.2;
	}

	/* Shipping progress bar inside sticky bar — compact */
	.woocommerce-cart .wc-proceed-to-checkout .alandog-cart-shipping-progress {
		margin-bottom: 8px;
		padding: 8px 12px;
	}

	.woocommerce-cart .wc-proceed-to-checkout .alandog-cart-shipping-progress__text {
		font-size: 12px;
	}

	/* Payment icons inside sticky bar — compact */
	.woocommerce-cart .wc-proceed-to-checkout .alandog-cart-payment-icons {
		margin-top: 8px;
		padding-top: 6px;
	}

	/* FIX-UI-14: Bottom spacing for sticky CTA overlap + reduce excessive whitespace.
	 * Original: padding-bottom:130px only. Added margin-bottom:16px (was 50px from style.css). */
	body.woocommerce-cart .cart-collaterals {
		padding-bottom: 130px;
		margin-bottom: 16px;
	}
	/* Nested .cross-sells.cart-collaterals inherits padding/margin from .cart-collaterals
	 * rules — 260px dead space when empty. Reset and hide. */
	.cart-collaterals .cross-sells.cart-collaterals {
		margin: 0;
		padding: 0;
	}
	.cart-collaterals .cross-sells:empty {
		display: none;
	}
}

/* Desktop: ensure summary is hidden (rendered by PHP for mobile sticky) */
@media (min-width: 768px) {
	.alandog-sticky-cart-summary {
		display: none;
	}
}

/* ============================================================
 * FIX-CART-01: Free shipping bar + delivery estimate on checkout
 * Reuses cart progress bar CSS + adds inline delivery estimate.
 * ============================================================ */
.alandog-checkout-delivery-inline {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	border-radius: 6px;
	font-size: 13px;
	color: #035d43;
	margin-bottom: 16px;
}

.alandog-checkout-delivery-inline svg {
	flex-shrink: 0;
}

.alandog-checkout-delivery-inline strong {
	font-weight: 700;
}

/* Shipping bar on checkout — slightly more compact */
.woocommerce-checkout .alandog-cart-shipping-progress {
	margin-bottom: 12px;
}

/* ============================================================
 * FIX-CART-04: Thank You page post-purchase cross-sell
 * UX Gap 7a: +8-15% revenue per order (industry benchmark).
 * ============================================================ */
.alandog-thankyou-cross-sells {
	margin: 0 0 24px;
	padding: 24px;
	background: #f9fafb;
	border-radius: 12px;
}

.alandog-thankyou-cross-sells__title {
	font-size: 18px;
	font-weight: 700;
	color: var(--alandog-text, #1A1A1A);
	margin: 0 0 16px;
	font-family: 'Nunito Sans', sans-serif;
}

.alandog-thankyou-cs-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.alandog-thankyou-cs-item {
	background: #fff;
	border-radius: 10px;
	padding: 12px;
	text-align: center;
	border: 1px solid #e5e7eb;
	transition: box-shadow 0.2s;
}

.alandog-thankyou-cs-item:hover {
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.alandog-thankyou-cs-item img {
	width: 80px;
	height: 80px;
	object-fit: contain;
	margin-bottom: 8px;
}

.alandog-thankyou-cs-name {
	display: block;
	font-size: 12px;
	color: #374151;
	line-height: 1.3;
	margin-bottom: 6px;
	text-decoration: none;
}

.alandog-thankyou-cs-name:hover {
	color: var(--alandog-green, #085d91);
}

.alandog-thankyou-cs-price {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--alandog-cta, #963B1A);
}

@media (max-width: 767px) {
	.alandog-thankyou-cs-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
	.alandog-thankyou-cross-sells {
		padding: 16px;
	}
}

/* ============================================================
 * FIX-CART-05: Required field asterisk + smooth error scroll
 * the reference pattern uses red asterisks on required fields.
 * ============================================================ */
.woocommerce-checkout .form-row label .required,
.woocommerce-checkout .form-row label abbr[title] {
	color: #dc2626;
	text-decoration: none;
	font-weight: 700;
}

/* Highlight error notice when scrolled to */
.woocommerce-checkout .woocommerce-error {
	scroll-margin-top: 100px;
	animation: alandog-shake 0.4s ease;
}

@keyframes alandog-shake {
	0%, 100% { transform: translateX(0); }
	20%, 60% { transform: translateX(-4px); }
	40%, 80% { transform: translateX(4px); }
}

/* ============================================================
 * FIX-CART-06: Cart urgency live countdown timer
 * Enhance static "Ordina entro Xh" with real-time HH:MM:SS.
 * ============================================================ */
.alandog-cart-urgency__countdown {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #963B1A;
	font-weight: 600;
	margin-top: 4px;
}

.alandog-cart-urgency__countdown svg {
	flex-shrink: 0;
	color: #963B1A;
}

.alandog-cart-urgency__countdown strong {
	font-family: 'Inter', monospace;
	letter-spacing: 0.05em;
}

/* Orphaned .alandog-cart-shipping-bar removed — active component is .alandog-cart-shipping-progress */

/* ============================================================
 * FIX-CART-02: Cart upsells (replaced inline styles)
 * ============================================================ */
/* FIX-UI-17c: Grid container was missing — items stacked vertically */
.alandog-cart-upsells-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 18px;
	padding: 0;
	margin-top: 28px;
}
.alandog-cart-upsells__heading {
	grid-column: 1 / -1;
	margin: 0 0 2px;
	padding-left: 0;
	font-size: 28px;
	font-weight: 800;
	line-height: 1.1;
	color: #10243e;
}
@media (max-width: 767px) {
	.alandog-cart-upsells-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
		margin-top: 22px;
	}

	.alandog-cart-upsells__heading {
		font-size: 22px;
	}
}
.alandog-cart-upsells__col {
	margin-bottom: 0;
}
.alandog-cart-upsells__item {
	display: flex;
	flex-direction: column;
	height: 100%;
	margin: 0;
	padding: 16px;
	background: #fff;
	border: 1px solid #dbe5f0;
	border-radius: 18px;
	box-shadow: 0 16px 28px rgba(16, 36, 62, 0.06);
}
.alandog-cart-upsells__img-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	padding: 14px;
	margin-bottom: 14px;
	text-align: center;
	background: #f8fbff;
	border: 1px solid #e8eef5;
	border-radius: 14px;
	overflow: hidden;
}
.alandog-cart-upsells__img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.alandog-cart-upsells__title {
	font-size: 15px;
	line-height: 1.45;
	margin: 0 0 8px;
	min-height: 44px;
}
.alandog-cart-upsells__title a {
	color: #10243e;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.alandog-cart-upsells__price {
	margin: 0 0 14px;
	font-size: 18px;
	font-weight: 800;
	color: #bd4b20;
}
.alandog-cart-upsells__atc {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 46px;
	padding: 0 14px;
	border-radius: 12px;
	line-height: 1.2;
	font-size: 14px;
	font-weight: 700;
	background: #085d91;
	color: #fff;
	margin-top: auto;
}
.alandog-cart-upsells__atc:hover {
	background: #0a4c72;
	color: #fff;
}
.alandog-cart-savings__amount {
	color: #2D6A4F;
}

/* ============================================================
 * FIX-CHECKOUT-01: Trust signals near payment (moved from inline)
 * ============================================================ */
.alandog-checkout-trust {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 16px;
	padding: 12px 0;
	font-size: 12px;
	color: #6b7280;
}
.alandog-checkout-trust__item {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

/* ╔═══════════════════════════════════════════════════════════════════╗
   ║  FIX-UI-25: Checkout 23-issue overhaul + Cart layout fixes      ║
   ║  ERIA-218: conversion-focused premium checkout redesign             ║
   ╚═══════════════════════════════════════════════════════════════════╝ */

/* ── #1: HEADER — reduce distraction on checkout ──────────────────── */
/* Hide secondary nav items, keep only logo + security indicator */
body.alandog-header-checkout.woocommerce-checkout .site-header .header-bottom .header-search,
body.alandog-header-checkout.woocommerce-checkout .site-header .header-bottom .header-action-link,
body.alandog-header-checkout.woocommerce-checkout .site-header .header-bottom .products-cats-wrap,
body.alandog-header-checkout.woocommerce-checkout .site-header .header-bottom .header-menu,
body.alandog-header-checkout.woocommerce-checkout .site-header .header-bottom .header-bar {
	display: none !important; /* !important: fights parent theme visibility */
}
/* Slim down the header on checkout */
body.alandog-header-checkout.woocommerce-checkout .site-header .header-bottom {
	padding: 8px 0;
}

/* ── #2: SECURITY BANNER — credible, less decorative ─────────────── */
.alandog-checkout-secure-header {
	background: #f8fafb;
	color: #374151;
	border: 1px solid #e5e7eb;
	font-size: 12px;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	max-width: 920px;
	padding: 8px 14px;
	margin: 0 auto 2px;
	border-radius: 6px;
	line-height: 1.35;
	text-align: center;
}
.alandog-checkout-secure-header svg {
	color: #22c55e;
	flex-shrink: 0;
}

/* ── #3: STEPPER — clear active/completed/future states ──────────── */
.alandog-step-indicator {
	max-width: 520px;
	padding: 14px 8px 10px;
	margin: 0 auto 14px;
}
.alandog-step-indicator__step {
	gap: 4px;
	min-width: 72px;
}
.alandog-step-indicator__icon {
	width: 40px;
	height: 40px;
}
.alandog-step-indicator__icon svg {
	width: 17px;
	height: 17px;
}
.alandog-step-indicator__label {
	font-size: 12px;
}
.alandog-step-indicator__line {
	min-width: 28px;
	margin-bottom: 20px;
}
/* Future (inactive) steps: lighter, more distinct from active */
.alandog-step-indicator__step:not(.active):not(.completed) .alandog-step-indicator__icon {
	background: #f3f4f6;
	border-color: #d1d5db;
	color: #9ca3af;
}
/* Active: stronger contrast */
.alandog-step-indicator__step.active .alandog-step-indicator__icon {
	box-shadow: 0 0 0 4px rgba(150,59,26,0.15);
}
/* Completed: subtle check animation feel */
.alandog-step-indicator__step.completed .alandog-step-indicator__icon {
	background: #22c55e;
	border-color: #22c55e;
}
.alandog-step-indicator__step.completed .alandog-step-indicator__label {
	color: #15803d;
}
.alandog-step-indicator__line.completed {
	background: #22c55e;
}

/* ── #4: LOGIN BOX — fix isolated V, cleaner accordion ───────────── */
.woocommerce-checkout .woocommerce-form-login-toggle {
	margin: 0 0 10px;
}
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
	background: #f8fafb;
	border: 1px solid #e5e7eb;
	border-left: 2px solid #085d91;
	border-radius: 8px;
	padding: 10px 14px;
	font-size: 13px;
	color: #374151;
	margin: 0;
	line-height: 1.45;
	text-align: center;
}
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before {
	content: none !important;
	display: none !important;
}

/* Remove Martfury's padded gray wrapper around the customer details card stack */
.woocommerce-checkout #customer_details {
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	margin: 0;
	padding: 0;
}

/* ── #5: BILLING FORM — align grid, tighter spacing ──────────────── */
.woocommerce-checkout .woocommerce-billing-fields .form-row {
	margin-bottom: 14px;
}
/* Tighter padding inside form card */
.woocommerce-checkout .woocommerce-billing-fields {
	padding: 24px 20px;
}
/* Input heights consistency */
.woocommerce-checkout .woocommerce-billing-fields input.input-text,
.woocommerce-checkout .woocommerce-billing-fields select,
.woocommerce-checkout .woocommerce-billing-fields textarea {
	padding: 12px 14px;
	border: 2px solid #e0e0e0;
	border-radius: 10px;
	font-size: 15px;
}

/* ── #6: ADDRESS LINKS — fix floating, prevent layout break ──────── */
.alandog-address2-toggle {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 13px;
	color: #085d91;
	min-height: 36px;
	padding: 6px 0;
	clear: both;
}

/* ── #7: SECONDARY TEXT — improve readability ─────────────────────── */
.woocommerce-checkout .woocommerce-form-login-toggle + form p,
.woocommerce-checkout .woocommerce-billing-fields + p,
.woocommerce-checkout p.form-row .description,
.woocommerce-checkout .woocommerce-additional-fields p small {
	font-size: 13px;
	color: #4b5563;
	line-height: 1.5;
}
/* Email disclaimer text */
.woocommerce-checkout .woocommerce-billing-fields .form-row p {
	font-size: 12px;
	color: #4b5563;
	line-height: 1.5;
}

/* FIX-UI-170: abandoned-cart GDPR notice must sit below phone/email row */
.woocommerce-checkout #wcf_cf_gdpr_message_block,
.woocommerce-checkout .alandog-checkout-abandonment-notice {
	display: block;
	clear: both;
	width: 100%;
	margin: 4px 0 12px;
	font-size: 12px;
	line-height: 1.5;
	color: #4b5563;
}
.woocommerce-checkout #wcf_cf_gdpr_message_block > span,
.woocommerce-checkout .alandog-checkout-abandonment-notice > span {
	display: block;
	font-size: inherit !important;
	line-height: inherit;
}
.woocommerce-checkout #wcf_cf_gdpr_message_block a,
.woocommerce-checkout .alandog-checkout-abandonment-notice a {
	display: inline;
	margin-left: 4px;
	color: #4a4a4a;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* FIX-UI-171: shipping section must not render as an empty card.
   Martfury hides generic checkout checkbox labels, so the native
   "ship to different address" checkbox collapsed into a blank box. */
.woocommerce-checkout .woocommerce-shipping-fields {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
	margin-bottom: 16px;
}
.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address {
	margin: 0;
	padding: 14px 18px;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #fff;
	font-size: 15px;
	font-weight: 600;
	font-family: 'Nunito Sans', sans-serif;
}
.woocommerce-checkout .woocommerce-shipping-fields #ship-to-different-address .woocommerce-form__label-for-checkbox {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	width: 100%;
	margin: 0;
}
.woocommerce-checkout .woocommerce-shipping-fields .shipping_address {
	margin-top: 12px;
	background: #fff;
	border-radius: 12px;
	padding: 24px 20px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.06);
	border: 1px solid #f0f0f0;
}

/* FIX-UI-172: deterministic checkout field grid.
   The legacy float-based layout caused CAP/Citta and other field pairs
   to drift whenever helper elements were injected between rows. */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	column-gap: 16px;
	row-gap: 14px;
	align-items: start;
}
@media (min-width: 768px) {
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: auto !important;
	float: none !important;
	clear: none !important;
	margin: 0;
	padding: 0;
	min-width: 0;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row > label,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row > label {
	display: block;
	width: 100%;
	margin: 0;
	line-height: 1.4;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row .woocommerce-input-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row .woocommerce-input-wrapper,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row input.input-text,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row select,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row textarea,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row input.input-text,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row select,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row textarea {
	display: block;
	width: 100%;
}
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #billing_state_field,
.woocommerce-checkout #shipping_address_1_field,
.woocommerce-checkout #shipping_address_2_field,
.woocommerce-checkout #shipping_state_field,
.woocommerce-checkout #wcf_cf_gdpr_message_block,
.woocommerce-checkout .alandog-checkout-abandonment-notice,
.woocommerce-checkout .alandog-address2-toggle {
	grid-column: 1 / -1;
}
.woocommerce-checkout #billing_postcode_field,
.woocommerce-checkout #billing_city_field,
.woocommerce-checkout #billing_phone_field,
.woocommerce-checkout #billing_email_field {
	align-self: start;
}
.woocommerce-checkout #billing_address_1_field .alandog-address2-toggle,
.woocommerce-checkout #shipping_address_1_field .alandog-address2-toggle {
	display: inline-flex;
	align-self: flex-start;
	margin: 2px 0 0;
	min-height: 0;
	padding: 0;
	clear: none;
}
@media (min-width: 768px) {
	.woocommerce-checkout #billing_postcode_field,
	.woocommerce-checkout #shipping_postcode_field,
	.woocommerce-checkout #billing_phone_field,
	.woocommerce-checkout #shipping_phone_field {
		grid-column: 1;
	}
	.woocommerce-checkout #billing_city_field,
	.woocommerce-checkout #shipping_city_field,
	.woocommerce-checkout #billing_email_field,
	.woocommerce-checkout #shipping_email_field {
		grid-column: 2;
	}
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_email_field:first-child {
		grid-column: 1 / -1;
	}
}

/* ── #8: SIDEBAR INTERNAL SCROLL — REMOVE on desktop ─────────────── */
/* This is the critical fix: no internal scroll in sidebar. Let it flow. */
@media (min-width: 768px) {
	.woocommerce-checkout-review-order-table tbody {
		max-height: none !important; /* !important: overrides FIX-UI-137 max-height: 300px */
		overflow-y: visible !important;
		display: table-row-group;
	}
	.woocommerce-checkout-review-order-table thead,
	.woocommerce-checkout-review-order-table tfoot,
	.woocommerce-checkout-review-order-table tbody tr {
		display: table-row;
		width: auto;
		table-layout: auto;
	}
}

/* ── #9: ORDER SUMMARY — less dense, better spacing ──────────────── */
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item td {
	padding: 14px 8px;
	vertical-align: middle;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .alandog-review-order__item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .alandog-review-order__thumb {
	flex: 0 0 56px;
	width: 56px;
	margin-right: 0;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .alandog-review-order__content {
	flex: 1 1 auto;
	min-width: 0;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .alandog-review-order__title-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 8px;
	margin-bottom: 4px;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .alandog-review-order__title {
	flex: 1 1 160px;
	min-width: 0;
	font-weight: 600;
	line-height: 1.45;
	color: #1a1a1a;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .alandog-review-order__content .product-quantity {
	flex: 0 0 auto;
	margin: 0;
	color: #085d91;
	font-weight: 700;
	white-space: nowrap;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .alandog-review-order__content .variation {
	margin: 0;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table thead .product-name {
	width: 72%;
	padding-right: 12px;
	text-align: left;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table thead .product-total {
	width: 28%;
	padding-left: 12px;
	text-align: right;
	white-space: nowrap;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item .product-name {
	font-size: 14px;
	line-height: 1.5;
	color: #1a1a1a;
	padding-right: 12px;
}
/* Product image in review — slightly larger, rounded */
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name img {
	width: 60px !important; /* !important: fights WC inline */
	height: 60px !important;
	object-fit: cover;
	border-radius: 10px;
	border: 1px solid #f3f4f6;
}
/* Better price alignment */
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item .product-total {
	font-size: 16px;
	font-weight: 700;
	color: #1a1a1a;
	padding-left: 12px;
	vertical-align: top;
	padding-top: 18px;
	text-align: right;
	white-space: nowrap;
}

/* ── #10: FREE SHIPPING BOX — balanced, not celebratory ──────────── */
.woocommerce-checkout .alandog-cart-shipping-progress {
	background: #fafafa;
	border-color: #e5e7eb;
	padding: 10px 14px;
}
.woocommerce-checkout .alandog-cart-shipping-progress.shipping-complete {
	background: #f0fdf4;
	border-color: #d1fae5;
}

.woocommerce-checkout .alandog-checkout-shipping-panel {
	margin: 0 0 14px;
	padding: 16px;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.06);
}
.woocommerce-checkout .alandog-checkout-shipping-panel__title {
	margin: 0 0 12px;
	font-size: 15px;
	font-weight: 700;
	color: #1a1a1a;
	font-family: 'Nunito Sans', sans-serif;
}
.woocommerce-checkout .alandog-checkout-shipping-methods {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}
.woocommerce-checkout .alandog-checkout-shipping-method {
	position: relative;
	margin: 0;
}
.woocommerce-checkout .alandog-checkout-shipping-method > input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.woocommerce-checkout .alandog-checkout-shipping-method__label,
.woocommerce-checkout .alandog-checkout-shipping-method__single {
	display: block;
	padding: 14px 16px;
	border: 2px solid #e5e7eb;
	border-radius: 10px;
	background: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	color: #1a1a1a;
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
.woocommerce-checkout .alandog-checkout-shipping-method > input[type="radio"]:checked + .alandog-checkout-shipping-method__label,
.woocommerce-checkout .alandog-checkout-shipping-method.is-selected .alandog-checkout-shipping-method__single {
	border-color: #085d91;
	background: #f0f7ff;
	box-shadow: 0 0 0 1px #085d91;
}
.woocommerce-checkout .alandog-checkout-shipping-method__label .woocommerce-Price-amount,
.woocommerce-checkout .alandog-checkout-shipping-method__single .woocommerce-Price-amount {
	font-weight: 700;
}
.woocommerce-checkout .alandog-checkout-shipping-method .easypack-shipping-method-logo {
	margin-left: 8px;
}
.woocommerce-checkout .alandog-checkout-shipping-panel__placeholder {
	padding: 14px 16px;
	border: 1px dashed #cbd5e1;
	border-radius: 10px;
	background: #f8fafc;
	font-size: 13px;
	line-height: 1.5;
	color: #475569;
}
.woocommerce-checkout .alandog-checkout-shipping-panel__placeholder.is-incomplete {
	border-style: solid;
	border-color: #fdba74;
	background: linear-gradient(135deg, #fff7ed 0%, #ffffff 100%);
}
.woocommerce-checkout .alandog-checkout-shipping-panel__placeholder.is-pending {
	border-style: solid;
	border-color: #93c5fd;
	background: linear-gradient(135deg, #eff6ff 0%, #ffffff 100%);
}
.woocommerce-checkout .alandog-checkout-shipping-panel__placeholder-title {
	margin: 0 0 6px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.4;
	color: #0f172a;
}
.woocommerce-checkout .alandog-checkout-shipping-panel__placeholder-text {
	margin: 0;
	font-size: 13px;
	line-height: 1.6;
	color: #475569;
}
.woocommerce-checkout .alandog-checkout-shipping-panel__checklist {
	list-style: none;
	display: grid;
	gap: 8px;
	margin: 12px 0 0;
	padding: 0;
}
.woocommerce-checkout .alandog-checkout-shipping-panel__checklist li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	color: #334155;
}
.woocommerce-checkout .alandog-checkout-shipping-panel__checklist li.is-complete {
	color: #0f766e;
}
.woocommerce-checkout .alandog-checkout-shipping-panel__checklist li.is-missing {
	color: #9a3412;
}
.woocommerce-checkout .alandog-checkout-shipping-panel__checkmark {
	width: 22px;
	height: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	flex-shrink: 0;
	font-size: 12px;
	font-weight: 800;
	background: rgba(148, 163, 184, 0.12);
	color: inherit;
}
.woocommerce-checkout .alandog-checkout-shipping-panel__checklist li.is-complete .alandog-checkout-shipping-panel__checkmark {
	background: rgba(15, 118, 110, 0.12);
}
.woocommerce-checkout .alandog-checkout-shipping-panel__checklist li.is-missing .alandog-checkout-shipping-panel__checkmark {
	background: rgba(234, 88, 12, 0.12);
}
.woocommerce-checkout .alandog-checkout-shipping-method.is-inpost-option .alandog-checkout-shipping-method__label,
.woocommerce-checkout .alandog-checkout-shipping-method.is-inpost-option .alandog-checkout-shipping-method__single {
	border-color: #facc15;
	background: linear-gradient(135deg, #fffef2 0%, #ffffff 100%);
}
.woocommerce-checkout .alandog-checkout-shipping-method.is-inpost-option > input[type="radio"]:checked + .alandog-checkout-shipping-method__label,
.woocommerce-checkout .alandog-checkout-shipping-method.is-selected.is-inpost-option .alandog-checkout-shipping-method__single {
	border-color: #085d91;
	background: linear-gradient(135deg, #eef8ff 0%, #ffffff 100%);
	box-shadow: 0 0 0 2px rgba(8, 93, 145, 0.18);
}
.woocommerce-checkout #easypack_italy_geowidget {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	margin-top: 12px;
	padding: 0 16px;
	border: 2px solid #facc15;
	border-radius: 14px;
	background: linear-gradient(135deg, #fff7bf 0%, #ffe680 100%);
	color: #1f2937;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.3;
	text-align: center;
	box-shadow: 0 8px 20px rgba(250, 204, 21, 0.18);
}
.woocommerce-checkout #easypack_italy_geowidget:hover {
	border-color: #eab308;
	background: linear-gradient(135deg, #fff1a8 0%, #fcd34d 100%);
}
.woocommerce-checkout .alandog-inpost-helper,
.woocommerce-checkout #easypack_selected_point_data {
	margin-top: 12px;
	padding: 14px 16px;
	border-radius: 14px;
	border: 1px solid #dbe5ef;
	background: #f8fafc;
	box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
}
.woocommerce-checkout .alandog-inpost-helper strong,
.woocommerce-checkout .alandog-inpost-selected-card__title {
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.35;
	color: #0f172a;
}
.woocommerce-checkout .alandog-inpost-helper p {
	margin: 0;
	font-size: 13px;
	line-height: 1.6;
	color: #475569;
}
.woocommerce-checkout .alandog-inpost-helper.is-required {
	border-color: #fdba74;
	background: linear-gradient(135deg, #fff7ed 0%, #ffffff 100%);
}
.woocommerce-checkout .alandog-inpost-helper.is-required strong {
	color: #9a3412;
}
.woocommerce-checkout .alandog-inpost-helper.is-attention,
.woocommerce-checkout #easypack_italy_geowidget.is-attention {
	box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.16), 0 14px 28px rgba(234, 88, 12, 0.12);
}
.woocommerce-checkout #easypack_selected_point_data {
	border-color: #86efac;
	background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 100%);
}
.woocommerce-checkout #easypack_selected_point_data #selected-parcel-machine-id {
	font-size: 15px;
	font-weight: 800;
	color: #166534;
}
.woocommerce-checkout #easypack_selected_point_data #selected-parcel-machine-desc,
.woocommerce-checkout #easypack_selected_point_data #selected-parcel-machine-desc1 {
	display: block;
	font-size: 13px;
	line-height: 1.6;
	color: #475569;
}
@media (max-width: 767px) {
	.woocommerce-checkout .alandog-checkout-shipping-panel {
		padding: 14px;
	}
	.woocommerce-checkout #easypack_italy_geowidget {
		min-height: 50px;
		font-size: 13px;
	}
	.woocommerce-checkout .alandog-inpost-helper,
	.woocommerce-checkout #easypack_selected_point_data {
		padding: 13px 14px;
	}
}

/* ── #12: PAYMENT METHODS — clear, trustworthy selector UI ───────── */
.woocommerce-checkout #payment .alandog-payment-security-note {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 14px;
	padding: 12px 14px;
	background: #f8fafc;
	border: 1px solid #dbe5ef;
	border-radius: 10px;
	color: #334155;
}
.woocommerce-checkout #payment .alandog-payment-security-note svg {
	flex-shrink: 0;
	margin-top: 2px;
	color: #0f766e;
}
.woocommerce-checkout #payment .alandog-payment-security-note p {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
}
.woocommerce-checkout #payment .alandog-payment-security-note strong {
	color: #0f172a;
}
.woocommerce-checkout #payment .payment_methods > .wc_payment_method > label {
	position: relative;
	font-size: 15px;
	font-weight: 600;
	padding: 16px;
	border: 2px solid #e5e7eb;
	border-radius: 10px;
	display: flex;
	align-items: center;
	gap: 12px;
	cursor: pointer;
	transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
	margin-bottom: 8px;
	background: #fff;
	line-height: 1.35;
	min-height: 56px;
}
.woocommerce-checkout #payment .payment_methods > .wc_payment_method {
	position: relative;
	margin: 0 0 10px;
}
.woocommerce-checkout #payment .wc_payment_method > input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.woocommerce-checkout #payment .payment_methods > .wc_payment_method > label:hover {
	border-color: #085d91;
	background: #fafbff;
}
/* Selected payment method — highlight */
.woocommerce-checkout #payment .wc_payment_method > input[type="radio"]:checked + label,
.woocommerce-checkout #payment .payment_methods > .wc_payment_method.wc_payment_method--selected > label {
	border-color: #085d91;
	background: #f0f7ff;
	box-shadow: 0 0 0 1px #085d91;
}
/* Native radio stays hidden; selection is communicated by the active card */
.woocommerce-checkout #payment .wc_payment_method input[type="radio"] {
	width: 1px;
	height: 1px;
}
.woocommerce-checkout #payment .payment_methods > .wc_payment_method > label img {
	margin-left: auto;
	width: auto;
	max-height: 22px;
	max-width: 108px;
}
.woocommerce-checkout #payment .payment_methods > .wc_payment_method > label .payment_method_title,
.woocommerce-checkout #payment .payment_methods > .wc_payment_method > label .gateway-label {
	flex: 1 1 auto;
}
.woocommerce-checkout #payment .payment_box fieldset {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}
.woocommerce-checkout #payment .payment_box .woocommerce-SavedPaymentMethods-saveNew {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 12px 0 0;
	padding: 0;
	clear: both;
}
.woocommerce-checkout #payment .payment_box .woocommerce-SavedPaymentMethods-saveNew > input[type="checkbox"],
.woocommerce-checkout #payment .payment_box .woocommerce-SavedPaymentMethods-saveNew > #wc-stripe-new-payment-method,
.woocommerce-checkout #payment .payment_box .woocommerce-SavedPaymentMethods-saveNew > input[id$="-new-payment-method"] {
	display: block !important;
	opacity: 1 !important;
	appearance: auto;
	-webkit-appearance: checkbox;
	position: static !important;
	width: 18px !important;
	height: 18px !important;
	margin: 2px 0 0 !important;
	flex: 0 0 18px;
	clip: auto !important;
	overflow: visible !important;
}
.woocommerce-checkout #payment .payment_box .woocommerce-SavedPaymentMethods-saveNew > label {
	display: block !important;
	flex: 1 1 auto;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	min-height: 0 !important;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.45;
	color: #374151;
	cursor: pointer;
}
/* Payment description box — clean */
.woocommerce-checkout #payment .payment_box {
	padding: 12px 16px;
	margin: -4px 0 8px;
	background: #f8fafb;
	border: 1px solid #e5e7eb;
	border-top: none;
	border-radius: 0 0 10px 10px;
	font-size: 13px;
	color: #4b5563;
}
/* Local QA still runs Stripe in test mode; don't show the sandbox card copy in the customer UI. */
.woocommerce-checkout #payment .testmode-info {
	display: none;
}
/* Remove default WC payment list borders */
.woocommerce-checkout #payment .payment_methods li {
	list-style: none;
	border: none !important; /* !important: fights WC */
	padding: 0 !important;
	margin: 0 0 4px;
}
.woocommerce-checkout #payment ul.payment_methods > li > label:before,
.woocommerce-checkout #payment ul.payment_methods > li > .input-radio:checked + label:before,
.woocommerce-checkout #payment .wc_payment_method > label::after {
	content: none !important;
}
/* WooCommerce sometimes leaves the blockUI overlays mounted even after the checkout
   is idle, which visually washes out order review and payment. Keep them only while
   the form is actually processing. */
.woocommerce-checkout form.checkout:not(.processing) .woocommerce-checkout-review-order-table > .blockUI.blockOverlay,
.woocommerce-checkout form.checkout:not(.processing) #payment > .blockUI.blockOverlay {
	display: none !important;
}

/* ── #15: TRUST SIGNALS — larger, coordinated ─────────────────────── */
.alandog-checkout-trust {
	gap: 20px;
	font-size: 13px;
	color: #374151;
	padding: 16px 0;
}
.alandog-checkout-trust__item {
	gap: 6px;
	font-weight: 500;
}
.alandog-checkout-trust__item svg {
	width: 18px;
	height: 18px;
	color: #22c55e;
}
/* Payment icons — cleaner */
.alandog-checkout-payment-icons {
	gap: 10px;
	padding: 14px 0;
}
.alandog-checkout-payment-icons__brand {
	padding: 5px 12px;
	font-size: 12px;
	border-color: #d1d5db;
	border-radius: 6px;
}
.alandog-checkout-payment-icons__label {
	font-size: 12px;
	color: #6b7280;
	font-weight: 500;
}

/* ── #16: FOOTER — use the same complete footer as the rest of the site ── */
.woocommerce-checkout .site-footer {
	display: block !important;
	margin-top: 40px;
}
.woocommerce-checkout .site-footer .footer-layout {
	display: block !important;
}
.woocommerce-checkout .alandog-seo-footer-links {
	display: grid !important;
}
.woocommerce-checkout .alandog-footer-bottom-bar {
	background: #1b2833 !important;
	border-top: 0 !important;
	padding: 0 !important;
	text-align: initial;
	font-size: inherit;
	color: #d7dee5 !important;
}
.woocommerce-checkout .alandog-footer-bottom-bar .container {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px;
}

@media (min-width: 768px) {
	.woocommerce-checkout .alandog-seo-footer-links {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 16px !important;
	}
}

/* ── #17: DESIGN CONSISTENCY — unified radius, shadows, spacing ──── */
/* Standardize card radius to 12px and shadow */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-checkout-review-order,
.woocommerce-checkout #payment {
	border-radius: 12px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.06);
	border: 1px solid #f0f0f0;
}
/* Consistent section spacing */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields {
	margin-bottom: 16px;
}
.woocommerce-checkout #payment {
	margin-top: 12px;
}

/* ── #18: PALETTE — coherent, reduced color scheme ───────────────── */
/* All green success indicators use the same green */
.woocommerce-checkout .alandog-checkout-delivery__box,
.woocommerce-checkout .alandog-checkout-delivery-inline,
.woocommerce-checkout .alandog-checkout-guarantee {
	background: #f0fdf4;
	border-color: #d1fae5;
	color: #15803d;
}
/* Consistent muted text */
.woocommerce-checkout .woocommerce-checkout-review-order-table .variation dt,
.woocommerce-checkout .woocommerce-checkout-review-order-table .variation dd,
.woocommerce-checkout .product-quantity {
	color: #6b7280;
	font-size: 13px;
}

/* ── #19: CONTRAST/LEGIBILITY — fix small gray text ──────────────── */
/* Ensure all secondary text meets WCAG AA (4.5:1 minimum) */
.woocommerce-checkout .woocommerce-form__label span,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
	font-size: 13px;
	color: #374151; /* 9.7:1 on white */
}
/* T&C link still needs underline for non-color distinction */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
	text-decoration: underline;
	text-underline-offset: 2px;
}
/* Notes toggle link — proper contrast */
.woocommerce-checkout .alandog-notes-toggle {
	color: #085d91;
	font-size: 14px;
}
/* CTA reassurance text */
.alandog-cta-reassurance {
	font-size: 13px;
	color: #374151;
}

/* ── #20-23: MOBILE CHECKOUT FIXES ────────────────────────────────── */
@media (max-width: 767px) {
	/* Mobile checkout should be focused: remove search chrome and floating helper */
	body.alandog-header-checkout.woocommerce-checkout .site-header > .mobile-menu.hidden-lg.hidden-md,
	body.alandog-header-checkout.woocommerce-checkout #alandog-scroll-top {
		display: none !important;
	}

	/* #20: MOBILE — reduce density, tighter spacing */
	.woocommerce-checkout .woocommerce-billing-fields,
	.woocommerce-checkout .woocommerce-shipping-fields {
		padding: 16px 14px;
		margin-bottom: 12px;
	}
	.woocommerce-checkout .woocommerce-billing-fields h2,
	.woocommerce-checkout .woocommerce-billing-fields h3,
	.woocommerce-checkout .woocommerce-shipping-fields h2,
	.woocommerce-checkout .woocommerce-shipping-fields h3 {
		font-size: 17px;
		margin-bottom: 14px;
		padding-bottom: 10px;
	}
	.woocommerce-checkout .woocommerce-billing-fields .form-row {
		margin-bottom: 10px;
	}
	.woocommerce-checkout .woocommerce-billing-fields input.input-text,
	.woocommerce-checkout .woocommerce-billing-fields select {
		padding: 10px 12px;
		font-size: 15px;
	}
	/* Tighter security banner */
	.alandog-checkout-secure-header {
		font-size: 11px;
		padding: 6px 10px;
		margin-bottom: 0;
		gap: 6px;
	}
	/* Stepper more compact */
	.alandog-step-indicator {
		padding: 8px 4px 6px;
		margin-bottom: 8px;
		max-width: 350px;
	}
	.alandog-step-indicator__step {
		min-width: 60px;
		gap: 3px;
	}
	.alandog-step-indicator__icon {
		width: 34px;
		height: 34px;
	}
	.alandog-step-indicator__icon svg {
		width: 14px;
		height: 14px;
	}
	.alandog-step-indicator__label {
		font-size: 11px;
	}
	.alandog-step-indicator__line {
		min-width: 18px;
		margin: 0 6px 16px;
	}
	/* Order review card compact */
	.woocommerce-checkout .woocommerce-checkout-review-order {
		padding: 16px 14px;
	}
	.woocommerce-checkout #order_review_heading {
		font-size: 17px;
		margin-bottom: 12px;
	}
	/* Payment section compact */
	.woocommerce-checkout #payment {
		padding: 14px;
		margin-top: 10px;
	}
	.woocommerce-checkout #payment .alandog-payment-security-note {
		padding: 11px 12px;
		margin-bottom: 12px;
	}
	.woocommerce-checkout #payment .payment_methods > .wc_payment_method > label {
		padding: 14px;
		font-size: 14px;
		gap: 8px;
		min-height: 52px;
	}
	.woocommerce-checkout #payment .payment_methods > .wc_payment_method > label img {
		max-width: 92px;
		max-height: 20px;
	}
	/* Checkout express buttons are too dominant on mobile and compete
	   with the primary billing flow. Keep the standard payment methods below. */
	.woocommerce-checkout #wc-stripe-express-checkout-element,
	.woocommerce-checkout #wc-stripe-express-checkout-button-separator {
		display: none !important;
	}
	/* Login toggle compact */
	.woocommerce-checkout .col-form-login {
		margin-bottom: 2px;
	}
	.woocommerce-checkout .woocommerce-form-login-toggle {
		margin: 4px 0 6px;
	}
	.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: 4px;
		padding: 0;
		font-size: 12px;
		line-height: 1.4;
		min-height: 44px;
		background: transparent;
		border: 0;
		color: #5b6777;
		text-align: left;
		border-radius: 0;
		box-shadow: none;
	}
	.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::after {
		content: "";
		display: none;
	}
	.woocommerce-checkout .woocommerce-info .showlogin,
	.woocommerce-checkout .woocommerce-info a.showlogin {
		min-height: 0;
		padding: 0;
		font-size: 12px;
		font-weight: 700;
		color: #085d91;
		text-decoration: underline;
		text-underline-offset: 2px;
	}
	.woocommerce-checkout form.checkout {
		margin-top: 0;
	}
	/* Guarantee badges compact */
	.woocommerce-checkout .alandog-checkout-guarantee {
		padding: 12px;
		gap: 6px;
	}
	.alandog-guarantee-item {
		font-size: 12px;
	}

	/* #21: MOBILE — order summary NO internal scroll */
	.woocommerce-checkout-review-order-table tbody {
		max-height: none !important; /* !important: overrides FIX-UI-137 mobile max-height: 200px */
		overflow-y: visible !important;
		display: table-row-group;
	}
	.woocommerce-checkout-review-order-table tbody tr {
		display: table-row;
		width: auto;
		table-layout: auto;
	}

	/* #22: MOBILE CTA — dominant button, trust signals readable */
	.woocommerce-checkout #place_order {
		font-size: 17px !important;
		padding: 16px 24px !important;
		border-radius: 12px !important;
		font-weight: 800 !important;
		letter-spacing: 0.02em;
	}
	/* Trust signals below CTA on mobile — larger, readable */
	.alandog-checkout-trust {
		flex-direction: column;
		align-items: center;
		gap: 8px;
		font-size: 12px;
	}
	.alandog-checkout-trust__item svg {
		width: 16px;
		height: 16px;
	}
	/* Payment icons compact but still visible */
	.alandog-checkout-payment-icons__brand {
		padding: 4px 10px;
		font-size: 11px;
	}

	/* #23: MOBILE TAP TARGETS — 44px minimum on all interactive */
	.woocommerce-checkout .alandog-notes-toggle,
	.woocommerce-checkout .alandog-address2-toggle {
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		padding: 8px 0;
	}
	.woocommerce-checkout .woocommerce-info .showlogin {
		min-height: 44px;
		display: inline-flex;
		align-items: center;
	}
	/* T&C checkbox label — min touch target */
	.woocommerce-checkout .woocommerce-form__label-for-checkbox {
		min-height: 44px;
		display: inline-flex !important;
		align-items: center;
		gap: 8px;
	}
	/* Payment method labels already 44px+ from padding:14px 16px above */

	/* Footer even more minimal on mobile checkout */
	.woocommerce-checkout .alandog-footer-bottom-bar {
		padding-bottom: 24px !important;
	}
	.woocommerce-checkout .alandog-seo-footer-links,
	.woocommerce-checkout.alandog-footer-mobile-accordion-ready .alandog-seo-footer-links {
		padding-bottom: 28px !important;
	}
}

/* ── CART FIXES ───────────────────────────────────────────────────── */

/* Cart subtotal text cutoff — ensure price amounts never get clipped */
.woocommerce-cart .product-subtotal .woocommerce-Price-amount,
.woocommerce-cart .woocommerce .purchase-plan td.product-subtotal .woocommerce-Price-amount {
	display: inline-block;
	white-space: nowrap;
	overflow: visible;
	font-size: 18px;
	font-weight: 700;
}
/* Cart sidebar: ensure totals table doesn't clip prices */
.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table td .woocommerce-Price-amount {
	white-space: nowrap;
	overflow: visible;
}
/* Larger totals in sidebar need room */
body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table .order-total td {
	overflow: visible;
	white-space: nowrap;
}

/* Cart sidebar compression when subscription active —
   The recurring-total rows are hidden but subscription options
   (wcsatt-options-cart) still need adequate space */
.woocommerce-cart .cart_totals .wcsatt-options-cart,
.woocommerce-cart .cart_totals ul.wcsatt-options-cart {
	padding: 8px 0;
}
.woocommerce-cart .cart_totals ul.wcsatt-options-cart li {
	padding: 6px 0;
	margin: 0;
}
/* Subscription option labels — prevent overflow in narrow sidebar */
.woocommerce-cart .cart_totals .satt-active-plan-prompt {
	font-size: 13px;
	padding: 8px 12px;
}
/* Ensure sidebar min-width holds even with subscription content */
@media (min-width: 992px) {
	.woocommerce-cart .cart-collaterals .cart_totals {
		min-width: 380px;
		overflow: visible;
	}
}

/* ============================================================
 * FIX-CART-20260329: Structural cart refresh
 * Unifies coupon, subscription options, desktop row balance,
 * and mobile overflow/sticky CTA.
 * ============================================================ */

@media (min-width: 1200px) {
	.woocommerce-cart .site-content .container {
		width: min(1280px, calc(100vw - 64px));
		max-width: none;
		padding: 0;
	}
}

.woocommerce-cart .site-main {
	width: 100%;
}

.woocommerce-cart .site-content .container > .row,
.woocommerce-cart .content-area.col-md-12,
.woocommerce-cart .cart-collaterals > .row {
	margin-left: 0;
	margin-right: 0;
}

.woocommerce-cart .alandog-inline-coupon {
	margin: 0 0 20px;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
	overflow: hidden;
}

.woocommerce-cart .alandog-coupon-toggle {
	min-height: 54px;
	padding: 14px 20px;
	background: #fff;
	border: 0;
	border-radius: 0;
	font-size: 15px;
	font-weight: 700;
	color: #0f172a;
}

.woocommerce-cart .alandog-coupon-toggle:hover {
	background: #f8fafc;
}

.woocommerce-cart .alandog-coupon-toggle__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 999px;
	background: #fef3c7;
	font-size: 15px;
	flex-shrink: 0;
}

.woocommerce-cart .alandog-coupon-toggle__arrow {
	color: #64748b;
}

.woocommerce-cart .alandog-inline-coupon .alandog-coupon-form {
	padding: 0;
}

.woocommerce-cart .alandog-inline-coupon.coupon-open .alandog-coupon-form {
	padding: 0 20px 18px;
}

.woocommerce-cart .alandog-inline-coupon .coupon-inline-row {
	align-items: center;
}

.woocommerce-cart .alandog-inline-coupon .coupon-inline-row input[type="text"] {
	height: 48px;
	border-color: #cbd5e1;
	border-radius: 12px;
	font-size: 15px;
}

.woocommerce-cart .alandog-inline-coupon .coupon-inline-row button[type="submit"] {
	height: 48px;
	padding: 0 18px;
	border-radius: 12px;
	background: #0f172a;
}

.woocommerce-cart .alandog-inline-coupon .coupon-inline-row button[type="submit"]:hover {
	background: #1e293b;
}

.woocommerce-cart .purchase-plan {
	padding-left: 0;
	padding-right: 0;
}

.woocommerce-cart .purchase-plan .wcsatt-options-cart {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
	overflow: hidden;
}

.woocommerce-cart .purchase-plan .wcsatt-options-cart li {
	margin: 0;
	padding: 0 !important;
	background: transparent;
	border: 0 !important;
}

.woocommerce-cart .purchase-plan .wcsatt-options-cart li + li {
	border-top: 1px solid #e5e7eb !important;
}

.woocommerce-cart .purchase-plan .wcsatt-options-cart label {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px 18px;
	cursor: pointer;
	line-height: 1.45;
}

.woocommerce-cart .purchase-plan .wcsatt-options-cart input[type="radio"] {
	margin: 3px 0 0;
	accent-color: #085d91;
	flex-shrink: 0;
}

.woocommerce-cart .purchase-plan .one-time-option-details,
.woocommerce-cart .purchase-plan .subscription-option-details {
	display: block;
	font-size: 16px;
	font-weight: 600;
	color: #0f172a;
}

.woocommerce-cart .purchase-plan .subscription-details,
.woocommerce-cart .purchase-plan .wcsatt-sub-discount {
	color: #085d91;
}

.woocommerce-cart .purchase-plan .alandog-cart-table {
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
	overflow: hidden;
}

.woocommerce-cart .purchase-plan .alandog-cart-table col.alandog-cart-table__col--thumb {
	width: 108px;
}

.woocommerce-cart .purchase-plan .alandog-cart-table col.alandog-cart-table__col--qty {
	width: 196px;
}

.woocommerce-cart .purchase-plan .alandog-cart-table col.alandog-cart-table__col--subtotal {
	width: 156px;
}

.woocommerce-cart .purchase-plan .alandog-cart-table col.alandog-cart-table__col--remove {
	width: 72px;
}

.woocommerce-cart .purchase-plan .alandog-cart-table thead th {
	background: #f8fafc;
	color: #64748b;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 18px 16px;
	border-bottom: 1px solid #e2e8f0;
}

.woocommerce-cart .purchase-plan .alandog-cart-table td {
	padding: 22px 16px;
	border-top: 1px solid #eef2f7;
	vertical-align: middle;
}

.woocommerce-cart .purchase-plan .alandog-cart-table tbody tr:first-child td {
	border-top: 0;
}

.woocommerce-cart .purchase-plan .alandog-cart-table td.product-thumbnail {
	padding-right: 8px;
}

.woocommerce-cart .purchase-plan .alandog-cart-table td.product-thumbnail img {
	width: 84px !important;
	height: 84px !important;
	border-radius: 14px;
	border: 1px solid #e5e7eb;
	background: #fff;
}

.woocommerce-cart .purchase-plan .alandog-cart-table td.product-name {
	padding-right: 24px;
}

.woocommerce-cart .purchase-plan .alandog-cart-table td.product-name .product-content-detail {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.woocommerce-cart .purchase-plan .alandog-cart-table td.product-name a {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.45;
	color: #111827;
}

.woocommerce-cart .purchase-plan .alandog-cart-table td.product-name a:hover {
	color: #085d91;
}

.woocommerce-cart .purchase-plan .alandog-cart-table td.product-quantity {
	text-align: center;
}

.woocommerce-cart .purchase-plan .alandog-cart-table td.product-quantity .quantity {
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-width: 0;
	border: 0 !important;
	line-height: normal;
	overflow: visible;
}

.woocommerce-cart .purchase-plan .alandog-cart-table td.product-quantity .quantity > .label {
	display: none !important;
}

.woocommerce-cart .purchase-plan .alandog-cart-table td.product-quantity .qty-box {
	margin: 0 auto;
}

html {
	scroll-padding-bottom: var(--alandog-cart-mobile-sticky-offset, 0px);
}

.woocommerce-cart .purchase-plan .alandog-cart-table td.product-subtotal {
	text-align: right;
}

.woocommerce-cart .purchase-plan .alandog-cart-table td.product-subtotal .woocommerce-Price-amount {
	font-size: 22px;
	font-weight: 800;
	color: #c33452;
}

.woocommerce-cart .purchase-plan .alandog-cart-table td.product-remove {
	text-align: center;
}

.woocommerce-cart .purchase-plan .alandog-cart-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	font-size: 0 !important;
	line-height: 1;
	text-decoration: none;
	border-radius: 999px;
	border: 1px solid #e2e8f0;
	background: #fff;
	color: #64748b !important;
	transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.woocommerce-cart .purchase-plan .alandog-cart-remove:hover {
	background: #fef2f2;
	border-color: #fecaca;
	color: #b91c1c !important;
	transform: scale(1.03);
}

.woocommerce-cart .purchase-plan .alandog-cart-remove svg {
	width: 18px;
	height: 18px;
}

.woocommerce-cart .purchase-plan .alandog-cart-table td.actions {
	padding-top: 16px;
	padding-bottom: 20px;
}

.woocommerce-cart .purchase-plan .alandog-cart-table .btn-shop {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 16px;
	border-radius: 12px;
	background: #f8fafc;
	border: 1px solid #dbe5ef;
	color: #0f172a;
	font-weight: 600;
}

.woocommerce-cart .purchase-plan .alandog-cart-table .btn-shop:hover {
	background: #eff6ff;
	border-color: #bfdbfe;
	color: #085d91;
}

@media (max-width: 991px) {
	body.woocommerce-cart #alandog-announcement-bar,
	body.woocommerce-cart .alandog-mobile-bottom-nav,
	body.woocommerce-cart #mf-navigation-mobile,
	body.woocommerce-cart .alandog-whatsapp-btn {
		display: none !important;
	}

	.woocommerce-cart .site-content .container {
		width: 100%;
		max-width: none;
		padding: 0 16px;
	}

	.woocommerce-cart .site-content .container > .row,
	.woocommerce-cart .content-area.col-md-12,
	.woocommerce-cart .cart-collaterals > .row {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	.woocommerce-cart .purchase-plan,
	.woocommerce-cart .cart_totals {
		float: none;
		width: 100%;
		padding-left: 0;
		padding-right: 0;
	}

	.woocommerce-cart .cart_totals {
		margin-top: 18px;
	}

	.woocommerce-cart .alandog-inline-coupon {
		margin-bottom: 16px;
	}

	.woocommerce-cart .alandog-coupon-toggle {
		min-height: 50px;
		padding: 12px 14px;
		font-size: 14px;
	}

	.woocommerce-cart .alandog-coupon-toggle__icon {
		width: 32px;
		height: 32px;
		font-size: 14px;
	}

	.woocommerce-cart .alandog-inline-coupon.coupon-open .alandog-coupon-form {
		padding: 0 14px 14px;
	}

	.woocommerce-cart .alandog-inline-coupon .coupon-inline-row {
		flex-direction: column;
	}

	.woocommerce-cart .alandog-inline-coupon .coupon-inline-row button[type="submit"] {
		width: 100%;
	}

	.alandog-step-indicator {
		max-width: 560px;
		padding: 18px 10px;
		margin-bottom: 24px;
	}

	.alandog-step-indicator__step {
		min-width: 72px;
	}

	.alandog-step-indicator__line {
		min-width: 28px;
		margin-bottom: 19px;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table thead,
	.woocommerce-cart .purchase-plan .alandog-cart-table colgroup {
		display: none;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table {
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		overflow: visible;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table tbody {
		display: block;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item {
		display: grid !important;
		grid-template-columns: 88px minmax(0, 1fr) auto 48px;
		grid-template-areas:
			"thumb name qty remove"
			"thumb subtotal qty remove";
		gap: 12px 16px;
		padding: 18px;
		margin-bottom: 16px;
		border: 1px solid #e2e8f0;
		border-radius: 18px;
		box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
		background: #fff;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item > td {
		display: block;
		width: auto !important;
		min-width: 0;
		max-width: 100%;
		padding: 0 !important;
		border-top: 0;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-thumbnail {
		grid-area: thumb;
		width: 88px;
		padding-right: 0;
		align-self: start;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-thumbnail img {
		width: 88px !important;
		height: 88px !important;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-name {
		grid-area: name;
		padding-right: 0 !important;
		align-self: center;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-name .product-content-detail {
		gap: 6px;
		min-width: 0;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-name a {
		display: block;
		font-size: 17px;
		line-height: 1.38;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-name .variation,
	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-name .product-meta {
		display: flex;
		flex-wrap: wrap;
		gap: 4px;
		margin: 0;
		font-size: 12px;
		line-height: 1.35;
		color: #64748b;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-name .variation dt {
		display: none;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-name .variation dd,
	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-name .variation dd p {
		margin: 0;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-quantity {
		grid-area: qty;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		min-width: 132px;
		text-align: right;
		align-self: center;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-quantity .label {
		display: none !important;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-quantity .quantity {
		justify-content: flex-end;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-quantity .qty-box {
		margin: 0;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-subtotal {
		grid-area: subtotal;
		display: flex !important;
		align-items: flex-end;
		padding: 0 !important;
		text-align: left;
		align-self: end;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-subtotal .woocommerce-Price-amount {
		display: block;
		font-size: 20px;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item > td.product-remove,
	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-remove {
		grid-area: remove;
		width: auto;
		padding: 0 !important;
		border: 0;
		justify-self: end;
		align-self: start;
		text-align: right;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-remove .alandog-cart-remove {
		width: 44px;
		height: 44px;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table td.actions {
		padding-top: 8px;
		padding-bottom: 12px;
	}
}

@media (max-width: 767px) {
	.woocommerce-cart .purchase-plan .wcsatt-options-cart {
		padding: 0;
		margin-bottom: 16px;
		border-radius: 16px;
	}

	.woocommerce-cart .purchase-plan {
		overflow: hidden;
	}

	.woocommerce-cart .purchase-plan .wcsatt-options-cart label {
		padding: 14px 16px;
	}

	.woocommerce-cart .purchase-plan .wcsatt-options-cart .one-time-option-details,
	.woocommerce-cart .purchase-plan .wcsatt-options-cart .subscription-option-details {
		font-size: 15px;
	}

	.woocommerce-cart .purchase-plan .cart_item {
		display: grid !important;
		grid-template-columns: 72px minmax(0, 1fr) 48px;
		grid-template-areas:
			"thumb name remove"
			"thumb subtotal remove"
			"qty qty qty";
		gap: 8px 10px;
		padding: 0 12px 12px;
		border: 1px solid #e2e8f0;
		border-radius: 16px;
		box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table {
		display: block;
		margin: 0;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table tbody {
		display: flex;
		flex-direction: column;
		gap: 14px;
	}

	.woocommerce-cart .purchase-plan .cart_item > td {
		display: block;
		width: auto !important;
		min-width: 0;
		max-width: 100%;
	}

	.woocommerce-cart .purchase-plan .cart_item .product-thumbnail {
		grid-area: thumb;
		width: 72px;
		padding: 10px 0 0 !important;
		align-self: start;
	}

	.woocommerce-cart .purchase-plan .cart_item .product-thumbnail img {
		width: 72px !important;
		height: 72px !important;
	}

	.woocommerce-cart .purchase-plan .cart_item .product-name {
		grid-area: name;
		width: auto;
		padding: 10px 6px 0 0 !important;
		min-width: 0;
		align-self: center;
	}

	.woocommerce-cart .purchase-plan .cart_item .product-name .product-content-detail {
		display: flex;
		flex-direction: column;
		gap: 4px;
		min-width: 0;
	}

	.woocommerce-cart .purchase-plan .cart_item .product-name a {
		display: block;
		max-width: 100%;
		font-size: 14px;
		line-height: 1.4;
		overflow-wrap: anywhere;
		word-break: break-word;
		display: -webkit-box;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.woocommerce-cart .purchase-plan .cart_item .product-name .variation,
	.woocommerce-cart .purchase-plan .cart_item .product-name .product-meta {
		display: none !important;
	}

	.woocommerce-cart .purchase-plan .cart_item .product-name .variation dt {
		display: none;
	}

	.woocommerce-cart .purchase-plan .cart_item .product-name .variation dd,
	.woocommerce-cart .purchase-plan .cart_item .product-name .variation dd p {
		margin: 0;
	}

	.woocommerce-cart .purchase-plan .cart_item .product-subtotal {
		grid-area: subtotal;
		display: flex !important;
		align-items: flex-start;
		padding: 0 !important;
		text-align: left;
		align-self: start;
	}

	.woocommerce-cart .purchase-plan .cart_item .product-subtotal .woocommerce-Price-amount {
		display: block;
		font-size: 18px;
	}

	.woocommerce-cart .purchase-plan .cart_item > td.product-remove,
	.woocommerce-cart .purchase-plan .cart_item .product-remove {
		grid-area: remove;
		position: static;
		width: auto;
		border: 0;
		padding: 10px 0 0 !important;
		justify-self: end;
		align-self: start;
	}

	.woocommerce-cart .purchase-plan .cart_item .product-remove .alandog-cart-remove {
		width: 44px;
		height: 44px;
	}

	.woocommerce-cart .purchase-plan .cart_item .product-quantity {
		grid-area: qty;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding-top: 10px;
		margin-top: 0;
		border-top: 1px solid #eef2f7;
		flex-wrap: wrap;
	}

	.woocommerce-cart .purchase-plan .cart_item .product-quantity .label {
		display: none !important;
	}

	.woocommerce-cart .purchase-plan .cart_item .product-quantity .quantity {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		width: auto !important;
		border: 0 !important;
		line-height: normal;
		overflow: visible;
	}

	.woocommerce-cart .purchase-plan .cart_item .product-quantity .qty-box {
		margin: 0;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table td.actions {
		display: none !important;
	}

	/* Mobile must override the tablet card rule with stronger specificity. */
	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item {
		display: grid !important;
		grid-template-columns: 72px minmax(0, 1fr) 48px !important;
		grid-template-areas:
			"thumb name remove"
			"thumb subtotal remove"
			"qty qty qty" !important;
		gap: 10px !important;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-thumbnail {
		grid-area: thumb;
		width: 72px;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-thumbnail img {
		width: 72px !important;
		height: 72px !important;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-name {
		grid-area: name;
		width: auto !important;
		min-width: 0 !important;
		padding: 0 6px 0 0 !important;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-name .product-content-detail {
		display: flex;
		flex-direction: column;
		gap: 4px;
		min-width: 0;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-name a {
		font-size: 14px;
		line-height: 1.4;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-subtotal {
		grid-area: subtotal;
		text-align: left;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-remove {
		grid-area: remove;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-quantity {
		grid-area: qty;
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-width: 0;
		padding-top: 12px;
		margin-top: 2px;
		border-top: 1px solid #eef2f7;
	}

	.woocommerce-cart .purchase-plan .alandog-cart-table .cart_item .product-quantity .quantity {
		justify-content: flex-start;
	}

	.woocommerce-cart .cart_totals {
		padding: 16px 14px;
		border-radius: 18px;
		box-shadow: 0 16px 28px rgba(15, 23, 42, 0.06);
	}

	.woocommerce-cart .wc-proceed-to-checkout,
	.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
		position: fixed;
		left: 0;
		right: 0;
		bottom: env(safe-area-inset-bottom, 0px);
		z-index: 998;
		display: flex;
		flex-direction: column;
		gap: 8px;
		padding: 8px 12px calc(10px + env(safe-area-inset-bottom, 0px));
		margin: 0;
		background: rgba(255, 255, 255, 0.98);
		border-top: 1px solid #dbe5f0;
		border-top-left-radius: 18px;
		border-top-right-radius: 18px;
		backdrop-filter: blur(12px);
		box-shadow: 0 -16px 34px rgba(15, 23, 42, 0.14);
	}

	.woocommerce-cart .wc-proceed-to-checkout #wc-stripe-express-checkout-element,
	.woocommerce-cart .wc-proceed-to-checkout .alandog-cart-payment-icons {
		display: none !important;
	}

	.woocommerce-cart .wc-proceed-to-checkout .alandog-cart-shipping-progress {
		display: none !important;
	}

	.alandog-sticky-cart-summary {
		margin-bottom: 0;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
	}

	.alandog-sticky-cart-summary__total {
		font-size: 16px;
		line-height: 1.2;
	}

	.alandog-sticky-cart-summary__count {
		font-size: 12px;
		line-height: 1.2;
		text-align: right;
	}

	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
		margin-top: 0;
		min-height: 48px;
		padding: 12px 16px !important;
		border-radius: 14px;
		font-size: 15px;
	}

	body.woocommerce-cart .cart-collaterals {
		padding-bottom: var(--alandog-cart-mobile-sticky-offset, 118px);
		margin-bottom: 0;
	}

	body.woocommerce-cart .cart_totals {
		margin-bottom: 0;
	}
}

@media (max-width: 767px) and (max-height: 720px) {
	.woocommerce-cart .wc-proceed-to-checkout,
	.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
		gap: 8px;
		padding: 8px 14px calc(10px + env(safe-area-inset-bottom, 0px));
	}

	.alandog-sticky-cart-summary__total {
		font-size: 15px;
	}

	.alandog-sticky-cart-summary__count {
		font-size: 11px;
	}

	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
		min-height: 48px;
		padding: 12px 16px !important;
		font-size: 15px;
	}
}

/* FIX-UI-201 */
body.woocommerce-cart .alandog-empty-cart .return-to-shop a.button,body.woocommerce-cart .alandog-empty-cart .return-to-shop a.wc-backward,body.woocommerce-cart .alandog-empty-cart .return-to-shop a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:48px!important;padding:14px 32px!important;background:#E56A2D!important;color:#fff!important;border:1px solid #E56A2D!important;border-radius:12px!important;font-size:16px!important;font-weight:800!important;text-decoration:none!important;text-transform:none!important;box-shadow:0 8px 20px rgba(229,106,45,.25)!important}
body.woocommerce-cart .alandog-empty-cart .return-to-shop a.button:hover,body.woocommerce-cart .alandog-empty-cart .return-to-shop a.wc-backward:hover,body.woocommerce-cart .alandog-empty-cart .return-to-shop a:hover{background:#bf4d17!important;border-color:#bf4d17!important;color:#fff!important}
