/**
 * Access Land -- WooCommerce Blocks Dark Theme
 *
 * Styles for WC Blocks Cart, Checkout, and Mini-Cart drawer.
 * These pages use Gutenberg blocks (NOT classic shortcodes),
 * so they need different CSS selectors than woocommerce.css.
 */

/* ========================================
   Cart Block -- Main Container
   ======================================== */

.wc-block-cart {
	color: var(--al-text-primary);
}

/* Cart items table */
.wc-block-cart-items {
	border: none;
}

.wc-block-cart-items .wc-block-cart-items__row {
	border-bottom: 1px solid var(--al-border);
}

/* Product image in cart -- larger size */
.wc-block-cart-item__image img {
	border-radius: var(--al-radius-md);
	min-width: 80px;
	width: 80px;
	height: 80px;
	object-fit: cover;
}

/* Product name link */
.wc-block-components-product-name {
	color: var(--al-text-primary);
	font-weight: 500;
	text-decoration: none;
}

.wc-block-components-product-name:hover {
	color: var(--al-primary);
}

/* Product metadata (variations, etc.) */
.wc-block-components-product-metadata {
	color: var(--al-text-secondary);
}

.wc-block-components-product-metadata .wc-block-components-product-metadata__description>p {
	color: var(--al-text-secondary);
}

/* Product price */
.wc-block-cart .wc-block-components-product-price {
	color: var(--al-primary);
	font-family: var(--al-font-mono);
	font-weight: 700;
}

/* Remove button */
.wc-block-cart-item__remove-link {
	color: var(--al-text-tertiary);
	font-size: 13px;
}

.wc-block-cart-item__remove-link:hover {
	color: var(--al-accent-error);
}

/* ========================================
   Quantity Selector (Cart + Mini-Cart)
   ======================================== */

.wc-block-components-quantity-selector {
	background: var(--al-bg-tertiary);
	border: 1px solid var(--al-border);
	border-radius: var(--al-radius-md);
}

.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	background: transparent;
	color: var(--al-text-primary);
	font-family: var(--al-font-mono);
	border: none;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	background: transparent;
	color: var(--al-text-secondary);
	border: none;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover {
	color: var(--al-text-primary);
	background: rgba(255, 255, 255, 0.06);
}

/* ========================================
   Cart Totals Sidebar
   ======================================== */

.wc-block-cart__totals-title {
	color: var(--al-text-primary);
	font-weight: 700;
}

/* Order summary rows (subtotal, tax, total) */
.wc-block-components-totals-item {
	color: var(--al-text-primary);
	border-top: 1px solid var(--al-border);
}

.wc-block-components-totals-item__label {
	color: var(--al-text-secondary);
}

.wc-block-components-totals-item__value {
	color: var(--al-text-primary);
	font-family: var(--al-font-mono);
	font-weight: 600;
}

/* Grand total */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--al-primary);
	font-weight: 700;
	font-size: 20px;
}

/* Coupon form */
.wc-block-components-totals-coupon__form .wc-block-components-text-input input {
	background: var(--al-bg-tertiary);
	border: 1px solid var(--al-border);
	color: var(--al-text-primary);
}

.wc-block-components-totals-coupon__button {
	background: var(--al-bg-tertiary);
	color: var(--al-text-primary);
	border: 1px solid var(--al-border);
	border-radius: var(--al-radius-md);
}

.wc-block-components-totals-coupon__button:hover {
	background: var(--al-bg-quaternary);
	border-color: var(--al-border-hover);
}

/* ========================================
   Proceed to Checkout Button (Cart)
   ======================================== */

.wc-block-cart__submit-button {
	background: var(--al-gradient-cta) !important;
	color: var(--al-text-on-primary) !important;
	border: none !important;
	border-radius: var(--al-radius-md) !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	padding: 16px 32px !important;
	transition: all var(--al-transition-normal);
}

