/* ==========================================================================
   Cart + Checkout — WooCommerce Blocks (Gutenberg) styled for the dark theme,
   plus classic shortcode fallback and the P2P payment panels.
   ========================================================================== */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { --h7-field-bg: rgba(4, 12, 34, .75); color: var(--text); font-family: var(--font); }
.wc-block-components-sidebar-layout { margin-left: 0 !important; margin-right: 0 !important; }
.wc-block-components-sidebar .wc-block-components-panel, .wc-block-components-sidebar > div, .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
	border-color: var(--line) !important;
}
.wp-block-woocommerce-checkout-order-summary-block, .wp-block-woocommerce-cart-totals-block {
	background: linear-gradient(180deg, rgba(14, 31, 69, .65), rgba(6, 17, 41, .75)) !important;
	border: 1px solid var(--line-2) !important; border-radius: var(--r-lg) !important; padding: 8px 20px 20px !important;
}
.wc-block-checkout__sidebar.is-sticky, .wc-block-cart__sidebar { top: calc(var(--header-h) + 20px) !important; }

/* Headings & text */
.wc-block-components-title, .wc-block-components-checkout-step__title, .wc-block-cart__totals-title, .wc-block-components-order-summary__button-text { font-family: var(--font) !important; font-stretch: 110%; font-weight: 620 !important; color: #fff !important; letter-spacing: -.01em; text-transform: none !important; }
.wc-block-cart__totals-title { font-size: 18px !important; padding: 14px 0 6px !important; }
.wc-block-components-checkout-step__title { font-size: 20px !important; }
.wc-block-components-checkout-step__description, .wc-block-components-checkout-step__heading-content, .wc-block-components-product-metadata, .wc-block-components-address-card, .wc-block-checkout__terms, .wc-block-components-totals-item__description { color: var(--muted) !important; }
.wc-block-components-checkout-step { padding-bottom: 8px !important; }
.wc-block-components-checkout-step::after { background: var(--line-2) !important; }
.wc-block-components-checkout-step__container::after { background: var(--line) !important; }
.wc-block-checkout__form .wc-block-components-checkout-step { border: 1px solid var(--line); border-radius: var(--r-lg); padding: 22px 22px 14px !important; margin: 0 0 18px !important; background: rgba(10, 23, 52, .45); }
.wc-block-checkout__form .wc-block-components-checkout-step::after { display: none; }
.wc-block-checkout__form .wc-block-components-checkout-step__heading { margin-top: 0 !important; }
.wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__title::before { color: var(--flare) !important; }

/* Text inputs */
.wc-block-components-text-input input[type], .wc-block-components-text-input textarea, .wc-block-components-textarea, .wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
	background: var(--h7-field-bg) !important; border: 1px solid var(--line-2) !important; border-radius: var(--r-sm) !important; color: var(--text) !important; box-shadow: none !important; font-family: var(--font) !important; min-height: 52px;
}
.wc-block-components-text-input input:focus, .wc-block-components-textarea:focus, .wc-block-components-combobox .wc-block-components-combobox-control input:focus {
	border-color: var(--flare) !important; box-shadow: 0 0 0 4px rgba(61, 155, 255, .16) !important; outline: 0 !important;
}
.wc-block-components-text-input label, .wc-block-components-combobox .wc-block-components-combobox-control label, .wc-blocks-components-select__label { color: var(--muted) !important; font-family: var(--font) !important; }
.wc-block-components-text-input.is-active label, .wc-block-components-text-input input:focus + label { color: var(--flare) !important; }
.wc-block-components-text-input input:-webkit-autofill { -webkit-box-shadow: 0 0 0 100px #0A1734 inset !important; -webkit-text-fill-color: var(--text) !important; caret-color: var(--text); }
.wc-block-components-text-input.has-error input, .wc-block-components-combobox.has-error input { border-color: var(--bad) !important; }
.wc-block-components-validation-error, .wc-block-components-validation-error > p { color: var(--bad) !important; }

/* Selects */
.wc-blocks-components-select .wc-blocks-components-select__container { background: var(--h7-field-bg) !important; border: 1px solid var(--line-2) !important; border-radius: var(--r-sm) !important; min-height: 52px; }
.wc-blocks-components-select .wc-blocks-components-select__select { color: var(--text) !important; background: transparent !important; font-family: var(--font) !important; }
.wc-blocks-components-select .wc-blocks-components-select__select option { background: #0A1734; color: var(--text); }
.wc-blocks-components-select .wc-blocks-components-select__expand { fill: var(--muted) !important; }
.wc-blocks-components-select .wc-blocks-components-select__container:focus-within { border-color: var(--flare) !important; box-shadow: 0 0 0 4px rgba(61, 155, 255, .16); }
.components-form-token-field__suggestions-list, .wc-block-components-combobox .components-form-token-field__suggestions-list { background: #0A1734 !important; border-color: var(--line-2) !important; }
.components-form-token-field__suggestion { color: var(--text) !important; }
.components-form-token-field__suggestion.is-selected { background: var(--cobalt) !important; }

/* Checkboxes */
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] { background: var(--h7-field-bg) !important; border: 1.5px solid var(--line-2) !important; border-radius: 6px !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--cobalt) !important; border-color: var(--flare) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: #fff !important; }
.wc-block-components-checkbox label { color: var(--chrome); }

/* Radio options: shipping + payment */
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option, .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__option {
	border: 1px solid var(--line-2) !important; border-radius: var(--r) !important; background: rgba(4, 12, 34, .55) !important; margin-bottom: 10px !important; box-shadow: none !important; transition: border-color .2s, background-color .2s;
}
.wc-block-components-radio-control--highlight-checked::after, .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option::after { display: none !important; }
.wc-block-components-radio-control__option-checked, .wc-block-components-radio-control-accordion-option:has(.wc-block-components-radio-control__option-checked), .wc-block-components-radio-control__option:has(input:checked) {
	border-color: var(--flare) !important; background: rgba(7, 102, 199, .16) !important; box-shadow: 0 0 0 3px rgba(61, 155, 255, .12) !important;
}
.wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option { border: 0 !important; background: transparent !important; margin: 0 !important; box-shadow: none !important; }
.wc-block-components-radio-control__input { background: var(--h7-field-bg) !important; border: 1.5px solid var(--line-2) !important; }
.wc-block-components-radio-control__input:checked { border-color: var(--flare) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--flare) !important; }
.wc-block-components-radio-control__label, .wc-block-components-radio-control__secondary-label { color: var(--text) !important; font-weight: 560; }
.wc-block-components-radio-control__description, .wc-block-components-radio-control__secondary-description { color: var(--muted) !important; }
.wc-block-components-radio-control-accordion-content { color: var(--muted); padding-top: 0 !important; }
.wc-block-checkout__no-payment-methods-notice { color: var(--muted); }

/* Buttons */
.wc-block-components-button:not(.is-link):not(.wc-block-components-panel__button), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .wc-block-components-totals-coupon__button {
	background: var(--grad-btn) !important; color: #fff !important; border: 1px solid rgba(61, 155, 255, .55) !important; border-radius: var(--r-sm) !important; font-family: var(--font) !important; font-weight: 640 !important; min-height: 54px; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 10px 26px -12px rgba(7, 102, 199, .95) !important; text-decoration: none !important; transition: box-shadow .25s, transform .2s;
}
.wc-block-components-button:not(.is-link):hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), var(--glow) !important; }
.wc-block-components-button:not(.is-link):disabled { opacity: .5; }
.wc-block-components-totals-coupon__button { min-height: 52px; }
.wc-block-components-button.is-link, .wc-block-components-checkout-return-to-cart-button, .wc-block-components-totals-coupon-link { color: var(--flare) !important; }
.wc-block-components-checkout-return-to-cart-button svg { fill: var(--flare); }
.wc-block-components-checkout-place-order-button__text { font-size: 16px; }