.wc-block-cart__submit-button:hover {
	box-shadow: 0 6px 20px rgba(14, 165, 233, 0.35) !important;
	transform: translateY(-1px);
}

/* ========================================
   Cross-sells Section (Cart)
   ======================================== */

.wp-block-woocommerce-cart .cross-sells h2,
.wc-block-cart .wp-block-heading {
	color: var(--al-text-primary);
}

/* ========================================
   Checkout Block -- Main Container
   ======================================== */

.wc-block-checkout {
	color: var(--al-text-primary);
}

/* Section headings */
.wc-block-checkout .wc-block-components-checkout-step__title {
	color: var(--al-text-primary);
}

.wc-block-checkout .wc-block-components-checkout-step__description {
	color: var(--al-text-secondary);
}

/* Step container borders */
.wc-block-checkout .wc-block-components-checkout-step {
	border-color: var(--al-border);
}

.wc-block-checkout .wc-block-components-checkout-step::after {
	border-color: var(--al-border);
}

/* ========================================
   Text Inputs (Checkout + Cart Coupon)
   ======================================== */

.wc-block-components-text-input input,
.wc-block-components-text-input textarea {
	background: var(--al-bg-tertiary) !important;
	border: 1px solid var(--al-border) !important;
	color: var(--al-text-primary) !important;
	border-radius: var(--al-radius-md) !important;
	font-family: var(--al-font-body);
}

.wc-block-components-text-input input:focus,
.wc-block-components-text-input textarea:focus {
	border-color: var(--al-primary) !important;
	box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.15) !important;
	outline: none;
}

/* Floating labels */
.wc-block-components-text-input label {
	color: var(--al-text-tertiary);
}

.wc-block-components-text-input.is-active label {
	color: var(--al-text-secondary);
}

/* Browser autofill override */
.wc-block-components-text-input input:-webkit-autofill,
.wc-block-components-text-input input:-webkit-autofill:hover,
.wc-block-components-text-input input:-webkit-autofill:focus {
	-webkit-text-fill-color: var(--al-text-primary);
	-webkit-box-shadow: 0 0 0px 1000px var(--al-bg-tertiary) inset;
	transition: background-color 5000s ease-in-out 0s;
}

/* Combobox / select dropdown */
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
	background: var(--al-bg-tertiary) !important;
	border: 1px solid var(--al-border) !important;
	color: var(--al-text-primary) !important;
	border-radius: var(--al-radius-md) !important;
}

.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus {
	border-color: var(--al-primary) !important;
	box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.15) !important;
}

/* Combobox dropdown list */
.components-form-token-field__suggestions-list {
	background: var(--al-bg-secondary);
	border: 1px solid var(--al-border);
	border-radius: var(--al-radius-md);
	box-shadow: var(--al-shadow-lg);
}

.components-form-token-field__suggestion {
	color: var(--al-text-primary);
}

.components-form-token-field__suggestion.is-selected {
	background: var(--al-primary);
	color: var(--al-text-on-primary);
}

/* ========================================
   Radio Controls (Payment methods, Shipping)
   ======================================== */

.wc-block-components-radio-control .wc-block-components-radio-control__option {
	color: var(--al-text-primary);
	border-bottom: 1px solid var(--al-border);
}

.wc-block-components-radio-control .wc-block-components-radio-control__label {
	color: var(--al-text-primary);
}

.wc-block-components-radio-control .wc-block-components-radio-control__description {
	color: var(--al-text-secondary);
}

.wc-block-components-radio-control .wc-block-components-radio-control__secondary-label {
	color: var(--al-text-secondary);
}

/* Radio button custom styling */
.wc-block-components-radio-control__input {
	border-color: var(--al-border-hover);
}

.wc-block-components-radio-control__input:checked {
	border-color: var(--al-primary);
	background: var(--al-primary);
}

/* ========================================
   Checkbox Controls
   ======================================== */

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	border-color: var(--al-border-hover);
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	background: var(--al-primary);
	border-color: var(--al-primary);
}

.wc-block-components-checkbox .wc-block-components-checkbox__label {
	color: var(--al-text-secondary);
}

/* ========================================
   Checkout Order Summary Sidebar
   ======================================== */

.wc-block-components-order-summary {
	border: none;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item {
	border-bottom: 1px solid var(--al-border);
}

/* Order summary product image -- larger */
.wc-block-components-order-summary-item__image img {
	border-radius: var(--al-radius-md);
	min-width: 64px;
	width: 64px;
	height: 64px;
	object-fit: cover;
}

.wc-block-components-order-summary-item__description .wc-block-components-product-name {
	color: var(--al-text-primary);
}

.wc-block-components-order-summary-item__total-price {
	color: var(--al-primary);
	font-family: var(--al-font-mono);
	font-weight: 600;
}

.wc-block-components-order-summary-item__individual-price {
	color: var(--al-text-tertiary);
}

/* ========================================
   Place Order Button (Checkout)
   ======================================== */

.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout-actions-block .wc-block-components-button {
	background: var(--al-gradient-cta) !important;
	color: var(--al-text-on-primary) !important;
	border: none !important;
	border-radius: var(--al-radius-md) !important;
	font-weight: 700 !important;
	font-size: 18px !important;
	padding: 16px 32px !important;
	transition: all var(--al-transition-normal);
}

.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-checkout-actions-block .wc-block-components-button:hover {
	box-shadow: 0 6px 20px rgba(14, 165, 233, 0.35) !important;
	transform: translateY(-1px);
}

/* Trust text below Place Order */
.wp-block-woocommerce-checkout-actions-block::after {
	content: '\1F512  Secure checkout \00B7  Instant delivery \00B7  Buyer protection';
	display: block;
	text-align: center;
	color: var(--al-text-tertiary);
	font-size: 12px;
	margin-top: 12px;
}

/* "Return to cart" link on checkout */
.wc-block-components-checkout-return-to-cart-button {
	color: var(--al-text-secondary);
}

.wc-block-components-checkout-return-to-cart-button:hover {
	color: var(--al-primary);
}

/* ========================================
   Payment Method Area
   ======================================== */

.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
	border-color: var(--al-border);
}

.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content {
	background: var(--al-bg-tertiary);
	color: var(--al-text-secondary);
}

/* ========================================
   Notices / Validation Errors
   ======================================== */

.wc-block-components-notice-banner {
	border-radius: var(--al-radius-md);
}

.wc-block-components-notice-banner.is-error {
	background: rgba(244, 63, 94, 0.1);
	border-left: 4px solid var(--al-accent-error);
	color: var(--al-text-primary);
}

.wc-block-components-notice-banner.is-success {
	background: rgba(16, 185, 129, 0.1);
	border-left: 4px solid var(--al-accent-success);
	color: var(--al-text-primary);
}

.wc-block-components-notice-banner.is-info,
.wc-block-components-notice-banner.is-warning {
	background: rgba(14, 165, 233, 0.1);
	border-left: 4px solid var(--al-primary);
	color: var(--al-text-primary);
}

.wc-block-components-validation-error {
	color: var(--al-accent-error);
}

/* ========================================
   Shipping Calculator
   ======================================== */

.wc-block-components-shipping-calculator-address {
	background: var(--al-bg-tertiary);
	border-radius: var(--al-radius-md);
	padding: 16px;
}

.wc-block-components-shipping-calculator-address .wc-block-components-button {
	background: var(--al-primary);
	color: var(--al-text-on-primary);
	border-radius: var(--al-radius-md);
}

/* ========================================
   Loading Skeleton
   ======================================== */

.wc-block-components-loading-mask::after {
	background: var(--al-bg-secondary);
}

/* ========================================
   Empty Cart
   ======================================== */

.wc-block-cart__empty-cart__title {
	color: var(--al-text-primary);
}

.wp-block-woocommerce-empty-cart-block {
	color: var(--al-text-secondary);
}