/* Totals */
.wc-block-components-totals-wrapper { border-top-color: var(--line) !important; }
.wc-block-components-totals-item__label { color: var(--muted) !important; }
.wc-block-components-totals-item__value, .wc-block-components-formatted-money-amount { color: var(--text) !important; font-variant-numeric: tabular-nums; font-weight: 600; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label { color: #fff !important; font-size: 17px !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value .wc-block-components-formatted-money-amount { font-size: 24px !important; font-stretch: 110%; }
.wc-block-components-totals-discount .wc-block-components-totals-item__value, .wc-block-components-totals-discount .wc-block-components-formatted-money-amount { color: var(--ok) !important; }
.wc-block-components-chip, .wc-block-components-totals-discount__coupon-list-item { background: rgba(62, 214, 160, .12) !important; color: var(--ok) !important; border: 1px solid rgba(62, 214, 160, .3) !important; border-radius: 99px !important; }
.wc-block-components-chip__remove-icon { fill: currentColor !important; }
.wc-block-components-panel__button { color: var(--text) !important; font-family: var(--font) !important; font-weight: 560; }
.wc-block-components-panel__button-icon { fill: var(--muted) !important; }

/* Cart items (block) */
.wc-block-cart-items { border-color: var(--line) !important; }
.wc-block-cart-items th, .wc-block-cart-items__header { color: var(--dim) !important; font-size: 12.5px !important; font-weight: 560 !important; border-color: var(--line) !important; }
.wc-block-cart-items .wc-block-cart-items__row { border-color: var(--line) !important; }
.wc-block-cart-items td { border-top-color: var(--line) !important; }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img { background: radial-gradient(closest-side, rgba(61, 155, 255, .35), transparent), #0A1836; border-radius: 12px; padding: 4px; }
.wc-block-components-product-name { color: #fff !important; font-weight: 620 !important; font-size: 17px !important; text-decoration: none !important; }
.wc-block-components-product-details { color: var(--flare); font-size: 13.5px; }
.wc-block-components-product-price, .wc-block-cart-item__total { color: var(--text); font-weight: 600; }
.wc-block-components-product-price__regular { color: var(--dim) !important; }
.wc-block-components-sale-badge { background: rgba(226, 71, 90, .15) !important; border: 1px solid rgba(226, 71, 90, .5) !important; color: #FF8A9A !important; border-radius: var(--r-xs) !important; }
.wc-block-components-quantity-selector { border: 1px solid var(--line-2) !important; border-radius: var(--r-sm) !important; background: var(--h7-field-bg) !important; }
.wc-block-components-quantity-selector::after { display: none !important; }
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input { color: var(--text) !important; background: transparent !important; font-weight: 600; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { color: var(--muted) !important; background: transparent !important; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover { color: #fff !important; }
.wc-block-cart-item__remove-link { color: var(--dim) !important; font-size: 13px !important; }
.wc-block-cart-item__remove-link:hover { color: var(--bad) !important; }
.wc-block-components-order-summary-item__quantity { background: var(--cobalt) !important; color: #fff !important; border: 2px solid #0A1734 !important; box-shadow: none !important; }
.wc-block-components-order-summary-item__description { color: var(--muted); }
.wc-block-components-order-summary-item__individual-prices { color: var(--dim); }
.wp-block-woocommerce-empty-cart-block { text-align: center; padding: 40px 0; }
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title { color: #fff; font-family: var(--font); font-stretch: 112%; }
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title::before { background-color: var(--flare) !important; }
.wp-block-woocommerce-cart-cross-sells-block .wp-block-heading, .wp-block-woocommerce-empty-cart-block .wp-block-heading { color: #fff; font-family: var(--font); }
.wp-block-woocommerce-cart .wc-block-grid__product, .wp-block-woocommerce-empty-cart-block .wc-block-grid__product { border: 1px solid var(--line); border-radius: var(--r-lg); padding: 14px; background: rgba(10, 23, 52, .5); }
.wc-block-grid__product-title { color: #fff !important; }
.wc-block-grid__product-add-to-cart .wp-block-button__link { background: var(--grad-btn) !important; color: #fff !important; border-radius: var(--r-sm) !important; }
.wc-block-components-address-card { border-color: var(--line-2) !important; border-radius: var(--r) !important; background: rgba(4, 12, 34, .55) !important; }
.wc-block-components-address-card__edit { color: var(--flare) !important; }
.wc-block-components-spinner::after { border-color: var(--flare) var(--flare) transparent !important; }
.wc-block-components-loading-mask__children { opacity: .5; }
.wc-block-components-express-payment-continue-rule { color: var(--dim) !important; }
.wc-block-components-express-payment-continue-rule::before, .wc-block-components-express-payment-continue-rule::after { border-color: var(--line) !important; }
.wc-block-checkout__actions_row { gap: 12px; }
.wc-block-components-notice-banner > svg { fill: var(--flare) !important; background: transparent !important; }
.wc-block-components-notice-banner.is-error > svg { fill: var(--bad) !important; }
.wc-block-components-notice-banner .wc-block-components-button.is-link { color: var(--flare) !important; }

/* P2P (block + classic) */
.h7-p2p { display: grid; gap: 12px; padding: 4px 0 6px; }
.h7-p2p__desc { color: var(--muted); margin: 0; font-size: 14.5px; }
.h7-p2p__to, .h7-p2p__amount { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; padding: 14px 16px; border-radius: var(--r); background: rgba(3, 10, 28, .6); border: 1px solid var(--line); }
.h7-p2p__to span, .h7-p2p__amount span { color: var(--muted); font-size: 13.5px; }
.h7-p2p__to strong { font-size: 17px; letter-spacing: .01em; color: #fff; }
.h7-p2p__to small { flex-basis: 100%; color: var(--muted); }
.h7-p2p__amount strong { font-size: 17px; color: #fff; font-variant-numeric: tabular-nums; }
.h7-p2p__hint { color: var(--dim); font-size: 13px; margin: 0; }
.h7-p2p .wc-block-components-text-input { margin-top: 4px; }
.h7-p2p-label { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; }
.h7-p2p-label__dot { width: 22px; height: 22px; border-radius: 6px; flex: none; }
.h7-p2p-label--h7_venmo .h7-p2p-label__dot { background: #3D95CE; }
.h7-p2p-label--h7_zelle .h7-p2p-label__dot { background: #6D1ED4; }
.h7-p2p-label--h7_cashapp .h7-p2p-label__dot { background: #00D64F; }

/* Classic checkout / cart fallback (if shortcodes are used instead of blocks) */
.woocommerce-checkout .h7-wc-page form.checkout { display: grid; grid-template-columns: 1.3fr 1fr; gap: 32px; align-items: start; }
.woocommerce-checkout .h7-wc-page #customer_details, .woocommerce-checkout .h7-wc-page .col2-set { grid-column: 1; }
.woocommerce-checkout .h7-wc-page #order_review_heading, .woocommerce-checkout .h7-wc-page #order_review { grid-column: 2; }
.woocommerce-checkout .h7-wc-page #order_review { padding: 22px; border-radius: var(--r-lg); border: 1px solid var(--line-2); background: rgba(10, 23, 52, .6); grid-row: 2 / span 3; }
.woocommerce-checkout .h7-wc-page h3 { font-size: 20px; margin: 0 0 14px; }
.h7-wc-page #payment ul.payment_methods { list-style: none; padding: 0; margin: 0 0 16px; display: grid; gap: 10px; }
.h7-wc-page #payment li.wc_payment_method { padding: 14px 16px; border-radius: var(--r); border: 1px solid var(--line-2); }
.h7-wc-page #payment .payment_box { margin-top: 10px; color: var(--muted); }
.h7-wc-page #place_order { width: 100%; min-height: 54px; }
.h7-wc-page .woocommerce-shipping-methods { list-style: none; padding: 0; margin: 0; }
.h7-rate-note { color: var(--muted); font-size: 13px; margin: 4px 0 0 26px; }
.h7-wc-page .coupon { display: flex; gap: 8px; }
.h7-wc-page table.cart img { width: 64px; border-radius: 10px; background: #0A1836; }
.h7-wc-page .cart_totals { margin-top: 24px; padding: 22px; border-radius: var(--r-lg); border: 1px solid var(--line-2); }
@media (max-width: 900px) { .woocommerce-checkout .h7-wc-page form.checkout { grid-template-columns: 1fr; } .woocommerce-checkout .h7-wc-page #order_review, .woocommerce-checkout .h7-wc-page #order_review_heading { grid-column: 1; grid-row: auto; } }

/* Shipping / payment option list: one clean card per option, even spacing, no WC separators */
.wc-block-components-radio-control { display: grid; gap: 10px; }
.wc-block-components-radio-control > .wc-block-components-radio-control__option,
.wc-block-components-radio-control > .wc-block-components-radio-control-accordion-option { margin: 0 !important; }
.wc-block-components-radio-control__option::after, .wc-block-components-radio-control__option::before,
.wc-block-components-radio-control-accordion-option::after, .wc-block-components-radio-control-accordion-option::before { display: none !important; content: none !important; }
.wc-block-components-radio-control--highlight-checked { border: 0 !important; box-shadow: none !important; }
.wc-block-components-radio-control__option { padding-top: 16px !important; padding-bottom: 16px !important; min-height: 0 !important; }
.wc-block-components-shipping-rates-control__package { border: 0 !important; padding: 0 !important; }