.wp-block-woocommerce-empty-cart-block .wp-block-button__link {
	background: var(--al-primary);
	color: var(--al-text-on-primary);
	border-radius: var(--al-radius-md);
}

/* ========================================
   Mini-Cart Drawer
   ======================================== */

/* Drawer backdrop */
.wc-block-mini-cart__drawer .components-modal__screen-overlay,
.wc-block-mini-cart__drawer .wc-block-components-drawer__screen-overlay {
	background: rgba(0, 0, 0, 0.6);
}

/* Drawer panel -- override white default */
.wc-block-mini-cart__drawer .wc-block-mini-cart__template-part,
.wp-block-woocommerce-mini-cart-contents,
.wc-block-mini-cart__drawer .components-modal__content {
	background: var(--al-bg-secondary) !important;
	color: var(--al-text-primary);
}

/* Drawer title */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title,
.wc-block-mini-cart__drawer h2 {
	color: var(--al-text-primary);
	font-weight: 700;
}

/* Close button */
.wc-block-mini-cart__drawer .components-modal__header button,
.wc-block-mini-cart__drawer .wc-block-mini-cart__close-button {
	color: var(--al-text-secondary);
}

.wc-block-mini-cart__drawer .components-modal__header button:hover,
.wc-block-mini-cart__drawer .wc-block-mini-cart__close-button:hover {
	color: var(--al-text-primary);
}

/* Mini-cart items */
.wc-block-mini-cart__items .wc-block-components-product-name {
	color: var(--al-text-primary);
}

.wc-block-mini-cart__items .wc-block-components-product-price {
	color: var(--al-primary);
	font-family: var(--al-font-mono);
	font-weight: 600;
}

.wc-block-mini-cart__items .wc-block-components-product-metadata {
	color: var(--al-text-secondary);
}

/* Mini-cart product image */
.wc-block-mini-cart__items .wc-block-cart-item__image img {
	border-radius: var(--al-radius-sm);
	min-width: 56px;
	width: 56px;
	height: 56px;
}

/* Mini-cart item borders */
.wc-block-mini-cart__items .wc-block-mini-cart__products-table .wc-block-cart-items__row {
	border-bottom: 1px solid var(--al-border);
	padding: 16px 0;
}

/* Mini-cart remove link */
.wc-block-mini-cart__items .wc-block-cart-item__remove-link {
	color: var(--al-text-tertiary);
	font-size: 12px;
}

.wc-block-mini-cart__items .wc-block-cart-item__remove-link:hover {
	color: var(--al-accent-error);
}

/* Mini-cart footer (totals + buttons) */
.wc-block-mini-cart__footer {
	background: var(--al-bg-secondary);
	border-top: 1px solid var(--al-border);
	padding: 16px 24px;
}

.wc-block-mini-cart__footer .wc-block-mini-cart__footer-subtotal {
	color: var(--al-text-secondary);
}

.wc-block-mini-cart__footer .wc-block-components-totals-item__value {
	color: var(--al-primary);
	font-family: var(--al-font-mono);
	font-weight: 700;
}

/* Mini-cart footer buttons */
.wc-block-mini-cart__footer-actions {
	display: flex;
	gap: 12px;
}

.wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-cart {
	background: var(--al-bg-tertiary);
	color: var(--al-text-primary);
	border: 1px solid var(--al-border);
	border-radius: var(--al-radius-md);
	font-weight: 600;
	padding: 12px 24px;
	text-decoration: none;
	text-align: center;
}

.wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-cart:hover {
	background: var(--al-bg-quaternary);
	border-color: var(--al-border-hover);
}

.wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-checkout {
	background: var(--al-gradient-cta);
	color: var(--al-text-on-primary);
	border: none;
	border-radius: var(--al-radius-md);
	font-weight: 700;
	padding: 12px 24px;
	text-decoration: none;
	text-align: center;
}

.wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-checkout:hover {
	box-shadow: 0 4px 16px rgba(14, 165, 233, 0.35);
}

/* Mini-cart empty state */
.wc-block-mini-cart__drawer .wc-block-mini-cart__empty-cart-wrapper {
	color: var(--al-text-secondary);
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__empty-cart-wrapper h2 {
	color: var(--al-text-primary);
}

/* ========================================
   Mini-Cart Badge (Header Icon)
   ======================================== */

.wc-block-mini-cart__badge {
	background: var(--al-primary);
	color: var(--al-text-on-primary);
	font-weight: 700;
}

/* ========================================
   Shared Components (Links, Buttons)
   ======================================== */

/* Generic WC Block buttons */
.wc-block-components-button:not(.is-link) {
	border-radius: var(--al-radius-md);
	font-weight: 600;
	font-family: var(--al-font-body);
	transition: all var(--al-transition-normal);
}

/* Chip/tag components */
.wc-block-components-chip {
	background: var(--al-bg-tertiary);
	color: var(--al-text-primary);
	border: 1px solid var(--al-border);
	border-radius: var(--al-radius-sm);
}

.wc-block-components-chip__remove {
	color: var(--al-text-tertiary);
}

.wc-block-components-chip__remove:hover {
	color: var(--al-accent-error);
}

/* Sidebar panel (checkout totals) */
.wc-block-components-sidebar .wc-block-components-panel {
	border-color: var(--al-border);
}

.wc-block-components-panel__button {
	color: var(--al-text-primary);
}

/* Express payment divider */
.wc-block-components-express-payment--cart .wc-block-components-express-payment__title-container,
.wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container {
	color: var(--al-text-tertiary);
}

.wc-block-components-express-payment--cart .wc-block-components-express-payment__title-container::before,
.wc-block-components-express-payment--cart .wc-block-components-express-payment__title-container::after,
.wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::before,
.wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::after {
	border-color: var(--al-border);
}

/* ========================================
   Dark Mode Inputs Enhancement
   ======================================== */

/* When .has-dark-controls is added (block editor toggle) */
.has-dark-controls .wc-block-components-text-input input,
.has-dark-controls .wc-block-components-text-input textarea {
	background: var(--al-bg-tertiary) !important;
	border-color: var(--al-border) !important;
	color: var(--al-text-primary) !important;
}

/* ========================================
   Responsive: Tablet
   ======================================== */

@media (max-width: 1024px) {
	.wc-block-cart-item__image img {
		min-width: 64px;
		width: 64px;
		height: 64px;
	}
}

/* ========================================
   Responsive: Mobile
   ======================================== */

/* ========================================
   Cart/Checkout Inner Content Padding
   ======================================== */

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	padding-left: 24px;
	padding-right: 24px;
}

/* Order summary sidebar -- ensure inner padding */
.wc-block-components-order-summary,
.wc-block-components-totals-wrapper,
.wc-block-components-totals-coupon,
.wc-block-components-totals-item,
.wc-block-components-totals-footer-item {
	padding-left: 8px;
	padding-right: 8px;
}

/* Checkout sidebar panel */
.wp-block-woocommerce-checkout-order-summary-block {
	padding-left: 16px;
	padding-right: 16px;
}


@media (max-width: 767px) {
	.wp-block-woocommerce-cart,
	.wp-block-woocommerce-checkout {
		padding-left: 16px;
		padding-right: 16px;
	}

	.wc-block-cart__submit-button {
		font-size: 14px !important;
		padding: 14px 24px !important;
	}

	.wc-block-components-checkout-place-order-button,
	.wp-block-woocommerce-checkout-actions-block .wc-block-components-button {
		font-size: 16px !important;
		padding: 14px 24px !important;
	}

	.wc-block-components-order-summary-item__image img {
		min-width: 48px;
		width: 48px;
		height: 48px;
	}

	/* Stack mini-cart footer buttons */
	.wc-block-mini-cart__footer-actions {
		flex-direction: column;
	}
}
