/* ================================
 * Checkout (WooCommerce)
 * - Supports both Classic checkout and WooCommerce Blocks checkout
 * - Styling only (no logic changes)
 * ================================ */

body.woocommerce-checkout .wp-site-blocks {
	background: var(--wp--preset--color--base);
}

/* ========================================================================
   FINAL MOBILE PREVIEW OVERRIDES
   Source of truth: mobile-preview-cart.php + mobile-preview-checkout.php
   ======================================================================== */
@media (max-width: 768px) {
    body.woocommerce-checkout {
        background: #f7f7f8 !important;
    }

    body.woocommerce-checkout .prb-checkout-page-shell {
        background: #f7f7f8 !important;
        min-height: 100dvh !important;
    }

    body.woocommerce-checkout .prb-checkout-page-header,
    body.woocommerce-checkout .m-co-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 100 !important;
        background: #fff !important;
        padding: 16px 16px 12px !important;
        text-align: center !important;
        border-bottom: 1px solid #e5e7eb !important;
    }

    body.woocommerce-checkout .prb-checkout-page-header__brand,
    body.woocommerce-checkout .m-co-header__brand {
        display: inline-flex !important;
        align-items: center !important;
        gap: 12px !important;
    }

    body.woocommerce-checkout .prb-checkout-page-header__logo,
    body.woocommerce-checkout .m-co-header__logo {
        width: 44px !important;
        height: auto !important;
    }

    body.woocommerce-checkout .prb-checkout-page-header__title,
    body.woocommerce-checkout .m-co-header__title {
        font-size: 22px !important;
        font-weight: 800 !important;
        color: #111827 !important;
        letter-spacing: -0.01em !important;
    }

    body.woocommerce-checkout .prb-checkout-page-header__divider {
        display: none !important;
    }

    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wc-block-checkout__sidebar,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
    }

    body.woocommerce-checkout .wc-block-components-sidebar,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
        margin: 12px 12px 0 !important;
        background: #fff !important;
        border-radius: 14px !important;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
        overflow: hidden !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block {
        margin: 12px 12px 0 !important;
        padding: 16px !important;
        background: #fff !important;
        border-radius: 14px !important;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
        min-height: 0 !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block .wc-block-components-express-payment__event-buttons,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block .wc-block-components-express-payment__event-buttons > *,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block .ppc-button-wrapper,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block .paypal-buttons,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block iframe {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 50px !important;
        margin: 0 !important;
    }

    body.woocommerce-checkout .prb-checkout-express-copy {
        margin: 10px 12px 0 !important;
        padding: 0 !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__note,
    body.woocommerce-checkout .m-co-express__note {
        text-align: center !important;
        margin-top: 10px !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        color: #111827 !important;
        line-height: 1.45 !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__subnote,
    body.woocommerce-checkout .m-co-express__subnote {
        display: block !important;
        margin-top: 2px !important;
        font-size: 11px !important;
        font-weight: 400 !important;
        color: #6b7280 !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__or,
    body.woocommerce-checkout .m-or {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        margin: 14px 12px !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        letter-spacing: 0.16em !important;
        color: #9ca3af !important;
        text-transform: uppercase !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__or::before,
    body.woocommerce-checkout .prb-checkout-fast-checkout__or::after,
    body.woocommerce-checkout .m-or::before,
    body.woocommerce-checkout .m-or::after {
        content: "" !important;
        flex: 1 !important;
        height: 2px !important;
        background: #e5e7eb !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__or span,
    body.woocommerce-checkout .m-or span {
        display: inline-block !important;
    }

    body.woocommerce-checkout .wc-block-components-checkout-step,
    body.woocommerce-checkout .wc-block-checkout__shipping-fields,
    body.woocommerce-checkout .wc-block-checkout__contact-fields,
    body.woocommerce-checkout .wc-block-checkout__shipping-methods-block,
    body.woocommerce-checkout .wc-block-checkout__payment-method,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-address-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-contact-information-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block {
        margin: 0 12px 12px !important;
        padding: 18px 16px !important;
        background: #fff !important;
        border-radius: 14px !important;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
        border: 0 !important;
    }

    body.woocommerce-checkout .wc-block-components-checkout-step__heading {
        margin-bottom: 14px !important;
    }

    body.woocommerce-checkout .wc-block-components-text-input input,
    body.woocommerce-checkout .wc-block-components-text-input textarea,
    body.woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input,
    body.woocommerce-checkout .wc-block-components-select .wc-block-components-select__select {
        min-height: 48px !important;
        padding: 12px 14px !important;
        border: 1.5px solid #e5e7eb !important;
        border-radius: 8px !important;
        background: #fff !important;
        font-size: 16px !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block {
        margin: 0 12px 12px !important;
        padding: 16px !important;
        background: #fff !important;
        border-radius: 14px !important;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
    }

    body.woocommerce-checkout .prb-pay-card-button-note {
        margin-top: 10px !important;
        text-align: center !important;
        font-size: 12px !important;
        line-height: 1.45 !important;
        color: #6b7280 !important;
    }
}

body.woocommerce-checkout.prb-checkout-template {
	background: #fff;
}

body.woocommerce-checkout .prb-checkout-page-shell {
	min-height: 100vh;
}

body.woocommerce-checkout .prb-checkout-page-header {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 28px 24px 20px;
}

body.woocommerce-checkout .prb-checkout-page-header__brand {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	text-decoration: none;
	color: #111827;
}

body.woocommerce-checkout .prb-checkout-page-header__logo {
	width: 72px;
	height: auto;
	display: block;
}

body.woocommerce-checkout .prb-checkout-page-header__title {
	font-size: 32px;
	line-height: 1.1;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: #111827;
}

body.woocommerce-checkout .prb-checkout-page-header__divider {
	margin: 0 0 24px;
	border: 0;
	border-top: 1px solid #e5e7eb;
}

body.woocommerce-checkout .prb-checkout-page-main {
	padding-bottom: 24px;
}

@media (max-width: 640px) {
	body.woocommerce-checkout .prb-checkout-page-header {
		padding: 20px 16px 16px;
	}

	body.woocommerce-checkout .prb-checkout-page-header__brand {
		gap: 12px;
	}

	body.woocommerce-checkout .prb-checkout-page-header__logo {
		width: 56px;
	}

	body.woocommerce-checkout .prb-checkout-page-header__title {
		font-size: 24px;
	}

	body.woocommerce-checkout .prb-checkout-page-header__divider {
		margin-bottom: 18px;
	}
}

/* Global mobile rule: remove pink nav strip on all pages (iOS + Android) */
@media (max-width: 768px) {
    html body .books-nav-bar,
    html body .books-header-sticky > .books-nav-bar,
    html body .books-header .books-nav-bar {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        max-height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
    }
}

body.woocommerce-checkout :is(.woocommerce, .wc-block-checkout) {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}

/* ---------- Classic checkout layout ---------- */
body.woocommerce-checkout form.woocommerce-checkout {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 18px;
	align-items: start;
}

@media (max-width: 900px) {
	body.woocommerce-checkout form.woocommerce-checkout {
		grid-template-columns: 1fr;
	}
}

body.woocommerce-checkout :is(#customer_details, #order_review) {
	background: var(--wp--preset--color--base-2);
	border: 1px solid var(--wp--preset--color--contrast-3);
	border-radius: 14px;
	padding: 16px;
}

body.woocommerce-checkout .woocommerce-checkout h3 {
	margin: 0 0 12px;
	font-size: 16px;
	font-weight: 800;
	color: var(--wp--preset--color--contrast);
}

body.woocommerce-checkout .woocommerce form .form-row {
	margin-bottom: 12px;
}

body.woocommerce-checkout .woocommerce form .form-row label {
	font-size: 12px;
	font-weight: 700;
	color: var(--wp--preset--color--contrast-2);
	margin-bottom: 6px;
}

body.woocommerce-checkout .woocommerce form .form-row :is(input.input-text, textarea.input-text, select) {
	width: 100%;
	background: var(--wp--preset--color--base-2);
	border: 1px solid var(--wp--preset--color--contrast-3);
	border-radius: 10px;
	padding: 10px 12px;
	min-height: 44px;
	box-shadow: none;
}

body.woocommerce-checkout .woocommerce form .form-row textarea.input-text {
	min-height: 110px;
}

body.woocommerce-checkout .woocommerce form .form-row :is(input.input-text, textarea.input-text, select):focus {
	outline: 2px solid var(--wp--preset--color--accent-3);
	outline-offset: 1px;
}

/* Select2 (classic checkout often uses it for country/state) */
body.woocommerce-checkout .select2-container .select2-selection {
	min-height: 44px;
	border: 1px solid var(--wp--preset--color--contrast-3);
	border-radius: 10px;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 42px;
	padding-left: 12px;
	padding-right: 36px;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 42px;
	right: 10px;
}

/* Order review table */
body.woocommerce-checkout #order_review table.shop_table {
	border: 0;
	margin: 0;
}

body.woocommerce-checkout #order_review table.shop_table :is(th, td) {
	border-color: var(--wp--preset--color--contrast-3);
	padding: 10px 0;
}

body.woocommerce-checkout #order_review table.shop_table thead th {
	padding-top: 0;
}

/* Payment box */
body.woocommerce-checkout #payment {
	background: transparent;
	border: 0;
}

body.woocommerce-checkout #payment .wc_payment_methods {
	margin: 12px 0 0;
	padding: 0;
	border: 1px solid var(--wp--preset--color--contrast-3);
	border-radius: 12px;
	background: var(--wp--preset--color--base);
}

body.woocommerce-checkout #payment .wc_payment_methods li {
	padding: 12px 12px;
	border-top: 1px solid var(--wp--preset--color--contrast-3);
}

body.woocommerce-checkout #payment .wc_payment_methods li:only-child {
	padding: 10px 12px 12px;
}

body.woocommerce-checkout #payment .wc_payment_methods li:only-child > input[type="radio"] {
	display: none !important;
}

body.woocommerce-checkout #payment .wc_payment_methods li:only-child > label {
	display: block;
	margin: 0;
	font-size: 16px;
	font-weight: 800;
	color: var(--wp--preset--color--contrast);
	cursor: default;
}

body.woocommerce-checkout #payment .wc_payment_methods li:first-child {
	border-top: 0;
}

body.woocommerce-checkout #payment div.payment_box {
	background: var(--wp--preset--color--base-2);
	border: 1px solid var(--wp--preset--color--contrast-3);
	border-radius: 10px;
	margin-top: 10px;
	padding: 12px 14px;
	color: var(--wp--preset--color--contrast-2);
	font-size: 14px;
	line-height: 1.6;
}

/* Primary action */
body.woocommerce-checkout :is(#place_order, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button) {
	border-radius: 999px;
	min-height: 44px;
	padding: 10px 18px;
	font-weight: 800;
	border: 0;
}

body.woocommerce-checkout #place_order {
	background: #0f9d8f;
	color: var(--wp--preset--color--base-2);
	width: 100%;
}

body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout #place_order:focus-visible {
	background: #0b7a4d;
}

body.woocommerce-checkout #place_order:disabled {
	opacity: 0.65;
}

/* ---------- WooCommerce Blocks checkout styling ---------- */
body.woocommerce-checkout .wc-block-checkout {
	margin-top: 16px;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-fields-block {
	display: flex;
	flex-direction: column;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-fields-block > * {
	width: 100%;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-contact-information-block {
	order: 20;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block {
	order: 10;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .prb-checkout-express-copy {
	order: 15;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-payment-block {
	order: 25;
	margin-top: 16px;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

body.woocommerce-checkout .prb-checkout-fast-checkout__copy {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 6px;
}

body.woocommerce-checkout .prb-checkout-fast-checkout__note {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.55;
	color: var(--wp--preset--color--contrast);
}

body.woocommerce-checkout .prb-checkout-fast-checkout__subnote {
	display: block;
	margin-top: 2px;
	font-size: 12px;
	font-weight: 500;
	color: var(--wp--preset--color--contrast-2);
}

body.woocommerce-checkout .wc-block-components-express-payment-continue-rule,
body.woocommerce-checkout .wc-block-components-express-payment-continue-rule--checkout,
body.woocommerce-checkout .wc-block-components-express-payment-continue-rule--cart {
	display: none !important;
}

body.woocommerce-checkout .prb-checkout-fast-checkout__or {
	position: relative;
	display: flex !important;
	align-items: center;
	justify-content: center;
	margin-top: 2px;
	color: var(--wp--preset--color--contrast-2);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

body.woocommerce-checkout .prb-checkout-fast-checkout__or::before,
body.woocommerce-checkout .prb-checkout-fast-checkout__or::after {
	content: "";
	flex: 1 1 auto;
	height: 3px;
	background: var(--wp--preset--color--contrast-3);
}

body.woocommerce-checkout .prb-checkout-fast-checkout__or span {
	padding: 0 14px;
	background: transparent;
}

body.woocommerce-checkout .prb-inline-card-express-trigger {
	appearance: none;
	width: 100%;
	min-height: 56px;
	border: 1px solid #2d2f33;
	border-radius: 10px;
	background: #2d2f33;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 18px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

body.woocommerce-checkout .prb-inline-card-express-trigger:hover,
body.woocommerce-checkout .prb-inline-card-express-trigger:focus-visible {
	background: #1f2124;
	border-color: #1f2124;
	outline: none;
	transform: translateY(-1px);
}

body.woocommerce-checkout .prb-inline-card-express-trigger.is-active {
	background: #111;
	border-color: #111;
}

body.woocommerce-checkout .prb-inline-card-express-trigger__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
}

body.woocommerce-checkout .prb-inline-card-express-trigger__icon svg {
	width: 24px;
	height: 24px;
	display: block;
}

body.woocommerce-checkout .prb-inline-card-express-trigger__label {
	display: inline-block;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-pickup-options-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-shipping-address-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-billing-address-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block {
	order: 30;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-additional-information-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-terms-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-actions-block {
	order: 40;
}

body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input textarea,
body.woocommerce-checkout .wc-block-components-combobox-control input {
	background: var(--wp--preset--color--base-2);
	border: 1px solid var(--wp--preset--color--contrast-3);
	border-radius: 10px;
	min-height: 44px;
	padding: 10px 12px;
	box-shadow: none;
}

body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-text-input textarea:focus,
body.woocommerce-checkout .wc-block-components-combobox-control input:focus {
	outline: 2px solid var(--wp--preset--color--accent-3);
	outline-offset: 1px;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout .wc-block-components-button:not(.is-link) {
	border-radius: 999px;
	min-height: 44px;
	font-weight: 800;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
	background: #0f9d8f;
	color: var(--wp--preset--color--base-2);
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus-visible {
	background: #0b7a4d;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:disabled {
	opacity: 0.65;
}

body.woocommerce-checkout .prb-pay-card-button-note {
	margin: 10px 0 0;
	text-align: center;
	font-size: 12px;
	line-height: 1.45;
	color: #4b5563;
}

@media (min-width: 769px) {
	body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block + .prb-pay-card-button-note {
		margin-top: 4px !important;
	}
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-actions-block {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 14px;
	border: 1px solid #e8e8ee;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-actions-block > * {
	margin: 0 !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
	flex: 0 0 auto;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	padding: 0 10px 0 4px;
	border-radius: 999px;
	background: transparent;
	white-space: nowrap;
	margin-right: auto !important;
	text-align: left;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-return-to-cart-button {
	width: auto !important;
	max-width: max-content !important;
	justify-content: flex-start !important;
	text-align: left !important;
	margin-right: auto !important;
	margin-left: 0 !important;
	margin-bottom: 0 !important;
	padding-left: 0 !important;
	padding-right: 10px !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row > .wc-block-components-checkout-return-to-cart-button {
	margin-right: auto !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-return-to-cart-button svg {
	position: static !important;
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	flex: 0 0 18px !important;
	margin: 0 8px 0 0 !important;
	transform: none !important;
	vertical-align: middle !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row > .wc-block-components-checkout-place-order-button {
	margin-left: auto !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button__button,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-actions-block button[type="submit"] {
	flex: 1 1 auto;
	min-width: 0;
}

@media (min-width: 769px) {
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button,
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button__button,
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-actions-block button[type="submit"] {
		flex: 0 0 auto;
		width: auto !important;
		min-width: 180px;
		padding-inline: 24px;
	}
}

body.woocommerce-checkout .prb-checkout-password-tools {
	display: grid;
	gap: 12px;
	margin-top: 14px;
	align-items: start;
}

body.woocommerce-checkout .prb-checkout-password-tools__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

body.woocommerce-checkout .prb-checkout-password-tools__button {
	appearance: none;
	border: 1px solid #111;
	background: #fff;
	color: #111;
	border-radius: 12px;
	min-height: 48px;
	padding: 11px 18px;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.2;
	cursor: pointer;
	box-shadow: none;
	transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
	flex: 0 0 auto;
}

body.woocommerce-checkout .prb-checkout-password-tools__button:disabled {
	opacity: 1;
	cursor: not-allowed;
	border-color: #d7d7d7;
	color: #9b9b9b;
	background: #f7f7f7;
}

body.woocommerce-checkout .prb-checkout-password-tools__button--copy {
	background: #fff;
	min-width: 88px;
	justify-content: center;
}

body.woocommerce-checkout .prb-checkout-password-tools__button:not(:disabled):hover,
body.woocommerce-checkout .prb-checkout-password-tools__button:not(:disabled):focus-visible {
	background: #111;
	border-color: #111;
	color: #fff;
	outline: none;
	transform: translateY(-1px);
}

body.woocommerce-checkout .prb-checkout-password-tools__tip,
body.woocommerce-checkout .prb-checkout-password-tools__status {
	margin: 0;
	font-size: 12px;
	line-height: 1.5;
}

body.woocommerce-checkout .prb-checkout-password-tools__tip {
	color: rgba(0, 0, 0, 0.56);
}

body.woocommerce-checkout .prb-checkout-password-tools__status {
	display: none;
	font-weight: 600;
}

body.woocommerce-checkout .prb-checkout-password-tools__status.is-visible {
	display: block;
}

body.woocommerce-checkout .prb-checkout-password-tools__status.is-success {
	color: #18794e;
}

body.woocommerce-checkout .prb-checkout-password-tools__status.is-error {
	color: #b42318;
}

body.woocommerce-checkout .prb-checkout-password-field {
	position: relative;
}

body.woocommerce-checkout .prb-checkout-password-field input {
	padding-right: 54px !important;
}

body.woocommerce-checkout .prb-checkout-password-toggle {
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	width: 34px;
	height: 34px;
	border: 0;
	background: transparent;
	color: #666;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 2;
}

body.woocommerce-checkout .prb-checkout-password-toggle:hover,
body.woocommerce-checkout .prb-checkout-password-toggle:focus-visible {
	color: #111;
	outline: none;
}

body.woocommerce-checkout .prb-checkout-password-toggle svg {
	width: 20px;
	height: 20px;
	display: block;
}

@media (max-width: 640px) {
	body.woocommerce-checkout .prb-inline-card-express-trigger {
		min-height: 52px;
		padding: 12px 16px;
		font-size: 16px;
	}

	body.woocommerce-checkout .prb-checkout-password-tools__actions {
		gap: 8px;
	}

	body.woocommerce-checkout .prb-checkout-password-tools__button {
		min-height: 46px;
		padding: 10px 16px;
		font-size: 13px;
	}
}

body.woocommerce-checkout .prb-checkout-create-account-hidden {
	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;
}

body.woocommerce-checkout .prb-checkout-create-account-note {
	margin: 4px 0 10px !important;
	font-size: 14px;
	line-height: 1.5;
	color: var(--wp--preset--color--contrast-2);
	font-weight: 600;
}

body.woocommerce-checkout .wc-block-checkout__create-account,
body.woocommerce-checkout .wc-block-checkout__create-account *,
body.woocommerce-checkout .wc-block-components-address-form__account-create,
body.woocommerce-checkout .wc-block-components-address-form__account-password,
body.woocommerce-checkout .wc-block-components-address-form__password,
body.woocommerce-checkout .prb-checkout-create-account-note {
	display: none !important;
}

body.woocommerce-checkout .prb-checkout-auto-coupon-banner {
	margin: 0 0 14px !important;
	padding: 14px 16px !important;
	border-radius: 14px;
	border: 1px solid #d8e7db;
	background: linear-gradient(180deg, #eefaf1 0%, #e6f7ea 100%);
	color: #14532d;
	box-shadow: 0 10px 24px rgba(16, 24, 40, 0.05);
}

body.woocommerce-checkout .prb-checkout-auto-coupon-banner.is-pending {
	border-color: #f6d8a8;
	background: linear-gradient(180deg, #fff7e8 0%, #ffefcf 100%);
	color: #92400e;
}

body.woocommerce-checkout .prb-checkout-auto-coupon-banner__eyebrow {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	opacity: 0.7;
	margin-bottom: 6px;
}

body.woocommerce-checkout .prb-checkout-auto-coupon-banner__title {
	font-size: 18px;
	font-weight: 800;
	line-height: 1.25;
	margin-bottom: 4px;
}

body.woocommerce-checkout .prb-checkout-auto-coupon-banner__message {
	font-size: 14px;
	line-height: 1.5;
	margin-bottom: 10px;
}

body.woocommerce-checkout .prb-checkout-auto-coupon-banner__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-bottom: 10px;
}

body.woocommerce-checkout .prb-checkout-auto-coupon-banner__code,
body.woocommerce-checkout .prb-checkout-auto-coupon-banner__summary {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid rgba(20, 83, 45, 0.12);
	font-size: 12px;
	font-weight: 700;
}

body.woocommerce-checkout .prb-checkout-auto-coupon-banner.is-pending .prb-checkout-auto-coupon-banner__code,
body.woocommerce-checkout .prb-checkout-auto-coupon-banner.is-pending .prb-checkout-auto-coupon-banner__summary {
	border-color: rgba(146, 64, 14, 0.16);
}

body.woocommerce-checkout .prb-checkout-auto-coupon-banner__tiers {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

body.woocommerce-checkout .prb-checkout-auto-coupon-banner__tier {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.55);
	border: 1px solid rgba(20, 83, 45, 0.1);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

body.woocommerce-checkout .prb-checkout-auto-coupon-banner__tier.is-active {
	background: #14532d;
	color: #fff;
	border-color: #14532d;
}

body.woocommerce-checkout .prb-checkout-auto-coupon-banner.is-pending .prb-checkout-auto-coupon-banner__tier {
	border-color: rgba(146, 64, 14, 0.14);
}

body.woocommerce-checkout .prb-checkout-auto-coupon-banner.is-pending .prb-checkout-auto-coupon-banner__tier.is-active {
	background: #92400e;
	border-color: #92400e;
	color: #fff;
}

/* Checkout should be distraction-free: hide discount/banner/cards areas injected by header template */
body.woocommerce-checkout :is(
	.books-poster-area,
	.books-bigposter-area,
	.books-home-cards-area,
	.books-discount-bar,
	.books-main-banner
) {
	display: none !important;
}

/* ===== WooCommerce order received / thank you page ===== */
body.woocommerce-order-received .wp-block-post-title {
	margin-bottom: 12px !important;
}

body.woocommerce-order-received main.wp-block-group.is-layout-flow > .wp-block-group.is-layout-constrained {
	max-width: 1240px !important;
	margin: 0 auto !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
}

body.woocommerce-order-received .entry-content.wp-block-post-content {
	max-width: 1240px !important;
	margin: 0 auto !important;
	padding: 0 24px 48px !important;
	box-sizing: border-box !important;
}

body.woocommerce-order-received .entry-content.wp-block-post-content > .woocommerce {
	max-width: 1240px !important;
	margin: 0 auto !important;
}

body.woocommerce-order-received .woocommerce-order {
	display: grid;
	gap: 24px;
}

body.woocommerce-order-received .woocommerce-notice--success,
body.woocommerce-order-received .woocommerce-thankyou-order-received {
	margin: 0 !important;
	padding: 18px 22px !important;
	border: 1px solid #cce7d1 !important;
	border-left: 4px solid #1f8f4b !important;
	border-radius: 16px !important;
	background: linear-gradient(180deg, #f7fff8 0%, #f0fbf2 100%) !important;
	color: #185c32 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
	box-shadow: 0 14px 34px rgba(31, 143, 75, 0.08) !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview li {
	margin: 0 !important;
	padding: 18px 18px 16px !important;
	border: 1px solid #ece6eb !important;
	border-radius: 16px !important;
	background: #ffffff !important;
	box-shadow: 0 18px 36px rgba(36, 22, 43, 0.05) !important;
	color: #5a5560 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview li strong {
	display: block;
	margin-top: 8px;
	color: #231c2c !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	word-break: break-word;
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
	margin: 0 !important;
	padding: 28px !important;
	border: 1px solid #ece6eb !important;
	border-radius: 20px !important;
	background: #ffffff !important;
	box-shadow: 0 22px 44px rgba(36, 22, 43, 0.06) !important;
}

body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title {
	margin: 0 0 20px !important;
	color: #1f1828 !important;
	font-size: 32px !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
}

body.woocommerce-order-received .woocommerce-table--order-details,
body.woocommerce-order-received table.shop_table.order_details {
	width: 100% !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border: 1px solid #efe8ee !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	background: #fff !important;
}

body.woocommerce-order-received table.shop_table.order_details thead th {
	padding: 16px 18px !important;
	background: #f8f4f7 !important;
	border: 0 !important;
	border-bottom: 1px solid #ece6eb !important;
	color: #4b4354 !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}

body.woocommerce-order-received table.shop_table.order_details tbody td,
body.woocommerce-order-received table.shop_table.order_details tbody th,
body.woocommerce-order-received table.shop_table.order_details tfoot td,
body.woocommerce-order-received table.shop_table.order_details tfoot th {
	padding: 14px 18px !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-bottom: 1px solid #f0ebef !important;
	color: #2d2536 !important;
	vertical-align: top !important;
}

body.woocommerce-order-received table.shop_table.order_details tbody tr:last-child td,
body.woocommerce-order-received table.shop_table.order_details tbody tr:last-child th,
body.woocommerce-order-received table.shop_table.order_details tfoot tr:last-child td,
body.woocommerce-order-received table.shop_table.order_details tfoot tr:last-child th {
	border-bottom: 0 !important;
}

body.woocommerce-order-received table.shop_table.order_details tfoot th {
	width: 28%;
	font-weight: 700 !important;
}

body.woocommerce-order-received table.shop_table.order_details a {
	color: #6d4bc6 !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

body.woocommerce-order-received table.shop_table.order_details a:hover {
	text-decoration: underline !important;
}

body.woocommerce-order-received .woocommerce-columns.woocommerce-columns--2.woocommerce-columns--addresses {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px !important;
	margin: 0 !important;
}

body.woocommerce-order-received .woocommerce-column--billing-address,
body.woocommerce-order-received .woocommerce-column--shipping-address {
	padding: 22px !important;
	border: 1px solid #efe8ee !important;
	border-radius: 16px !important;
	background: #fbfafc !important;
	box-sizing: border-box !important;
}

body.woocommerce-order-received .woocommerce-customer-details address {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	color: #403748 !important;
	font-size: 16px !important;
	font-style: normal !important;
	line-height: 1.75 !important;
}

body.woocommerce-order-received .woocommerce-customer-details address p {
	margin: 10px 0 0 !important;
}

@media (max-width: 1024px) {
	body.woocommerce-order-received main.wp-block-group.is-layout-flow > .wp-block-group.is-layout-constrained,
	body.woocommerce-order-received .entry-content.wp-block-post-content {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	body.woocommerce-order-received ul.woocommerce-order-overview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.woocommerce-order-received .woocommerce-order-details,
	body.woocommerce-order-received .woocommerce-customer-details {
		padding: 20px !important;
	}

	body.woocommerce-order-received .woocommerce-order-details__title,
	body.woocommerce-order-received .woocommerce-column__title {
		font-size: 24px !important;
	}

	body.woocommerce-order-received .woocommerce-columns.woocommerce-columns--2.woocommerce-columns--addresses {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	body.woocommerce-order-received ul.woocommerce-order-overview {
		grid-template-columns: 1fr;
	}

	body.woocommerce-order-received .woocommerce-notice--success,
	body.woocommerce-order-received .woocommerce-thankyou-order-received {
		font-size: 16px !important;
		padding: 16px 18px !important;
	}

	body.woocommerce-order-received table.shop_table.order_details thead {
		display: none;
	}

	body.woocommerce-order-received table.shop_table.order_details tr,
	body.woocommerce-order-received table.shop_table.order_details tbody,
	body.woocommerce-order-received table.shop_table.order_details tfoot,
	body.woocommerce-order-received table.shop_table.order_details td,
	body.woocommerce-order-received table.shop_table.order_details th {
		display: block;
		width: 100% !important;
	}

	body.woocommerce-order-received table.shop_table.order_details tbody tr,
	body.woocommerce-order-received table.shop_table.order_details tfoot tr {
		padding: 12px 0;
		border-bottom: 1px solid #f0ebef;
	}

	body.woocommerce-order-received table.shop_table.order_details tbody tr:last-child,
	body.woocommerce-order-received table.shop_table.order_details tfoot tr:last-child {
		border-bottom: 0;
	}

	body.woocommerce-order-received table.shop_table.order_details tbody td,
	body.woocommerce-order-received table.shop_table.order_details tbody th,
	body.woocommerce-order-received table.shop_table.order_details tfoot td,
	body.woocommerce-order-received table.shop_table.order_details tfoot th {
		padding: 6px 0 !important;
		border: 0 !important;
	}
}
/*
Theme Name: Books Child
Theme URI: http://localhost:8080/
Description: Child theme for Twenty Twenty-Four (WooCommerce bookstore).
Author: Local
*/

/* Theme preset color fallbacks.
 * The frontend is currently missing the theme.json color variables/utility classes,
 * so we provide them here to ensure block color classes work.
 */
:root {
	--wp--preset--color--base: #f9f9f9;
	--wp--preset--color--base-2: #ffffff;
	--wp--preset--color--contrast: #111111;
	--wp--preset--color--contrast-2: #636363;
	--wp--preset--color--contrast-3: #A4A4A4;
	--wp--preset--color--accent-3: #0f9d8f;
	--wp--preset--color--accent-5: #b5bdbc;
}

.has-contrast-background-color {
	background-color: var(--wp--preset--color--contrast) !important;
}

.has-base-background-color {
	background-color: var(--wp--preset--color--base) !important;
}

.has-accent-3-background-color {
	background-color: var(--wp--preset--color--accent-3) !important;
}

.has-base-color {
	color: var(--wp--preset--color--base) !important;
}

.has-base-2-color {
	color: var(--wp--preset--color--base-2) !important;
}

.has-accent-5-color {
	color: var(--wp--preset--color--accent-5) !important;
}

/* Main navigation (custom HTML, stable mega menu) */
.books-topbar {
	font-size: 15px;
	line-height: 1.2;
	background-color: #0b5f5a !important;
	color: #ffffff !important;
}

.books-topbar__row {
	gap: 10px;
}

.books-topbar__divider {
	opacity: 0.65;
}

/* 2026-09-27 通栏改为两项（Free Shipping / Delivery 3–10），Secure Checkout 已删；
   两项在 ≤600px 的 10–11px 单行里放得下，故移动端不再隐藏 Delivery。 */

.books-header-sticky {
	position: sticky;
	top: 0;
	z-index: 1200;
	background: var(--wp--preset--color--base);
}

/* Desktop header spacing should match homepage compact layout */
@media (min-width: 769px) {
	.books-header-sticky {
		gap: 0 !important;
		--wp--style--block-gap: 0px !important;
	}

	.books-header-sticky > *,
	.books-header > *,
	.books-nav-bar > * {
		margin-block-start: 0 !important;
		margin-block-end: 0 !important;
	}
}

.books-header {
	background: var(--wp--preset--color--base);
	padding: 8px 0;
}

.books-header__row,
.books-topbar__row,
.books-nav__wrap {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}

/* Make logo + right icons sit a bit closer to center */
.books-header__row {
	max-width: 980px;
}

.books-header__row {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.books-header__left {
	flex-shrink: 0;
}

.books-header__center {
	flex: 0 1 480px !important;
	max-width: 480px !important;
	min-width: 0;
}

.books-header__right {
	flex-shrink: 0;
}

.books-header__search {
	width: 100%;
	max-width: 480px !important;
}

.books-header__search .wp-block-search__inside-wrapper {
	border: 1px solid var(--wp--preset--color--contrast-3);
	border-radius: 999px;
	background: var(--wp--preset--color--base-2);
	padding: 4px;
	gap: 6px;
}

.books-header__search .wp-block-search__input {
	border: 0;
	background: transparent;
	padding: 10px 14px;
	min-height: 44px;
	box-shadow: none;
}

.books-header__search .wp-block-search__button {
	border: 0;
	background: #0f9d8f;
	color: var(--wp--preset--color--base-2);
	border-radius: 999px;
	min-height: 44px;
	min-width: 52px;
	padding: 0 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.books-header__search .wp-block-search__button svg {
	display: none;
}

/* Custom search icon (no external assets) */
.books-header__search .wp-block-search__button::before {
	content: "";
	width: 20px;
	height: 20px;
	display: inline-block;
	background: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20fill='%23ffffff'%20d='M10%2018a8%208%200%201%201%205.293-14.293A8%208%200%200%201%2010%2018Zm0-2a6%206%200%201%200%200-12%206%206%200%200%200%200%2012Zm8.707%204.707-4.024-4.024a1%201%200%200%201%201.414-1.414l4.024%204.024a1%201%200%200%201-1.414%201.414Z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.books-header__right :is(
	.wc-block-mini-cart__button,
	.wp-block-woocommerce-customer-account a
) {
	width: 44px;
	height: 44px;
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--contrast-3);
	background: var(--wp--preset--color--base-2);
	color: var(--wp--preset--color--accent-5);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.books-header__right :is(
	.wc-block-mini-cart__button,
	.wp-block-woocommerce-customer-account a
) svg {
	fill: currentColor;
}

.wp-block-woocommerce-customer-account a :is(span, .wc-block-customer-account__account-link-label) {
	display: none;
}

.books-nav-bar {
	background-color: #0f9d8f !important;
}
/* Hide pink nav bar on mobile */
@media (max-width: 768px) {
	.books-nav-bar {
		display: none !important;
	}
}


.books-poster-area,
.books-bigposter-area {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
	padding: 0 !important;
}

.books-home-cards-area {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
	padding: 0 !important;
}

/* Home cards: allow full width for 3x 500px cards */
.home .books-home-cards-area > .wp-block-group__inner-container {
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

@media (min-width: 1200px) {
	.home .books-home-cards-area .bhs-cards__inner {
		max-width: 1536px !important;
	}

	.home .books-home-cards-area .bhs-cards__grid {
		grid-template-columns: repeat(3, 500px) !important;
		justify-content: center !important;
	}

	.home .books-home-cards-area .bhs-cards__card,
	.home .books-home-cards-area .bhs-cards__card img {
		width: 500px !important;
		height: 638px !important;
		aspect-ratio: 500 / 638 !important;
		object-fit: cover !important;
	}
}

/* Align homepage product section title image width with the 3-card row (500*3 + gaps = 1536px) */
@media (min-width: 1200px) {
	.home .bhs-section,
	.home .bhs-section__header,
	.home .bhs-section__title-banner {
		max-width: 1536px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.home .bhs-section__title-banner img {
		max-width: 1536px !important;
		width: 100% !important;
		height: auto !important;
		display: block !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

/*
 * Poster slider: the poster plugin applies full-bleed styles for
 * `.books-discount-bar` and `.books-main-banner` (100vw + breakout margins).
 * Do not override those, otherwise the banner can appear constrained with
 * right-side blank space.
 */
.books-poster-area .books-poster-slider:not(.books-discount-bar):not(.books-main-banner),
.books-bigposter-area .books-poster-slider:not(.books-discount-bar):not(.books-main-banner) {
	width: 100%;
	max-width: 1920px;
	margin-left: auto;
	margin-right: auto;
}

/* Prevent Gutenberg Group inner container from constraining full-bleed sliders */
.books-poster-area > .wp-block-group__inner-container,
.books-bigposter-area > .wp-block-group__inner-container {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.books-nav {
	width: 100%;
	overflow: visible;
}

.books-nav__wrap {
	position: relative;
	overflow: visible;
}

.books-nav__top {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 22px;
}

.books-nav__item {
	position: relative;
}

.books-nav__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	line-height: 1;
	text-decoration: none;
	color: var(--wp--preset--color--base-2) !important;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-weight: 700;
}

/* All Books dropdown caret */
.books-nav__item--mega > .books-nav__link::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 6px solid currentColor;
	opacity: 0.9;
	transform: translateY(1px);
}

.books-nav__item--highlight > .books-nav__link {
	font-weight: 700;
}

/* Mega menu panel */
.books-mega {
	position: absolute;
	left: 50%;
	top: 100%;
	transform: translateX(-50%);
	width: min(1100px, calc(100vw - 32px));
	max-width: 1100px;
	padding: 20px 22px;
	border-radius: 10px;
	background: var(--wp--preset--color--base, #fff);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
	z-index: 9999;

	display: block;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateX(-50%) translateY(6px);

	transition:
		opacity 160ms ease,
		transform 160ms ease,
		visibility 0s linear 0.6s;
}

/* Add a small invisible hover "bridge" above the panel so the cursor
   can move from the trigger link into the panel without losing :hover. */
.books-mega::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -14px;
	height: 14px;
}

.books-nav__item--mega:hover .books-mega,
.books-nav__item--mega:focus-within .books-mega,
.books-mega:hover,
.books-mega:focus-within {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
	transition-delay: 0s;
}

/* Delay closing a bit so it's easier to move mouse & click */
.books-nav__item--mega:not(:hover):not(:focus-within) .books-mega {
	transition-delay: 0.6s;
}

.books-mega__grid {
	display: grid;
	/* 2026-10-21 新分类树：7 个有子类的顶级，4 列排两行（4 + 3）；原来 5 个顶级是 5 列一行 */
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 26px;
	row-gap: 24px;
}

.books-mega__col {
	min-width: 0;
}

.books-mega__title {
	display: block;
	font-size: 15px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-weight: 700;
	margin: 0 0 10px;
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
}

.books-mega__link {
	display: block;
	padding: 6px 0;
	font-size: 14px;
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
}

@media (max-width: 1000px) {
	.books-mega__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.books-mega__grid {
		grid-template-columns: 1fr;
	}

	.books-nav__top {
		flex-wrap: wrap;
		gap: 14px;
	}
}

.books-header__right :is(
	.wc-block-mini-cart__icon,
	.wp-block-woocommerce-customer-account svg
) {
	width: 22px;
	height: 22px;
}

.books-header__right :is(
	.wc-block-mini-cart__button:hover,
	.wp-block-woocommerce-customer-account a:hover
) {
	background: var(--wp--preset--color--contrast-3, rgba(0, 0, 0, 0.06));
}

@media (max-width: 900px) {
	.books-header__center {
		flex: 1 1 100%;
		justify-content: flex-start;
	}

	.books-header__row {
		display: flex;
		flex-wrap: wrap;
	}
}

/* === WooCommerce Single Product Page === */
/*
 * The block theme outputs a "post header" group before the content.
 * We hide the title itself elsewhere, but the wrapper still adds padding/margins,
 * creating a visible gap between the nav and our discount bar.
 */
body.single-product main.wp-block-group.alignfull.is-layout-flow > .wp-block-group.is-layout-constrained {
	display: none !important;
}

/*
 * WordPress block layout adds default 24px block gaps:
 * - `.wp-site-blocks > *` adds a top margin between header and main
 * - `.is-layout-flow > *` adds a top margin between main children
 * On single product we want the discount bar to sit flush under the nav.
 */
body.single-product .wp-site-blocks > main.wp-block-group {
	margin-block-start: 0 !important;
}

body.single-product main.wp-block-group.alignfull.is-layout-flow > .entry-content.alignfull.wp-block-post-content {
	margin-block-start: 0 !important;
}

body.single-product .entry-content.alignfull.wp-block-post-content {
	margin-top: 0 !important;
}

@media (min-width: 1025px) {
	body.single-product .books-header-sticky {
		overflow: visible !important;
		z-index: 1200 !important;
	}

	body.single-product .books-nav-bar {
		position: relative !important;
		z-index: 1210 !important;
		min-height: 40px !important;
		padding-top: 10px !important;
		padding-bottom: 10px !important;
		box-sizing: border-box !important;
		overflow: visible !important;
		flex-shrink: 0 !important;
	}

	body.single-product .books-discount-bar {
		top: auto !important;
		z-index: 0 !important;
		margin-top: 0 !important;
		transform: none !important;
		clear: both !important;
		overflow: hidden !important;
		contain: layout paint !important;
		border-top: 1px solid #0f9d8f !important;
	}
}

/* === WooCommerce Product Category Page === */

/* Hide poster slider and cards on product category pages only */
body.tax-product_cat .books-poster-slider,
body.tax-product_cat .bhs-cards,
body.tax-product_cat .books-home-cards {
	display: none !important;
}

/* Main content container (category page only) */
body.tax-product_cat .entry-content,
body.tax-product_cat .wp-block-post-content {
	max-width: 1100px !important;
	margin: 0 auto !important;
	padding: 0 16px !important;
	box-sizing: border-box !important;
}

/* Category page header and description */
.woocommerce-products-header {
	max-width: 100%;
	margin: 50px 0 40px;
	padding: 0;
	text-align: center;
	box-sizing: border-box;
}

.woocommerce-products-header__title {
	font-size: clamp(28px, 4vw, 42px);
	font-weight: 700;
	margin: 0 0 28px;
	color: #222;
	letter-spacing: 1px;
}

.term-description {
	font-size: 15px;
	line-height: 1.9;
	color: #555;
	max-width: 100%;
	margin: 0 0 30px;
	text-align: justify;
	padding: 0;
}

.term-description p {
	margin: 0;
}

/* Hide ordering dropdown and results count - completely remove from flow */
.woocommerce-page .woocommerce-ordering,
.woocommerce-page .woocommerce-result-count,
.woocommerce-page .woocommerce-pagination,
.woocommerce-page .storefront-sorting,
.woocommerce-page .woocommerce-notices-wrapper {
	display: none !important;
	position: absolute !important;
	width: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	visibility: hidden !important;
}

/* Hide Sale badge */
.woocommerce ul.products li.product .onsale {
	display: none !important;
}

/* WooCommerce container - reset any grid/flex */
.woocommerce-page .woocommerce.columns-4,
.woocommerce-page .woocommerce.columns-3,
.woocommerce-page div.woocommerce,
div.woocommerce.columns-4 {
	display: block !important;
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Product grid on category page - match homepage cards style */
.woocommerce ul.products,
.woocommerce ul.products.columns-4,
.woocommerce ul.products.columns-3,
.woocommerce-page ul.products,
ul.products.columns-4 {
	width: 100% !important;
	max-width: 100% !important;
	margin: 20px 0 !important;
	padding: 0 !important;
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 18px !important;
	list-style: none !important;
	box-sizing: border-box !important;
}

/* Reset ALL WooCommerce product float/clear styles */
.woocommerce ul.products li.product,
.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last,
ul.products li.product,
ul.products li.product.first,
ul.products li.product.last,
.woocommerce-page ul.products li.product {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	clear: none !important;
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
	transition: box-shadow 0.2s, transform 0.2s;
}

.woocommerce ul.products li.product:hover {
	box-shadow: 0 4px 16px rgba(0,0,0,0.12);
	transform: translateY(-2px);
}

/* Product image - match homepage cards */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	display: block;
	overflow: hidden;
	background: #fff;
}
.woocommerce ul.products li.product a img {
	width: 100%;
	height: auto;
	aspect-ratio: 500 / 638;
	object-fit: cover;
	display: block;
	border-radius: 0;
	margin: 0;
	background: transparent;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 14px;
	font-weight: 600;
	color: #2c5282;
	padding: 14px 14px 8px;
	margin: 0;
	text-align: center;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 48px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title:hover {
	color: #e53935;
}

/* Product price */
.woocommerce ul.products li.product .price {
        display: flex;
        justify-content: center;
        align-items: baseline;
        gap: 8px;
	font-size: 16px;
	color: #e53935;
	padding: 0 14px 16px;
	margin: 0;
	text-align: center;
	font-weight: 700;
}

.woocommerce ul.products li.product .price del {
        order: -1;
	color: #aaa;
	font-weight: 400;
	font-size: 15px;
	margin-right: 8px;
}

.woocommerce ul.products li.product .price ins {
	text-decoration: none;
}

/* Hide add to cart button */
.woocommerce ul.products li.product .button {
	display: none !important;
}

/* Responsive - 2 columns on tablets */
@media (max-width: 900px) {
	.woocommerce-page .entry-content,
	.woocommerce-page .wp-block-post-content {
		padding: 0 20px !important;
	}
	.woocommerce ul.products,
	.woocommerce ul.products.columns-4,
	ul.products.columns-4 {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* Responsive - 1 column on mobile */
@media (max-width: 520px) {
	.woocommerce-page .entry-content,
	.woocommerce-page .wp-block-post-content {
		padding: 0 16px !important;
	}
	.woocommerce ul.products,
	.woocommerce ul.products.columns-4,
	ul.products.columns-4 {
		grid-template-columns: 1fr !important;
	}
}

/* Footer: make logo slightly smaller */
.books-footer .books-footer__logo {
	max-width: 150px !important;
	margin-bottom: 16px !important;
}

@media (min-width: 601px) {
	.books-footer .books-footer__logo {
		margin-left: 0 !important;
		transform: translateX(66px);
	}
}

/* Footer: nicer aligned contact block */
.books-footer .books-footer__meta {
	display: grid;
	gap: 4px;
	margin-top: var(--books-footer-meta-offset, 0px);
}

@media (min-width: 601px) {
	.books-footer {
		--books-footer-meta-offset: -6px;
	}

	/* Nudge only the Email row down a bit and align label/value */
	.books-footer .books-footer__meta-row:last-child {
		transform: translateY(-7px);
		align-items: baseline;
	}
}

.books-footer .books-footer__meta-row {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: 12px;
	align-items: start;
}

.books-footer .books-footer__meta-row--stacked {
	grid-template-columns: 1fr;
	row-gap: 2px;
}

.books-footer .books-footer__meta-row--stacked .books-footer__label {
	text-align: left;
}

.books-footer .books-footer__label {
	text-align: right;
	font-weight: 800;
	color: #444;
	white-space: nowrap;
}

.books-footer .books-footer__value {
	color: #555;
	line-height: 1.45;
}

@media (max-width: 768px) {
	.books-footer .books-footer__meta {
		display: block;
		font-size: 14px;
		color: #555;
		line-height: 1.7;
		text-align: center;
	}

	.books-footer .books-footer__meta-row {
		display: block;
		margin-bottom: 4px;
	}

	.books-footer .books-footer__meta-row:last-child {
		transform: none;
	}

	.books-footer .books-footer__label {
		text-align: center;
		font-weight: 700;
		color: #555;
		margin-right: 4px;
		display: inline;
	}

	.books-footer .books-footer__value {
		text-align: center;
		color: #555;
		display: inline;
	}
}

/* Footer: newsletter envelope/button color matches nav bar */
.books-footer .books-footer__newsletter-form input:focus {
	border-color: #0f9d8f !important;
}

.books-footer .books-footer__newsletter-form button {
	background: #0f9d8f !important;
	color: #fff !important;
}

.books-footer .books-footer__newsletter-form button:hover {
	background: #0b7a70 !important;
}

.books-footer .books-footer__newsletter-form button svg {
	stroke: currentColor;
}

/* Navigation hover animations */
.books-nav__link {
    position: relative;
    transition: color 0.3s ease, transform 0.2s ease;
}

.books-nav__link::before {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 50%;
    width: 0;
    height: 2px;
    background: #fff;
    transition: width 0.3s ease, left 0.3s ease;
}

.books-nav__item:hover .books-nav__link {
    transform: translateY(-2px);
}

.books-nav__item:hover .books-nav__link::before {
    width: 100%;
    left: 0;
}

/* Mega menu links hover animations */
.books-mega__title {
    transition: color 0.2s ease, padding-left 0.2s ease;
}

.books-mega__title:hover {
    color: #0f9d8f;
    padding-left: 6px;
}

.books-mega__link {
    transition: color 0.2s ease, padding-left 0.2s ease, background 0.2s ease;
    border-radius: 4px;
}

.books-mega__link:hover {
    color: #0f9d8f;
    padding-left: 10px;
    background: rgba(15, 157, 143, 0.08);
}

/* ============================================
   Mini Cart / Drawer Pink Theme
   ============================================ */

/* 购物车抽屉背景遮罩 */
.wc-block-components-drawer__screen-overlay--is-hidden {
    background: rgba(15, 157, 143, 0.1) !important;
}

.wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden) {
    background: rgba(0, 0, 0, 0.4) !important;
    backdrop-filter: blur(4px);
}

/* 购物车抽屉主体 */
.wc-block-mini-cart__drawer {
    background: linear-gradient(180deg, #fff 0%, #fdf8f9 100%) !important;
}

/* 购物车标题 */
.wc-block-mini-cart__title {
    font-weight: 700 !important;
    color: #333 !important;
    border-bottom: 2px solid rgba(15, 157, 143, 0.2) !important;
    padding-bottom: 16px !important;
}

/* 关闭按钮 */
.wc-block-mini-cart__drawer .components-modal__header button,
.wc-block-components-drawer__close-wrapper button {
    color: #0f9d8f !important;
    transition: all 0.3s ease !important;
}

.wc-block-mini-cart__drawer .components-modal__header button:hover,
.wc-block-components-drawer__close-wrapper button:hover {
    background: rgba(15, 157, 143, 0.1) !important;
    transform: rotate(90deg);
}

/* 购物车商品项 */
.wc-block-cart-items__row,
.wc-block-mini-cart__products .wc-block-components-product-name {
    transition: all 0.3s ease !important;
}

.wc-block-mini-cart__products .wc-block-components-product-name:hover {
    color: #0f9d8f !important;
}

/* 商品图片 */
.wc-block-cart-item__image img,
.wc-block-mini-cart__products img {
    border-radius: 12px !important;
    border: 2px solid rgba(15, 157, 143, 0.15) !important;
    transition: all 0.3s ease !important;
}

.wc-block-cart-item__image img:hover,
.wc-block-mini-cart__products img:hover {
    border-color: #0f9d8f !important;
    transform: scale(1.02);
}

/* 价格样式 */
.wc-block-components-product-price__value,
.wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__value {
    color: #0f9d8f !important;
    font-weight: 700 !important;
}

/* 原价删除线 */
.wc-block-components-product-price del {
    color: #999 !important;
}

/* SAVE 标签 */
.wc-block-components-sale-badge,
.wc-block-components-product-badge {
    background: linear-gradient(135deg, #0f9d8f 0%, #0b7a70 100%) !important;
    color: #fff !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    padding: 4px 10px !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* 数量选择器 */
.wc-block-components-quantity-selector {
    border: 2px solid rgba(15, 157, 143, 0.3) !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

.wc-block-components-quantity-selector input {
    font-weight: 600 !important;
    color: #333 !important;
}

.wc-block-components-quantity-selector button {
    background: rgba(15, 157, 143, 0.08) !important;
    color: #0f9d8f !important;
    transition: all 0.2s ease !important;
}

.wc-block-components-quantity-selector button:hover {
    background: rgba(15, 157, 143, 0.2) !important;
}

/* 移除商品链接 */
.wc-block-cart-item__remove-link,
.wc-block-components-product-details__remove-item {
    color: #999 !important;
    transition: color 0.2s ease !important;
}

.wc-block-cart-item__remove-link:hover,
.wc-block-components-product-details__remove-item:hover {
    color: #0f9d8f !important;
}

/* 购物车底部 */
.wc-block-mini-cart__footer {
    background: linear-gradient(180deg, rgba(15, 157, 143, 0.05) 0%, rgba(15, 157, 143, 0.12) 100%) !important;
    border-top: 1px solid rgba(15, 157, 143, 0.15) !important;
    padding: 20px !important;
    border-radius: 20px 20px 0 0 !important;
}

/* Subtotal */
.wc-block-mini-cart__footer-subtotal {
    margin-bottom: 16px !important;
}

.wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__label {
    font-weight: 600 !important;
    color: #555 !important;
}

/* View Cart 按钮 */
.wc-block-mini-cart__footer-actions .wc-block-components-button:first-child,
.wc-block-mini-cart__footer .wp-block-button:first-child .wp-block-button__link,
a.wc-block-components-button.wc-block-mini-cart__footer-cart {
    background: #fff !important;
    color: #0f9d8f !important;
    border: 2px solid #0f9d8f !important;
    border-radius: 12px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
}

.wc-block-mini-cart__footer-actions .wc-block-components-button:first-child:hover,
.wc-block-mini-cart__footer .wp-block-button:first-child .wp-block-button__link:hover,
a.wc-block-components-button.wc-block-mini-cart__footer-cart:hover {
    background: rgba(15, 157, 143, 0.1) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(15, 157, 143, 0.25) !important;
}

/* Checkout 按钮 */
.wc-block-mini-cart__footer-actions .wc-block-components-button:last-child,
.wc-block-mini-cart__footer .wp-block-button:last-child .wp-block-button__link,
a.wc-block-components-button.wc-block-mini-cart__footer-checkout {
    background: linear-gradient(135deg, #0f9d8f 0%, #0b7a70 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(15, 157, 143, 0.3) !important;
}

.wc-block-mini-cart__footer-actions .wc-block-components-button:last-child:hover,
.wc-block-mini-cart__footer .wp-block-button:last-child .wp-block-button__link:hover,
a.wc-block-components-button.wc-block-mini-cart__footer-checkout:hover {
    background: linear-gradient(135deg, #0b7a70 0%, #c43d63 100%) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(15, 157, 143, 0.4) !important;
}

/* 空购物车状态 */
.wc-block-mini-cart__empty-cart-wrapper {
    text-align: center !important;
    padding: 60px 30px !important;
}

.wc-block-mini-cart__empty-cart-wrapper svg {
    color: rgba(15, 157, 143, 0.3) !important;
}

/* 当购物车打开时隐藏聊天小组件 */
body.wc-block-mini-cart--is-open #tidio-chat-iframe,
body.wc-block-mini-cart--is-open iframe[title*=Tidio],
body.wc-block-mini-cart--is-open #tidio-chat,
body.wc-block-mini-cart--is-open .tidio-1p4b1il,
body.wc-block-mini-cart--is-open [id^=tidio],
.wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden) ~ #tidio-chat-iframe,
.wc-block-mini-cart__drawer[aria-hidden=false] ~ #tidio-chat-iframe {
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease !important;
}

/* 购物车动画 */
.wc-block-mini-cart__drawer {
    animation: slideInCart 0.3s ease-out !important;
}

@keyframes slideInCart {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* 商品描述文字 */
.wc-block-components-product-metadata {
    color: #666 !important;
    font-size: 13px !important;
}

/* 购物车书名粉色 */
.wc-block-components-product-name,
.wc-block-mini-cart__products .wc-block-components-product-name,
.wc-block-cart-item__product .wc-block-components-product-name {
    color: #0f9d8f !important;
    font-weight: 600 !important;
}

/* 更强的聊天组件隐藏规则 */
body:has(.wc-block-mini-cart__drawer:not([hidden])) #tidio-chat-iframe,
body:has(.wc-block-mini-cart__drawer:not([hidden])) #tidio-chat,
body:has(.wc-block-mini-cart__drawer:not([hidden])) [id^="tidio"],
body:has(.wc-block-mini-cart__drawer:not([hidden])) .tidio-1kvojqe,
body:has(.wc-block-mini-cart__drawer:not([hidden])) iframe[title*="chat"],
body:has(.wc-block-mini-cart__drawer:not([hidden])) iframe[title*="Tidio"],
body:has(.wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden)) #tidio-chat-iframe,
body:has(.wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden)) [id^="tidio"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ===== 当购物车打开时隐藏聊天小组件 ===== */
.wc-block-mini-cart__drawer.is-open ~ .books-chat-widget,
body.wc-block-mini-cart--drawer-open .books-chat-widget,
body:has(.wc-block-mini-cart__drawer.is-open) .books-chat-widget {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(20px) !important;
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease !important;
}

/* ===== 商品页折扣条：配合 -slim（1920x142 单行版）图片，全宽零裁切 ===== */
body.single-product .books-discount-bar {
    --books-poster-height: 142px !important;
    --books-poster-aspect: 1920/142 !important;
}
body.single-product .books-discount-bar .books-poster-slider__slide img {
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}
@media (min-width: 1025px) {
    body.single-product .books-discount-bar {
        --books-poster-height: 142px !important;
        --books-poster-aspect: 1920/142 !important;
        /* 高度交给 aspect-ratio 按视口宽度等比缩放，任何宽度都不裁切 */
        height: auto !important;
        max-height: none !important;
        overflow: hidden !important;
    }
    body.single-product .books-discount-bar .books-poster-slider__track,
    body.single-product .books-discount-bar .books-poster-slider__slide {
        height: 100% !important;
    }
    body.single-product .books-discount-bar .books-poster-slider__slide img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
        display: block !important;
    }
}

/* ===== 商品页面相关推荐样式调整 ===== */
/* 隐藏 See All Deals 按钮 */
.books-related__link {
    display: none !important;
}

/* 相关推荐商品价格改为红色 */
.books-related .books-card__price,
.books-related .books-card__price .woocommerce-Price-amount,
.books-related .books-card__sale-price,
.books-related .price,
.books-related .price .woocommerce-Price-amount,
.books-related ins .woocommerce-Price-amount {
    color: #1f2937 !important;
}



/* ===== 相关商品样式 - 显示4个可滑动，封面更大 ===== */
.books-related__scroller {
    scroll-snap-type: x mandatory;
}
.books-related__grid {
    display: flex !important;
    gap: 24px !important;
}
.books-related__item {
    flex: 0 0 calc(25% - 18px) !important;
    min-width: calc(25% - 18px) !important;
    scroll-snap-align: start;
}
.books-related__media {
    width: 100% !important;
    aspect-ratio: 2/3 !important;
    overflow: hidden !important;
    border-radius: 10px !important;
    background: #f5f5f5;
}
.books-related__image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}
.books-related__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
/* 所有价格变红色 */
.books-related .books-related__price,
.books-related .woocommerce-Price-amount {
    color: #1f2937 !important;
}

/* 相关商品折扣原价灰色 */
.books-related del,
.books-related del .woocommerce-Price-amount,
.books-related del bdi,
.books-related__price del,
.books-related__price del .woocommerce-Price-amount,
.books-related__price del bdi {
    color: #888 !important;
    text-decoration: line-through !important;
    font-weight: 400 !important;
}


/* ===== 页脚链接悬停效果增强 ===== */
.books-footer__links a {
    position: relative;
    transition: color 0.2s ease, transform 0.2s ease !important;
}
.books-footer__links a:hover {
    color: #0f9d8f !important;
    transform: translateX(4px);
}
.books-footer__links a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0;
    height: 2px;
    background: #0f9d8f;
    transition: width 0.3s ease;
}
.books-footer__links a:hover::after {
    width: 100%;
}
/* 页脚标题悬停 */
.books-footer__heading:hover {
    color: #0f9d8f !important;
}
/* 社交图标悬停 */
.books-footer__social a:hover {
    transform: scale(1.15);
    opacity: 0.8;
}
.books-footer__social a {
    transition: transform 0.2s ease, opacity 0.2s ease;
}

/* Newsletter button as link styling */
.books-footer__newsletter-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: #0f9d8f;
    border-radius: 0 4px 4px 0;
    color: white;
    text-decoration: none;
    transition: background 0.3s ease;
}
.books-footer__newsletter-btn:hover {
    background: #0b7a70;
    color: white;
}

/* ========== My Account Page Styling ========== */
.woocommerce-account .woocommerce {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

/* Page Title */
.woocommerce-account .entry-title,
.woocommerce-account h1 {
    text-align: center;
    font-size: 32px;
    font-weight: 600;
    color: #333;
    margin-bottom: 40px;
}

/* Main Layout Container */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
    display: inline-block;
    vertical-align: top;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 25%;
    min-width: 220px;
    padding-right: 40px;
    box-sizing: border-box;
}

.woocommerce-account .woocommerce-MyAccount-content {
    width: 70%;
    box-sizing: border-box;
    background: #fff;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 2px 20px rgba(0,0,0,0.08);
}

/* Navigation Menu */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 20px rgba(0,0,0,0.08);
    overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin: 0;
    border-bottom: 1px solid #f0f0f0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    padding: 16px 20px;
    color: #555;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    transition: all 0.3s ease;
    position: relative;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
    content: '';
    width: 24px;
    height: 24px;
    margin-right: 12px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.6;
    transition: opacity 0.3s ease;
}

/* Menu Icons */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a::before {
    content: '📊';
    background: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a::before {
    content: '📦';
    background: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads a::before {
    content: '📥';
    background: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--addresses a::before,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-address a::before {
    content: '📍';
    background: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--payment-methods a::before {
    content: '💳';
    background: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-account a::before {
    content: '👤';
    background: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a::before {
    content: '🚪';
    background: none;
}

/* Hover & Active States */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background: #fdf2f5;
    color: #0f9d8f;
    padding-left: 28px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    color: #0f9d8f;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background: linear-gradient(135deg, #0f9d8f 0%, #7fd1c7 100%);
    color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a::before {
    opacity: 1;
}

/* Content Area */
.woocommerce-account .woocommerce-MyAccount-content p {
    font-size: 15px;
    line-height: 1.8;
    color: #555;
}

.woocommerce-account .woocommerce-MyAccount-content a {
    color: #0f9d8f;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.woocommerce-account .woocommerce-MyAccount-content a:hover {
    color: #0b7a70;
    text-decoration: underline;
}

/* Welcome Message */
.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
    font-size: 16px;
    padding: 20px;
    background: linear-gradient(135deg, #fdf2f5 0%, #fff5f7 100%);
    border-radius: 8px;
    border-left: 4px solid #0f9d8f;
    margin-bottom: 20px;
}

/* Buttons */
.woocommerce-account .woocommerce-Button,
.woocommerce-account .button {
    background: linear-gradient(135deg, #0f9d8f 0%, #7fd1c7 100%);
    color: #fff;
    border: none;
    padding: 12px 28px;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.woocommerce-account .woocommerce-Button:hover,
.woocommerce-account .button:hover {
    background: linear-gradient(135deg, #0b7a70 0%, #0f9d8f 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(15, 157, 143, 0.4);
}

/* Forms */
.woocommerce-account .woocommerce-form-row input,
.woocommerce-account .form-row input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    font-size: 15px;
    transition: border-color 0.3s ease;
}

.woocommerce-account .woocommerce-form-row input:focus,
.woocommerce-account .form-row input:focus {
    border-color: #0f9d8f;
    outline: none;
    box-shadow: 0 0 0 3px rgba(15, 157, 143, 0.1);
}

/* Orders Table */
.woocommerce-account .woocommerce-orders-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}

.woocommerce-account .woocommerce-orders-table th {
    background: #f8f8f8;
    padding: 14px 16px;
    text-align: left;
    font-weight: 600;
    color: #333;
    border-bottom: 2px solid #0f9d8f;
}

.woocommerce-account .woocommerce-orders-table td {
    padding: 14px 16px;
    border-bottom: 1px solid #eee;
}

.woocommerce-account .woocommerce-orders-table tr:hover td {
    background: #fdf2f5;
}

/* Addresses */
.woocommerce-account .woocommerce-Addresses {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}

.woocommerce-account .woocommerce-Address {
    flex: 1;
    min-width: 280px;
    background: #f8f8f8;
    padding: 24px;
    border-radius: 12px;
}

.woocommerce-account .woocommerce-Address-title h3 {
    font-size: 18px;
    margin-bottom: 16px;
    color: #333;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content {
        width: 100%;
        display: block;
    }
    
    .woocommerce-account .woocommerce-MyAccount-navigation {
        padding-right: 0;
        margin-bottom: 30px;
    }
    
    .woocommerce-account .woocommerce-MyAccount-content {
        padding: 20px;
    }

    .woocommerce-account .woocommerce-orders-table {
        border-collapse: separate;
        border-spacing: 0;
        margin-top: 12px;
    }

    .woocommerce-account .woocommerce-orders-table thead {
        display: none;
    }

    .woocommerce-account .woocommerce-orders-table tbody,
    .woocommerce-account .woocommerce-orders-table tr,
    .woocommerce-account .woocommerce-orders-table th,
    .woocommerce-account .woocommerce-orders-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .woocommerce-account .woocommerce-orders-table tbody tr {
        margin-bottom: 16px;
        overflow: hidden;
        background: #fff;
        border: 1px solid rgba(15, 157, 143, 0.16);
        border-radius: 14px;
        box-shadow: 0 8px 22px rgba(17, 24, 39, 0.06);
    }

    .woocommerce-account .woocommerce-orders-table tbody tr:last-child {
        margin-bottom: 0;
    }

    .woocommerce-account .woocommerce-orders-table tbody th.woocommerce-orders-table__cell-order-number {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 16px;
        background: #fff7fa;
        border-bottom: 1px solid rgba(15, 157, 143, 0.18);
        text-align: right;
    }

    .woocommerce-account .woocommerce-orders-table tbody th.woocommerce-orders-table__cell-order-number::before {
        content: attr(data-title);
        color: #6b7280;
        font-size: 12px;
        font-weight: 700;
        text-align: left;
        text-transform: uppercase;
    }

    .woocommerce-account .woocommerce-orders-table tbody th.woocommerce-orders-table__cell-order-number a {
        color: #0f9d8f;
        font-size: 16px;
        font-weight: 800;
    }

    .woocommerce-account .woocommerce-orders-table td {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 12px 16px;
        border-bottom: 1px solid #f0f0f0;
        text-align: right;
    }

    .woocommerce-account .woocommerce-orders-table td::before {
        content: attr(data-title);
        flex: 0 0 auto;
        float: none !important;
        color: #555;
        font-size: 13px;
        font-weight: 700;
        text-align: left;
    }

    .woocommerce-account .woocommerce-orders-table td:last-child {
        border-bottom: none;
    }

    .woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
        padding-top: 14px;
        background: #fff;
    }

    .woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before {
        content: none;
    }

    .woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button {
        flex: 1 1 118px;
        margin: 0;
        padding: 10px 12px;
        border-radius: 999px;
        text-align: center;
    }
}

/* Hide discount bar, banner, and square images on My Account page */
.woocommerce-account .books-discount-bar,
.woocommerce-account .books-banner,
.woocommerce-account .wp-block-image,
.woocommerce-account .books-hero-banner,
.woocommerce-account .page-banner,
.woocommerce-account .entry-header,
.woocommerce-account .wp-block-cover {
}

/* ===== 购物车页面优化样式 ===== */
body.woocommerce-cart .wp-block-woocommerce-cart {
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 40px 20px !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart.alignwide {
    max-width: 1100px !important;
}

/* 购物车标题 */
body.woocommerce-cart .wp-block-post-title,
body.woocommerce-cart h1.wp-block-post-title {
    text-align: center !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #333 !important;
    margin-bottom: 30px !important;
}

/* 主容器布局 */
body.woocommerce-cart .wp-block-woocommerce-filled-cart-block {
    display: grid !important;
    grid-template-columns: 1fr 380px !important;
    gap: 40px !important;
    align-items: start !important;
}

/* 商品列表区域 */
body.woocommerce-cart .wp-block-woocommerce-cart-items-block {
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    padding: 24px !important;
}

/* 商品行样式 */
body.woocommerce-cart .wc-block-cart-items__row {
    padding: 20px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

body.woocommerce-cart .wc-block-cart-items__row:last-child {
    border-bottom: none !important;
}

/* 商品图片 */
body.woocommerce-cart .wc-block-cart-item__image img {
    border-radius: 10px !important;
    width: 80px !important;
    height: auto !important;
}

/* 商品名称 */
body.woocommerce-cart .wc-block-components-product-name {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #333 !important;
    text-decoration: none !important;
}

body.woocommerce-cart .wc-block-components-product-name:hover {
    color: #0f9d8f !important;
}

/* 商品价格 */
body.woocommerce-cart .wc-block-cart-item__prices .wc-block-components-product-price {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #0f9d8f !important;
}

/* 数量选择器 */
body.woocommerce-cart .wc-block-components-quantity-selector {
    border: 2px solid #e0e0e0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button {
    background: #f8f8f8 !important;
    border: none !important;
    color: #0f9d8f !important;
    font-weight: 600 !important;
    transition: background 0.2s ease !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button:hover {
    background: #0f9d8f !important;
    color: #fff !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__input {
    border: none !important;
    font-weight: 600 !important;
    text-align: center !important;
}

/* 移除链接 */
body.woocommerce-cart .wc-block-cart-item__remove-link {
    color: #999 !important;
    font-size: 13px !important;
    text-decoration: none !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover {
    color: #1f2937 !important;
}

/* 右侧订单汇总 */
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    padding: 24px !important;
    position: sticky !important;
    top: 100px !important;
}

/* 汇总标题 */
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-heading-block {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #333 !important;
    margin-bottom: 20px !important;
    padding-bottom: 15px !important;
    border-bottom: 2px solid #f0f0f0 !important;
}

/* 优惠券输入 */
body.woocommerce-cart .wc-block-components-totals-coupon__button {
    background: #0f9d8f !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__button:hover {
    background: #0b7a70 !important;
}

/* 汇总项 */
body.woocommerce-cart .wc-block-components-totals-item {
    padding: 12px 0 !important;
    border-bottom: 1px solid #f5f5f5 !important;
}

body.woocommerce-cart .wc-block-components-totals-item__label {
    font-size: 14px !important;
    color: #666 !important;
}

body.woocommerce-cart .wc-block-components-totals-item__value {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #333 !important;
}

/* 总计 */
body.woocommerce-cart .wc-block-components-totals-footer-item {
    padding-top: 20px !important;
    margin-top: 10px !important;
    border-top: 2px solid #0f9d8f !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #333 !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #0f9d8f !important;
}

/* 结账按钮 */
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
    background: linear-gradient(135deg, #0f9d8f 0%, #7fd1c7 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 16px 24px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    width: 100% !important;
    margin-top: 20px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(15, 157, 143, 0.3) !important;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover {
    background: linear-gradient(135deg, #0b7a70 0%, #0f9d8f 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(15, 157, 143, 0.4) !important;
}

/* 空购物车样式 */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
    text-align: center !important;
    padding: 60px 20px !important;
    background: linear-gradient(135deg, rgba(15, 157, 143, 0.05) 0%, rgba(127, 209, 199, 0.05) 100%) !important;
    border-radius: 20px !important;
    margin: 40px auto !important;
    max-width: 600px !important;
}

/* 表头样式 */
body.woocommerce-cart .wc-block-cart-items__header {
    background: #f8f9fa !important;
    padding: 12px 16px !important;
    border-radius: 8px !important;
    margin-bottom: 10px !important;
}

body.woocommerce-cart .wc-block-cart-items__header-image,
body.woocommerce-cart .wc-block-cart-items__header-product,
body.woocommerce-cart .wc-block-cart-items__header-total {
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #666 !important;
    letter-spacing: 0.5px !important;
}

/* 响应式 */
@media (max-width: 900px) {
    body.woocommerce-cart .wp-block-woocommerce-filled-cart-block {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    
    body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
        position: static !important;
    }
}

@media (max-width: 600px) {
    body.woocommerce-cart .wp-block-woocommerce-cart {
        padding: 20px 15px !important;
    }
    
    body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
    body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
        padding: 16px !important;
    }
}

/* ===== 购物车页面优化样式 v2 ===== */
body.woocommerce-cart .wp-block-woocommerce-cart {
    max-width: 1000px !important;
    margin: 0 auto !important;
    padding: 30px 20px 60px !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart.alignwide {
    max-width: 1000px !important;
}

/* 主容器布局 - 调整比例 */
body.woocommerce-cart .wp-block-woocommerce-filled-cart-block {
    display: flex !important;
    gap: 30px !important;
    align-items: flex-start !important;
}

/* 商品列表区域 - 左侧 */
body.woocommerce-cart .wp-block-woocommerce-cart-items-block {
    flex: 1 1 60% !important;
    min-width: 0 !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
    padding: 20px !important;
}

/* 右侧订单汇总 - 固定宽度 */
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
    flex: 0 0 320px !important;
    width: 320px !important;
    min-width: 320px !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
    padding: 24px !important;
    position: sticky !important;
    top: 100px !important;
}

/* 汇总标题 */
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-heading-block,
body.woocommerce-cart .wc-block-components-totals-wrapper .wc-block-components-panel__button {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #333 !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid #f0f0f0 !important;
    white-space: nowrap !important;
}

/* 汇总项 - 单行显示 */
body.woocommerce-cart .wc-block-components-totals-item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #f5f5f5 !important;
}

body.woocommerce-cart .wc-block-components-totals-item__label {
    font-size: 14px !important;
    color: #666 !important;
    white-space: nowrap !important;
}

body.woocommerce-cart .wc-block-components-totals-item__value {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #333 !important;
    white-space: nowrap !important;
}

/* 总计 - 更醒目 */
body.woocommerce-cart .wc-block-components-totals-footer-item {
    padding-top: 16px !important;
    margin-top: 8px !important;
    border-top: 2px solid #0f9d8f !important;
    border-bottom: none !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #333 !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #0f9d8f !important;
}

/* 结账按钮 */
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
    background: linear-gradient(135deg, #0f9d8f 0%, #7fd1c7 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 20px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    width: 100% !important;
    margin-top: 16px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 12px rgba(15, 157, 143, 0.3) !important;
    white-space: nowrap !important;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover {
    background: linear-gradient(135deg, #0b7a70 0%, #0f9d8f 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(15, 157, 143, 0.4) !important;
}

/* 商品行样式 */
body.woocommerce-cart .wc-block-cart-items__row {
    padding: 16px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

body.woocommerce-cart .wc-block-cart-items__row:last-child {
    border-bottom: none !important;
}

/* 商品图片 */
body.woocommerce-cart .wc-block-cart-item__image img {
    border-radius: 8px !important;
    width: 70px !important;
    height: auto !important;
}

/* 商品名称 */
body.woocommerce-cart .wc-block-components-product-name {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #333 !important;
    text-decoration: none !important;
}

body.woocommerce-cart .wc-block-components-product-name:hover {
    color: #0f9d8f !important;
}

/* 商品价格 */
body.woocommerce-cart .wc-block-cart-item__prices .wc-block-components-product-price {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0f9d8f !important;
}

/* 数量选择器 */
body.woocommerce-cart .wc-block-components-quantity-selector {
    border: 2px solid #0f9d8f !important;
    border-radius: 6px !important;
    overflow: hidden !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button {
    background: #fff !important;
    border: none !important;
    color: #0f9d8f !important;
    font-weight: 600 !important;
    transition: background 0.2s ease !important;
    padding: 4px 10px !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button:hover {
    background: #0f9d8f !important;
    color: #fff !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__input {
    border: none !important;
    border-left: 1px solid #0f9d8f !important;
    border-right: 1px solid #0f9d8f !important;
    font-weight: 600 !important;
    text-align: center !important;
    width: 40px !important;
}

/* 移除链接 */
body.woocommerce-cart .wc-block-cart-item__remove-link {
    color: #999 !important;
    font-size: 12px !important;
    text-decoration: none !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover {
    color: #1f2937 !important;
}

/* 表头样式 */
body.woocommerce-cart .wc-block-cart-items__header {
    background: #f8f9fa !important;
    padding: 10px 12px !important;
    border-radius: 6px !important;
    margin-bottom: 8px !important;
}

body.woocommerce-cart .wc-block-cart-items__header-image,
body.woocommerce-cart .wc-block-cart-items__header-product,
body.woocommerce-cart .wc-block-cart-items__header-total {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #666 !important;
    letter-spacing: 0.5px !important;
}

/* 优惠券区域 */
body.woocommerce-cart .wc-block-components-totals-coupon {
    margin: 12px 0 !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__button {
    background: #0f9d8f !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    padding: 8px 16px !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__button:hover {
    background: #0b7a70 !important;
}

/* 响应式 */
@media (max-width: 800px) {
    body.woocommerce-cart .wp-block-woocommerce-filled-cart-block {
        flex-direction: column !important;
    }
    
    body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
    body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
        flex: 1 1 100% !important;
        width: 100% !important;
        min-width: 100% !important;
    }
    
    body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
        position: static !important;
    }
}

@media (max-width: 500px) {
    body.woocommerce-cart .wp-block-woocommerce-cart {
        padding: 20px 12px !important;
    }
    
    body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
    body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
        padding: 16px !important;
    }
}

/* ===== Header 紧凑样式 ===== */
.books-header {
    padding: 5px 0 !important;
}

.books-header__row {
    padding: 0 20px !important;
}

/* Logo 尺寸控制 */
.books-header__left img,
.books-header__left .wp-block-site-logo img,
.books-header__left .custom-logo {
    max-height: 60px !important;
    width: auto !important;
}

/* 搜索框高度 */
.books-header__search .wp-block-search__inside-wrapper {
    padding: 4px 4px 4px 16px !important;
}

.books-header__search .wp-block-search__input {
    padding: 8px 12px !important;
    font-size: 14px !important;
}

.books-header__search .wp-block-search__button {
    padding: 8px 16px !important;
}

/* 右侧图标 */
.books-header__right a,
.books-header__right button {
    padding: 6px !important;
}

/* ===== Header 图标按钮统一大小 ===== */
.books-header__right .wc-block-mini-cart__button,
.books-header__right .wp-block-woocommerce-customer-account a {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* 图标大小统一 */
.books-header__right .wc-block-mini-cart__icon,
.books-header__right .wp-block-woocommerce-customer-account svg {
    width: 20px !important;
    height: 20px !important;
}

/* 购物车数量徽章 */
.books-header__right .wc-block-mini-cart__badge {
    position: absolute !important;
    top: -4px !important;
    right: -4px !important;
    min-width: 18px !important;
    height: 18px !important;
    font-size: 11px !important;
    line-height: 18px !important;
    border-radius: 50% !important;
    background: #0f9d8f !important;
    color: #fff !important;
    text-align: center !important;
    padding: 0 4px !important;
}

.books-header__right .wc-block-mini-cart__quantity-badge {
    position: relative !important;
}

/* ===== Header 布局居中靠拢 ===== */
.books-header__row {
    max-width: 900px !important;
    gap: 16px !important;
    padding: 0 20px !important;
}

.books-header__center {
    flex: 1 1 auto !important;
    max-width: 500px !important;
}

.books-header__left {
    margin-right: 0 !important;
}

.books-header__right {
    margin-left: 0 !important;
    gap: 10px !important;
    display: flex !important;
    align-items: center !important;
}

/* ===== Header 布局紧凑居中 - 强制覆盖 ===== */
body .books-header .books-header__row,
.books-header .books-header__row,
.books-header__row {
    max-width: 850px !important;
    margin: 0 auto !important;
    gap: 12px !important;
    padding: 0 15px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body .books-header__left,
.books-header__left {
    flex: 0 0 auto !important;
    margin-right: 0 !important;
}

body .books-header__center,
.books-header__center {
    flex: 1 1 auto !important;
    max-width: 450px !important;
    min-width: 300px !important;
    margin: 0 !important;
}

body .books-header__right,
.books-header__right {
    flex: 0 0 auto !important;
    margin-left: 0 !important;
    gap: 8px !important;
    display: flex !important;
    align-items: center !important;
}

/* 搜索框容器 */
body .books-header__search,
.books-header__search {
    max-width: 100% !important;
    width: 100% !important;
}

/* ===== 相关推荐卡片紧凑样式 ===== */
.books-related__card {
    padding: 8px !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06) !important;
}

.books-related__item {
    flex: 0 0 calc(25% - 12px) !important;
    min-width: calc(25% - 12px) !important;
}

.books-related__grid {
    gap: 16px !important;
}

.books-related__media {
    width: 100% !important;
    aspect-ratio: 2/3 !important;
    overflow: hidden !important;
    border-radius: 6px !important;
    background: #f8f8f8 !important;
    margin-bottom: 8px !important;
}

.books-related__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 6px !important;
}

.books-related__name {
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    margin-bottom: 6px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 34px !important;
}

.books-related__meta {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 13px !important;
}

.books-related__price {
    font-weight: 700 !important;
}

.books-related__stock {
    font-size: 11px !important;
    font-weight: 600 !important;
}

/* ===== 相关推荐图片完整显示 ===== */
.books-related__media {
    aspect-ratio: 3/4 !important;
    background: #f5f5f5 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.books-related__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}

/* ===== 相关推荐图片修复v2 ===== */
.books-related__media {
    aspect-ratio: auto !important;
    background: transparent !important;
    height: auto !important;
    overflow: visible !important;
}

.books-related__image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
}

.books-related__image img {
    width: 100% !important;
    height: auto !important;
    object-fit: unset !important;
    border-radius: 6px !important;
    display: block !important;
}

.books-related__card {
    background: #fff !important;
    padding: 10px !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06) !important;
}

/* ===== 相关推荐图片修复v3 - 完整显示 ===== */
.books-related__card {
    background: #fff !important;
    padding: 10px !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06) !important;
    height: auto !important;
    overflow: visible !important;
}

.books-related__media {
    aspect-ratio: unset !important;
    background: transparent !important;
    height: auto !important;
    overflow: visible !important;
    max-height: none !important;
}

.books-related__image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
}

.books-related__image img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: unset !important;
    border-radius: 6px !important;
    display: block !important;
}

/* 移除任何可能的高度限制 */
.books-related__item,
.books-related__item > * {
    max-height: none !important;
    overflow: visible !important;
}

/* ===== 相关推荐模块重新设计 v4 ===== */
/* 覆盖所有之前的样式 */

/* 容器布局 */
.books-related__grid {
    display: flex !important;
    gap: 20px !important;
}

.books-related__item {
    flex: 0 0 200px !important;
    max-width: 200px !important;
    max-height: none !important;
    overflow: visible !important;
}

/* 卡片样式 */
.books-related__card {
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
    padding: 12px !important;
    height: auto !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
}

/* 图片容器 - 关键：让图片自然显示 */
.books-related__media {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: unset !important;
    max-height: none !important;
    overflow: visible !important;
    background: transparent !important;
    margin-bottom: 10px !important;
}

/* 图片链接 */
.books-related__image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
}

/* 图片本身 - 完全自然显示 */
.books-related__image img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 8px !important;
    display: block !important;
    background: #f8f8f8 !important;
}

/* 添加按钮位置调整 */
.books-related__add {
    position: absolute !important;
    bottom: 8px !important;
    right: 8px !important;
    width: 36px !important;
    height: 36px !important;
    background: #0f9d8f !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    opacity: 0 !important;
    transition: opacity 0.2s !important;
}

.books-related__card:hover .books-related__add {
    opacity: 1 !important;
}

/* 标题 */
.books-related__name {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #333 !important;
    line-height: 1.4 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    margin-bottom: 8px !important;
    text-decoration: none !important;
    min-height: 36px !important;
}

/* 价格和库存 */
.books-related__meta {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: auto !important;
}

.books-related__price {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1f2937 !important;
}

.books-related__price del {
    color: #888 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    margin-right: 5px !important;
}

.books-related__stock.is-in {
    font-size: 11px !important;
    color: #22c55e !important;
    font-weight: 500 !important;
}

/* ===== 相关推荐 - 图片填满无灰色区域 v5 ===== */

.books-related__media {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 1/1.3 !important;
    overflow: hidden !important;
    background: transparent !important;
    border-radius: 8px !important;
    margin-bottom: 10px !important;
}

.books-related__image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
}

.books-related__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: fill !important;
    border-radius: 8px !important;
    display: block !important;
    background: none !important;
}

/* ===== 相关推荐 - 调整比例显示完整封面 v6 ===== */

.books-related__media {
    aspect-ratio: 2/3 !important;
}

.books-related__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: fill !important;
}


/* ===== Mobile Navigation & Search Optimization ===== */
@media (max-width: 600px) {
    /* Top bar - single line */
    .books-topbar__row {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: center;
        gap: 8px;
        /* 2026-08-06 顶部通栏收窄：上下 8px → 2px（外层 .books-topbar 另有 6px） */
        padding: 2px 12px;
        font-size: 11px;
    }
    
    .books-topbar__row > * {
        white-space: nowrap;
    }
    
    /* Header layout - Logo + Search + Icons in one row */
    .books-header__row {
        flex-wrap: nowrap !important;
        padding: 8px 12px;
        gap: 8px;
        align-items: center;
    }
    
    /* Logo smaller on mobile */
    .books-header__left {
        flex-shrink: 0;
    }
    
    .books-header__left img {
        max-height: 40px;
        width: auto;
    }
    
    /* Search in middle, flexible width */
    .books-header__center {
        flex: 1 1 auto !important;
        max-width: none !important;
        min-width: 0;
        order: 2;
    }
    
    .books-header__search {
        max-width: 100% !important;
        width: 100%;
    }
    
    .books-header__search .wp-block-search__inside-wrapper {
        padding: 2px;
    }
    
    .books-header__search .wp-block-search__input {
        padding: 6px 10px;
        min-height: 36px;
        font-size: 13px;
    }
    
    .books-header__search .wp-block-search__button {
        min-height: 32px;
        min-width: 36px;
        padding: 0 10px;
    }
    
    /* Cart and user icons on right */
    .books-header__right {
        flex-shrink: 0;
        order: 3;
    }
    
    .books-header__right :is(
        .wc-block-mini-cart__button,
        .wp-block-woocommerce-customer-account a
    ) {
        width: 32px;
        height: 32px;
    }
    
    .books-header__right :is(
        .wc-block-mini-cart__icon,
        .wp-block-woocommerce-customer-account svg
    ) {
        width: 18px;
        height: 18px;
    }
    
    /* Navigation bar - grid layout for better alignment */
    .books-nav__top {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px 16px;
        padding: 12px 16px;
        text-align: center;
    }
    
    .books-nav__item {
        display: flex;
        justify-content: center;
    }
    
    .books-nav__link {
        font-size: 11px;
        letter-spacing: 0.04em;
        padding: 6px 8px;
        white-space: nowrap;
    }
    
    /* Hide mega menu dropdown arrow on mobile */
    .books-nav__item--mega > .books-nav__link::after {
        display: none;
    }
}

@media (max-width: 400px) {
    .books-header__left img {
        max-height: 35px;
    }
    
    .books-header__search .wp-block-search__input {
        padding: 4px 8px;
        font-size: 12px;
    }
    
    .books-nav__link {
        font-size: 10px;
        padding: 4px 6px;
    }
    
    .books-nav__top {
        gap: 6px 12px;
    }
}


/* ===== Mobile Navigation & Search Optimization ===== */
@media (max-width: 600px) {
    /* Top bar - single line */
    .books-topbar__row {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: center;
        gap: 8px;
        /* 2026-08-06 顶部通栏收窄：上下 8px → 2px（外层 .books-topbar 另有 6px） */
        padding: 2px 12px;
        font-size: 11px;
    }
    
    .books-topbar__row > * {
        white-space: nowrap;
    }
    
    /* Header layout - Logo + Search + Icons in one row */
    .books-header__row {
        flex-wrap: nowrap !important;
        padding: 8px 12px;
        gap: 8px;
        align-items: center;
    }
    
    /* Logo smaller on mobile */
    .books-header__left {
        flex-shrink: 0;
    }
    
    .books-header__left img {
        max-height: 40px;
        width: auto;
    }
    
    /* Search in middle, flexible width */
    .books-header__center {
        flex: 1 1 auto !important;
        max-width: none !important;
        min-width: 0;
        order: 2;
    }
    
    .books-header__search {
        max-width: 100% !important;
        width: 100%;
    }
    
    .books-header__search .wp-block-search__inside-wrapper {
        padding: 2px;
    }
    
    .books-header__search .wp-block-search__input {
        padding: 6px 10px;
        min-height: 36px;
        font-size: 13px;
    }
    
    .books-header__search .wp-block-search__button {
        min-height: 32px;
        min-width: 36px;
        padding: 0 10px;
    }
    
    /* Cart and user icons on right */
    .books-header__right {
        flex-shrink: 0;
        order: 3;
    }
    
    .books-header__right :is(
        .wc-block-mini-cart__button,
        .wp-block-woocommerce-customer-account a
    ) {
        width: 32px;
        height: 32px;
    }
    
    .books-header__right :is(
        .wc-block-mini-cart__icon,
        .wp-block-woocommerce-customer-account svg
    ) {
        width: 18px;
        height: 18px;
    }
    
    /* Navigation bar - grid layout for better alignment */
    .books-nav__top {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px 16px;
        padding: 12px 16px;
        text-align: center;
    }
    
    .books-nav__item {
        display: flex;
        justify-content: center;
    }
    
    .books-nav__link {
        font-size: 11px;
        letter-spacing: 0.04em;
        padding: 6px 8px;
        white-space: nowrap;
    }
    
    /* Hide mega menu dropdown arrow on mobile */
    .books-nav__item--mega > .books-nav__link::after {
        display: none;
    }
}

@media (max-width: 400px) {
    .books-header__left img {
        max-height: 35px;
    }
    
    .books-header__search .wp-block-search__input {
        padding: 4px 8px;
        font-size: 12px;
    }
    
    .books-nav__link {
        font-size: 10px;
        padding: 4px 6px;
    }
    
    .books-nav__top {
        gap: 6px 12px;
    }
}


/* ===== Mobile Header v2 - Logo + Search + Icons in one row ===== */
@media (max-width: 600px) {
    /* Top bar - single line */
    .books-topbar__row {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: center;
        gap: 8px;
        /* 2026-08-06 顶部通栏收窄：上下 8px → 2px（外层 .books-topbar 另有 6px） */
        padding: 2px 12px;
        font-size: 11px;
    }
    
    .books-topbar__row > * {
        white-space: nowrap;
    }
    
    /* Header layout - Logo + Search + Icons in one row */
    .books-header__row {
        flex-wrap: nowrap !important;
        padding: 8px 12px;
        gap: 8px;
        align-items: center;
    }
    
    /* Logo smaller on mobile */
    .books-header__left {
        flex-shrink: 0;
    }
    
    .books-header__left img {
        max-height: 40px !important;
        width: auto;
    }
    
    /* Search in middle, flexible width */
    .books-header__center {
        flex: 1 1 auto !important;
        max-width: none !important;
        min-width: 0 !important;
        order: 2 !important;
    }
    
    .books-header__search {
        max-width: 100% !important;
        width: 100%;
    }
    
    .books-header__search .wp-block-search__inside-wrapper {
        padding: 2px;
    }
    
    .books-header__search .wp-block-search__input {
        padding: 6px 10px;
        min-height: 34px !important;
        font-size: 13px;
    }
    
    .books-header__search .wp-block-search__button {
        min-height: 30px !important;
        min-width: 34px !important;
        padding: 0 8px;
    }
    
    /* Cart and user icons on right */
    .books-header__right {
        flex-shrink: 0;
        order: 3 !important;
    }
    
    .books-header__right :is(
        .wc-block-mini-cart__button,
        .wp-block-woocommerce-customer-account a
    ) {
        width: 32px !important;
        height: 32px !important;
    }
    
    .books-header__right :is(
        .wc-block-mini-cart__icon,
        .wp-block-woocommerce-customer-account svg
    ) {
        width: 18px !important;
        height: 18px !important;
    }
}

@media (max-width: 400px) {
    .books-header__left img {
        max-height: 35px !important;
    }
    
    .books-header__search .wp-block-search__input {
        padding: 4px 8px;
        font-size: 12px;
    }
    
    .books-header__search .wp-block-search__button {
        min-width: 30px !important;
    }
}


/* ===== Mobile Header v2 - Logo + Search + Icons in one row ===== */
@media (max-width: 600px) {
    /* Top bar - single line */
    .books-topbar__row {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: center;
        gap: 8px;
        /* 2026-08-06 顶部通栏收窄：上下 8px → 2px（外层 .books-topbar 另有 6px） */
        padding: 2px 12px;
        font-size: 11px;
    }
    
    .books-topbar__row > * {
        white-space: nowrap;
    }
    
    /* Header layout - Logo + Search + Icons in one row */
    .books-header__row {
        flex-wrap: nowrap !important;
        padding: 8px 12px;
        gap: 8px;
        align-items: center;
    }
    
    /* Logo smaller on mobile */
    .books-header__left {
        flex-shrink: 0;
    }
    
    .books-header__left img {
        max-height: 40px !important;
        width: auto;
    }
    
    /* Search in middle, flexible width */
    .books-header__center {
        flex: 1 1 auto !important;
        max-width: none !important;
        min-width: 0 !important;
        order: 2 !important;
    }
    
    .books-header__search {
        max-width: 100% !important;
        width: 100%;
    }
    
    .books-header__search .wp-block-search__inside-wrapper {
        padding: 2px;
    }
    
    .books-header__search .wp-block-search__input {
        padding: 6px 10px;
        min-height: 34px !important;
        font-size: 13px;
    }
    
    .books-header__search .wp-block-search__button {
        min-height: 30px !important;
        min-width: 34px !important;
        padding: 0 8px;
    }
    
    /* Cart and user icons on right */
    .books-header__right {
        flex-shrink: 0;
        order: 3 !important;
    }
    
    .books-header__right :is(
        .wc-block-mini-cart__button,
        .wp-block-woocommerce-customer-account a
    ) {
        width: 32px !important;
        height: 32px !important;
    }
    
    .books-header__right :is(
        .wc-block-mini-cart__icon,
        .wp-block-woocommerce-customer-account svg
    ) {
        width: 18px !important;
        height: 18px !important;
    }
}

@media (max-width: 400px) {
    .books-header__left img {
        max-height: 35px !important;
    }
    
    .books-header__search .wp-block-search__input {
        padding: 4px 8px;
        font-size: 12px;
    }
    
    .books-header__search .wp-block-search__button {
        min-width: 30px !important;
    }
}


/* ===== Mobile Header v3 - Fix Logo visibility ===== */
@media (max-width: 600px) {
    /* Header - tighter layout */
    .books-header__row {
        flex-wrap: nowrap !important;
        padding: 6px 8px !important;
        gap: 6px !important;
        align-items: center;
    }
    
    /* Logo - smaller to fit */
    .books-header__left {
        flex-shrink: 0 !important;
        min-width: 0 !important;
    }
    
    .books-header__left img {
        max-height: 36px !important;
        max-width: 60px !important;
        width: auto !important;
        object-fit: contain;
    }
    
    /* Search - takes remaining space */
    .books-header__center {
        flex: 1 1 0 !important;
        max-width: none !important;
        min-width: 100px !important;
        order: 2 !important;
    }
    
    .books-header__search {
        max-width: 100% !important;
        width: 100% !important;
    }
    
    .books-header__search .wp-block-search__inside-wrapper {
        padding: 2px !important;
        gap: 4px !important;
    }
    
    .books-header__search .wp-block-search__input {
        padding: 4px 8px !important;
        min-height: 32px !important;
        font-size: 12px !important;
    }
    
    .books-header__search .wp-block-search__button {
        min-height: 28px !important;
        min-width: 32px !important;
        padding: 0 8px !important;
    }
    
    /* Icons - smaller */
    .books-header__right {
        flex-shrink: 0 !important;
        order: 3 !important;
        gap: 4px !important;
    }
    
    .books-header__right :is(
        .wc-block-mini-cart__button,
        .wp-block-woocommerce-customer-account a
    ) {
        width: 30px !important;
        height: 30px !important;
        padding: 0 !important;
    }
    
    .books-header__right :is(
        .wc-block-mini-cart__icon,
        .wp-block-woocommerce-customer-account svg
    ) {
        width: 16px !important;
        height: 16px !important;
    }
}

@media (max-width: 400px) {
    .books-header__left img {
        max-height: 32px !important;
        max-width: 50px !important;
    }
    
    .books-header__search .wp-block-search__input {
        font-size: 11px !important;
    }
}


/* ===== Mobile Header v3 - Fix Logo visibility ===== */
@media (max-width: 600px) {
    /* Header - tighter layout */
    .books-header__row {
        flex-wrap: nowrap !important;
        padding: 6px 8px !important;
        gap: 6px !important;
        align-items: center;
    }
    
    /* Logo - smaller to fit */
    .books-header__left {
        flex-shrink: 0 !important;
        min-width: 0 !important;
    }
    
    .books-header__left img {
        max-height: 36px !important;
        max-width: 60px !important;
        width: auto !important;
        object-fit: contain;
    }
    
    /* Search - takes remaining space */
    .books-header__center {
        flex: 1 1 0 !important;
        max-width: none !important;
        min-width: 100px !important;
        order: 2 !important;
    }
    
    .books-header__search {
        max-width: 100% !important;
        width: 100% !important;
    }
    
    .books-header__search .wp-block-search__inside-wrapper {
        padding: 2px !important;
        gap: 4px !important;
    }
    
    .books-header__search .wp-block-search__input {
        padding: 4px 8px !important;
        min-height: 32px !important;
        font-size: 12px !important;
    }
    
    .books-header__search .wp-block-search__button {
        min-height: 28px !important;
        min-width: 32px !important;
        padding: 0 8px !important;
    }
    
    /* Icons - smaller */
    .books-header__right {
        flex-shrink: 0 !important;
        order: 3 !important;
        gap: 4px !important;
    }
    
    .books-header__right :is(
        .wc-block-mini-cart__button,
        .wp-block-woocommerce-customer-account a
    ) {
        width: 30px !important;
        height: 30px !important;
        padding: 0 !important;
    }
    
    .books-header__right :is(
        .wc-block-mini-cart__icon,
        .wp-block-woocommerce-customer-account svg
    ) {
        width: 16px !important;
        height: 16px !important;
    }
}

@media (max-width: 400px) {
    .books-header__left img {
        max-height: 32px !important;
        max-width: 50px !important;
    }
    
    .books-header__search .wp-block-search__input {
        font-size: 11px !important;
    }
}


/* ===== Mobile Header v4 - Shorter search box ===== */
@media (max-width: 600px) {
    /* Search box - limit max width to leave room for logo/icons */
    .books-header__center {
        flex: 0 1 180px !important;
        max-width: 180px !important;
        min-width: 120px !important;
    }
    
    .books-header__search {
        max-width: 180px !important;
    }
    
    .books-header__search .wp-block-search__input {
        padding: 4px 6px !important;
        min-height: 30px !important;
        font-size: 11px !important;
    }
    
    .books-header__search .wp-block-search__input::placeholder {
        font-size: 10px !important;
    }
    
    .books-header__search .wp-block-search__button {
        min-height: 26px !important;
        min-width: 28px !important;
        padding: 0 6px !important;
    }
}

@media (max-width: 400px) {
    .books-header__center {
        flex: 0 1 140px !important;
        max-width: 140px !important;
        min-width: 100px !important;
    }
    
    .books-header__search {
        max-width: 140px !important;
    }
}


/* ===== Mobile Header v4 - Shorter search box ===== */
@media (max-width: 600px) {
    /* Search box - limit max width to leave room for logo/icons */
    .books-header__center {
        flex: 0 1 180px !important;
        max-width: 180px !important;
        min-width: 120px !important;
    }
    
    .books-header__search {
        max-width: 180px !important;
    }
    
    .books-header__search .wp-block-search__input {
        padding: 4px 6px !important;
        min-height: 30px !important;
        font-size: 11px !important;
    }
    
    .books-header__search .wp-block-search__input::placeholder {
        font-size: 10px !important;
    }
    
    .books-header__search .wp-block-search__button {
        min-height: 26px !important;
        min-width: 28px !important;
        padding: 0 6px !important;
    }
}

@media (max-width: 400px) {
    .books-header__center {
        flex: 0 1 140px !important;
        max-width: 140px !important;
        min-width: 100px !important;
    }
    
    .books-header__search {
        max-width: 140px !important;
    }
}


/* ===== Mobile Header v5 - Even shorter search ===== */
@media (max-width: 600px) {
    .books-header__center {
        flex: 0 1 120px !important;
        max-width: 120px !important;
        min-width: 80px !important;
    }
    
    .books-header__search {
        max-width: 120px !important;
    }
}

@media (max-width: 400px) {
    .books-header__center {
        flex: 0 1 100px !important;
        max-width: 100px !important;
        min-width: 70px !important;
    }
    
    .books-header__search {
        max-width: 100px !important;
    }
}


/* ===== Mobile Header v5 - Even shorter search ===== */
@media (max-width: 600px) {
    .books-header__center {
        flex: 0 1 120px !important;
        max-width: 120px !important;
        min-width: 80px !important;
    }
    
    .books-header__search {
        max-width: 120px !important;
    }
}

@media (max-width: 400px) {
    .books-header__center {
        flex: 0 1 100px !important;
        max-width: 100px !important;
        min-width: 70px !important;
    }
    
    .books-header__search {
        max-width: 100px !important;
    }
}


/* ===== Mobile Header v6 - Force shorter search with !important ===== */
@media (max-width: 600px) {
    /* Override inline flex-grow:1 */
    .wp-block-group.books-header__center {
        flex-grow: 0 !important;
        flex-shrink: 1 !important;
        flex-basis: auto !important;
        max-width: 45% !important;
        min-width: 80px !important;
    }
    
    .books-header__center.wp-block-group {
        flex: 0 1 auto !important;
        max-width: 45% !important;
    }
    
    /* Search form itself */
    form.books-header__search {
        max-width: 100% !important;
        width: 100% !important;
    }
    
    .books-header__search .wp-block-search__inside-wrapper {
        padding: 2px !important;
    }
    
    .books-header__search input.wp-block-search__input {
        padding: 4px 6px !important;
        min-height: 30px !important;
        font-size: 11px !important;
        min-width: 60px !important;
    }
}









/* ===== Fix Product Page Container Layout ===== */
@media (max-width: 768px) {
    /* 重置WordPress Block Editor的flex布局 */
    body.single-product main.wp-block-group {
        display: block !important;
    }
    
    body.single-product main .wp-block-group.is-layout-flex,
    body.single-product main .wp-block-group.is-vertical {
        display: block !important;
        flex-direction: unset !important;
    }
    
    body.single-product main .wp-block-group.is-layout-constrained {
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    /* 内容区域 */
    body.single-product .entry-content,
    body.single-product .wp-block-post-content {
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    body.single-product .woocommerce {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    body.single-product .single-product {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    body.single-product .product {
        max-width: 100% !important;
        padding: 8px !important;
        margin: 0 !important;
    }
    
    /* 折扣条 */
    .books-poster-slider.books-discount-bar {
        width: 100% !important;
        margin: 0 !important;
    }
    
    /* 面包屑 */
    .books-pdp-breadcrumb {
        font-size: 9px !important;
        margin-bottom: 8px !important;
        width: 100% !important;
    }
    
    /* === 主两列布局 === */
    .books-pdp-top {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        align-items: flex-start !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* 左列-封面 */
    .books-pdp-top > .books-gallery {
        flex: 0 0 35% !important;
        max-width: 35% !important;
        width: 35% !important;
        box-sizing: border-box !important;
    }
    
    /* 右列-产品信息 */
    .books-pdp-top > .summary,
    .books-pdp-top > .entry-summary {
        flex: 1 1 auto !important;
        max-width: 63% !important;
        box-sizing: border-box !important;
        margin-top: 0 !important;
    }
    
    /* 封面样式 */
    .books-gallery__image {
        width: 100% !important;
        height: auto !important;
    }
    
    .books-gallery-note {
        padding: 4px !important;
        margin-top: 5px !important;
    }
    
    .books-gallery-note__text {
        font-size: 7px !important;
    }
    
    .books-gallery-meta {
        font-size: 6px !important;
        margin-top: 4px !important;
    }
    
    /* 产品信息样式 */
    .books-product-title {
        font-size: 12px !important;
        line-height: 1.2 !important;
        margin-bottom: 4px !important;
    }
    
    .books-rating {
        margin-bottom: 4px !important;
    }
    
    .books-rating__stars {
        font-size: 9px !important;
    }
    
    .books-info-modules {
        grid-template-columns: 1fr 1fr !important;
        gap: 3px !important;
        margin-bottom: 5px !important;
    }
    
    .books-info-module {
        padding: 3px !important;
    }
    
    .books-info-module__label {
        font-size: 5px !important;
    }
    
    .books-info-module__value {
        font-size: 7px !important;
    }
    
    .books-format-isbn {
        font-size: 7px !important;
        margin-bottom: 5px !important;
    }
    
    .books-price__current {
        font-size: 14px !important;
    }
    
    .books-btn {
        padding: 5px 8px !important;
        font-size: 8px !important;
    }
    
    .books-short-description {
        display: none !important;
    }
}
/* END Fix */

/* ===== [MOBILE] Additional Optimizations ===== */
@media (max-width: 768px) {
    /* Hamburger Menu - Hide nav links, show hamburger button */
    .wp-block-navigation__responsive-container-content {
        display: none !important;
    }
    
    /* Make header sticky on mobile */
    header.wp-block-template-part {
        position: sticky !important;
        top: 0 !important;
        z-index: 100 !important;
        background: #fff !important;
    }
    
    /* Optimize product info cards for mobile */
    .books-info-cards {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }
    
    .books-info-card {
        padding: 12px 10px !important;
    }
    
    .books-info-card__label {
        font-size: 10px !important;
    }
    
    .books-info-card__value {
        font-size: 13px !important;
    }
    
    /* Compact product title on mobile */
    .books-product-title {
        font-size: 18px !important;
        line-height: 1.3 !important;
        margin-bottom: 8px !important;
    }
    
    /* Compact price display */
    .books-price__current {
        font-size: 24px !important;
    }
    
    .books-price__original {
        font-size: 14px !important;
    }
    
    .books-price__discount {
        font-size: 11px !important;
        padding: 4px 8px !important;
    }
    
    /* Trust badges inline display */
    .books-trust-badges {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        justify-content: center !important;
        margin: 12px 0 !important;
    }
    
    .books-trust-badge {
        font-size: 10px !important;
        padding: 6px 10px !important;
        white-space: nowrap !important;
    }
    
    /* Commitment section compact */
    .books-commitment__grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }
    
    .books-commitment__item {
        padding: 12px !important;
    }
    
    .books-commitment__icon img {
        width: 32px !important;
        height: 32px !important;
    }
    
    .books-commitment__content h3 {
        font-size: 13px !important;
        margin-bottom: 4px !important;
    }
    
    .books-commitment__content p {
        font-size: 11px !important;
        line-height: 1.4 !important;
    }
    
    /* Related products horizontal scroll */
    .books-related .products {
        display: flex !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 12px !important;
        padding-bottom: 16px !important;
    }
    
    .books-related .products li.product {
        flex: 0 0 160px !important;
        scroll-snap-align: start !important;
    }
    
    .books-related .products li.product img {
        height: 180px !important;
        object-fit: contain !important;
    }
    
    /* Reviews section compact */
    .books-review-card {
        padding: 14px !important;
    }
    
    .books-review-card__header {
        flex-wrap: wrap !important;
    }
    
    .books-review-card__author {
        font-size: 13px !important;
    }
    
    .books-review-card__content {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }
    
    /* Footer compact */
    .wp-block-footer {
        padding-bottom: 140px !important; /* Space for bottom bar + sticky cart */
    }
}

/* Mobile Typography Fixes */
@media (max-width: 768px) {
    body {
        font-size: 14px !important;
    }
    
    h1, .h1 {
        font-size: 20px !important;
    }
    
    h2, .h2 {
        font-size: 18px !important;
    }
    
    h3, .h3 {
        font-size: 16px !important;
    }
    
    p, li, td, th {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }
}

/* ===== Unified Mobile Footer (All Pages) ===== */
@media (max-width: 768px) {
    body .books-footer {
        background: #f5f5f5 !important;
        padding: 32px 16px 0 !important;
        margin-top: 0 !important;
    }

    body .books-footer__inner {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 16px 20px !important;
        padding: 0 !important;
    }

    body .books-footer__col--brand {
        grid-column: 1 / -1 !important;
        text-align: center !important;
    }

    body .books-footer__logo {
        max-width: 120px !important;
        margin: 0 auto 8px !important;
    }

    body .books-footer__meta {
        font-size: 12px !important;
        color: #555 !important;
        line-height: 1.7 !important;
        text-align: left !important;
    }

    body .books-footer__title {
        font-size: 13px !important;
        font-weight: 700 !important;
        color: #222 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        margin: 0 0 10px !important;
    }

    body .books-footer__links li {
        margin-bottom: 5px !important;
    }

    body .books-footer__links a {
        font-size: 12px !important;
        color: #555 !important;
    }

    body .books-footer__col--newsletter {
        grid-column: 1 / -1 !important;
    }

    body .books-footer__newsletter-form {
        display: flex !important;
        width: 92% !important;
        max-width: 360px !important;
        margin: 0 auto !important;
        align-items: stretch !important;
    }

    body .books-footer__newsletter-form input,
    body .books-footer__newsletter-form input[type="email"],
    body .books-footer__newsletter-form input[type="text"] {
        flex: 1 !important;
        min-width: 0 !important;
        min-height: 38px !important;
        padding: 7px 11px !important;
        border: 1px solid #ddd !important;
        border-right: none !important;
        border-radius: 4px 0 0 4px !important;
        font-size: 13px !important;
        outline: none !important;
    }

    body .books-footer__newsletter-btn,
    body .books-footer__newsletter-form button,
    body .books-footer__newsletter-form .btn,
    body .books-footer__newsletter-form a.btn,
    body .books-footer__newsletter-form input[type="submit"] {
        min-height: 38px !important;
        padding: 7px 14px !important;
        background: #0f9d8f !important;
        color: #fff !important;
        border: none !important;
        border-radius: 0 4px 4px 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        white-space: nowrap !important;
        text-decoration: none !important;
    }

    /* Requested: envelope icon in pink */
    body .books-footer__newsletter-btn svg,
    body .books-footer__newsletter-form button svg,
    body .books-footer__newsletter-form a svg,
    body .books-footer__newsletter-btn i,
    body .books-footer__newsletter-form button i,
    body .books-footer__newsletter-form a i {
        color: #fff !important;
        stroke: #fff !important;
    }

    body .books-footer__payment-row {
        text-align: center !important;
        padding: 20px 0 !important;
        margin-top: 12px !important;
    }

    body .books-footer__payment {
        max-width: 300px !important;
        height: auto !important;
        opacity: 0.85 !important;
        margin: 0 auto !important;
    }

    body .books-footer__bottom {
        text-align: center !important;
        padding: 14px 0 calc(var(--prb-bottom-bar-height, 60px) + 20px) !important;
        border-top: 1px solid #ddd !important;
        font-size: 12px !important;
        color: #777 !important;
        margin-top: 0 !important;
    }

    /* Ensure homepage footer uses the same mobile newsletter style */
    body.home .books-footer__newsletter-form input,
    body.home .books-footer__newsletter-form input[type="email"],
    body.home .books-footer__newsletter-form input[type="text"] {
        min-height: 38px !important;
        padding: 7px 11px !important;
    }

    body.home .books-footer__newsletter-btn,
    body.home .books-footer__newsletter-form button,
    body.home .books-footer__newsletter-form .btn,
    body.home .books-footer__newsletter-form a.btn,
    body.home .books-footer__newsletter-form input[type="submit"] {
        min-height: 38px !important;
        padding: 7px 14px !important;
        background: #0f9d8f !important;
    }

    body.home .books-footer__newsletter-btn svg,
    body.home .books-footer__newsletter-form button svg,
    body.home .books-footer__newsletter-form a svg,
    body.home .books-footer__newsletter-btn i,
    body.home .books-footer__newsletter-form button i,
    body.home .books-footer__newsletter-form a i {
        color: #fff !important;
        stroke: #fff !important;
    }
}

/* Cart PayPal fast checkout: keep the helper copy above the OR divider. */
body.woocommerce-cart .prb-cart-fast-checkout {
    display: flex !important;
    flex-direction: column !important;
}

body.woocommerce-cart .prb-cart-fast-checkout__paypal {
    order: 1 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.woocommerce-cart .prb-cart-fast-checkout__paypal > div,
body.woocommerce-cart .prb-cart-fast-checkout__paypal iframe {
    width: 100% !important;
}

body.woocommerce-cart .prb-cart-fast-checkout__note {
    order: 2 !important;
    display: block !important;
    margin: 10px 0 8px !important;
}

body.woocommerce-cart .prb-cart-fast-checkout__subnote {
    display: block !important;
    margin-top: 2px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #888 !important;
}


body.woocommerce-cart .wc-block-components-express-payment-continue-rule,
body.woocommerce-cart .wc-block-components-express-payment-continue-rule--cart {
    display: none !important;
}

body.woocommerce-cart .prb-cart-fast-checkout {
    margin-top: 10px !important;
}

body.woocommerce-cart .prb-cart-fast-checkout__note {
    margin: 10px 0 8px !important;
}

body.woocommerce-cart .prb-cart-fast-checkout__or {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    margin: 6px 0 10px !important;
    order: 3 !important;
    color: var(--wp--preset--color--contrast-2);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

body.woocommerce-cart .prb-cart-fast-checkout__or-line {
    flex: 1 1 auto;
    height: 2px;
    min-width: 24px;
    background: #d7dae3;
}

body.woocommerce-cart .prb-cart-fast-checkout__or-text {
    flex: 0 0 auto;
    padding: 0;
    background: transparent;
}

body.woocommerce-cart .prb-cart-fast-checkout.has-native-button.has-note-in-native-position {
    display: block !important;
}

/* Cart/checkout: hide WooCommerce's own coupon form. The single entry point for promo/gift codes is
   the "Have a unique promo or gift code?" line under the express checkout buttons (2026-09-28). */
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block,
body.woocommerce-cart .wc-block-components-totals-coupon,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block,
body.woocommerce-checkout .wc-block-components-totals-coupon {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* The automatic volume discount is pricing, not a code: no "remove" button on its chip. */
body.woocommerce-checkout .wc-block-components-totals-discount .wc-block-components-chip__remove[aria-label*="oak5" i],
body.woocommerce-checkout .wc-block-components-totals-discount .wc-block-components-chip__remove[aria-label*="oak10" i],
body.woocommerce-checkout .wc-block-components-totals-discount .wc-block-components-chip__remove[aria-label*="oak20" i],
body.woocommerce-cart .wc-block-components-totals-discount .wc-block-components-chip__remove[aria-label*="oak5" i],
body.woocommerce-cart .wc-block-components-totals-discount .wc-block-components-chip__remove[aria-label*="oak10" i],
body.woocommerce-cart .wc-block-components-totals-discount .wc-block-components-chip__remove[aria-label*="oak20" i] {
    display: none !important;
}

/* Checkout: collapsed "Add a coupon" entry in the order summary (2026-09-28, option B). */
body.woocommerce-checkout .wc-block-components-totals-coupon {
    margin: 2px 0 !important;
    padding: 4px 0 !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button,
body.woocommerce-checkout .wc-block-components-totals-coupon-link {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #0f9d8f !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__button {
    background: #0f9d8f !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    padding: 8px 16px !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__button:hover {
    background: #0c7a4d !important;
}

/* Mobile cart/checkout polish */
@media (max-width: 768px) {
    body.woocommerce-cart,
    body.woocommerce-checkout {
        overflow-x: hidden;
    }

    body.woocommerce-checkout .prb-checkout-page-header {
        position: sticky;
        top: 0;
        z-index: 50;
        background: #fff;
        padding: 12px 14px 10px !important;
        box-shadow: 0 1px 0 rgba(17, 24, 39, 0.08);
    }

    body.woocommerce-checkout .prb-checkout-page-header__brand {
        gap: 10px;
    }

    body.woocommerce-checkout .prb-checkout-page-header__logo {
        width: 48px;
    }

    body.woocommerce-checkout .prb-checkout-page-header__title {
        font-size: 22px;
        line-height: 1.1;
    }

    body.woocommerce-checkout .prb-checkout-page-header__divider {
        display: none;
    }

    body.woocommerce-checkout .prb-checkout-page-main {
        padding: 10px 0 calc(96px + env(safe-area-inset-bottom));
    }

    body.woocommerce-checkout :is(.woocommerce, .wc-block-checkout) {
        max-width: 100% !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body.woocommerce-checkout .wc-block-components-sidebar-layout,
    body.woocommerce-checkout .wp-block-woocommerce-checkout {
        display: flex !important;
        flex-direction: column !important;
        gap: 14px !important;
    }

    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block,
    body.woocommerce-checkout .wc-block-checkout__sidebar,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        position: static !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block {
        border: 1px solid #eee1dc;
        border-radius: 16px;
        background: #fff;
        padding: 12px !important;
        box-shadow: 0 10px 28px rgba(17, 24, 39, 0.05);
    }

    body.woocommerce-checkout .wc-block-components-express-payment__event-buttons {
        min-height: 46px;
    }

    body.woocommerce-checkout .prb-checkout-express-copy {
        font-size: 13px;
        line-height: 1.45;
        margin: 6px 0 4px !important;
        gap: 8px !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__subnote {
        display: block;
        margin-top: 2px;
        font-size: 11px;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__or {
        margin: 6px 0 2px !important;
    }

    body.woocommerce-checkout .wc-block-components-express-payment-continue-rule,
    body.woocommerce-checkout .wc-block-components-express-payment-continue-rule--checkout,
    body.woocommerce-checkout .wc-block-components-express-payment-continue-rule--cart {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
    }

    body.woocommerce-checkout .wc-block-components-text-input input,
    body.woocommerce-checkout .wc-block-components-text-input textarea,
    body.woocommerce-checkout .wc-block-components-combobox-control input,
    body.woocommerce-checkout .wc-block-components-select__select {
        min-height: 50px !important;
        border-radius: 12px !important;
        font-size: 16px !important;
    }

    body.woocommerce-checkout .wc-block-components-checkout-step {
        padding: 14px 0 !important;
    }

    body.woocommerce-checkout .wc-block-components-checkout-step__title {
        font-size: 18px !important;
        line-height: 1.25 !important;
    }

    body.woocommerce-checkout .wc-block-components-sidebar,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
        border-radius: 18px !important;
        box-shadow: 0 10px 28px rgba(17, 24, 39, 0.06);
        overflow: hidden;
    }

    body.woocommerce-checkout .prb-checkout-auto-coupon-banner {
        padding: 12px !important;
        border-radius: 14px !important;
        margin-bottom: 12px !important;
    }

    body.woocommerce-checkout .prb-checkout-auto-coupon-banner__title {
        font-size: 16px !important;
    }

    body.woocommerce-checkout .prb-checkout-auto-coupon-banner__message {
        font-size: 13px !important;
    }

    body.woocommerce-checkout .prb-pay-card-button-note {
        display: block;
        margin: 8px 0 10px !important;
        font-size: 12px !important;
        line-height: 1.45 !important;
    }

    body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
    body.woocommerce-checkout .wc-block-components-checkout-place-order-button__button,
    body.woocommerce-checkout .wc-block-components-button,
    body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
        min-height: 52px !important;
        border-radius: 14px !important;
        font-size: 15px !important;
    }

    body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
        width: 100% !important;
        justify-content: center !important;
        margin-bottom: 10px !important;
    }

    body.woocommerce-cart .wp-block-woocommerce-cart {
        width: 100% !important;
        max-width: 100% !important;
        padding: 18px 12px calc(100px + env(safe-area-inset-bottom)) !important;
    }

    body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
    body.woocommerce-cart .wc-block-components-sidebar-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }

    body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
    body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
    body.woocommerce-cart .wc-block-components-main,
    body.woocommerce-cart .wc-block-components-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 1 1 auto !important;
        padding: 0 !important;
        position: static !important;
    }

    body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
    body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
        padding: 14px !important;
        border-radius: 18px !important;
        box-shadow: 0 10px 28px rgba(17, 24, 39, 0.06) !important;
    }

    body.woocommerce-cart .wc-block-cart-items__header {
        display: none !important;
    }

    body.woocommerce-cart .wc-block-cart-items__row {
        display: grid !important;
        grid-template-columns: 76px minmax(0, 1fr) !important;
        gap: 12px !important;
        padding: 14px 0 !important;
        border-bottom: 1px solid #f0e6ea !important;
    }

    body.woocommerce-cart .wc-block-cart-item__image {
        width: 76px !important;
    }

    body.woocommerce-cart .wc-block-cart-item__image img {
        width: 76px !important;
        border-radius: 12px !important;
    }

    body.woocommerce-cart .wc-block-components-product-name {
        font-size: 14px !important;
        line-height: 1.35 !important;
    }

    body.woocommerce-cart .wc-block-cart-item__prices .wc-block-components-product-price {
        font-size: 14px !important;
    }

    body.woocommerce-cart .wc-block-components-quantity-selector {
        width: 108px !important;
        max-width: 108px !important;
        min-width: 108px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        height: 36px !important;
        border-radius: 18px !important;
        aspect-ratio: auto !important;
        border: 2px solid #7fd1c7 !important;
        background: #fff !important;
        box-shadow: 0 1px 4px rgba(15, 157, 143, 0.06) !important;
        overflow: hidden !important;
        display: inline-flex !important;
        align-items: stretch !important;
        flex: 0 0 108px !important;
    }

    body.woocommerce-cart .wc-block-components-quantity-selector__button {
        min-width: 30px !important;
        width: 30px !important;
        height: 100% !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 0 !important;
        color: transparent !important;
        background: #fff !important;
        border: 0 !important;
        position: relative !important;
        aspect-ratio: auto !important;
    }

    body.woocommerce-cart .wc-block-components-quantity-selector__button::before {
        display: block !important;
        font-size: 18px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        color: #4fbfb2 !important;
    }

    body.woocommerce-cart .wc-block-components-quantity-selector__button--minus::before {
        content: "−" !important;
        transform: translateY(-1px);
    }

    body.woocommerce-cart .wc-block-components-quantity-selector__button--plus::before {
        content: "+" !important;
        transform: translateY(-1px);
    }

    body.woocommerce-cart .wc-block-components-quantity-selector__button:first-child {
        border-right: 1px solid rgba(15, 157, 143, 0.45) !important;
    }

    body.woocommerce-cart .wc-block-components-quantity-selector__button:last-child {
        border-left: 1px solid rgba(15, 157, 143, 0.45) !important;
    }

    body.woocommerce-cart .wc-block-components-quantity-selector__button:active {
        background: #fff3f7 !important;
    }

    body.woocommerce-cart .wc-block-components-quantity-selector__input {
        width: 32px !important;
        min-width: 32px !important;
        height: 100% !important;
        line-height: 36px !important;
        padding: 0 !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        aspect-ratio: auto !important;
        color: #2b2b2b !important;
        border: 0 !important;
        background: #fff !important;
    }

    body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-heading-block,
    body.woocommerce-cart .wc-block-components-totals-wrapper h2 {
        font-size: 17px !important;
        margin-bottom: 10px !important;
    }

    body.woocommerce-cart .wc-block-components-totals-item {
        padding: 10px 0 !important;
    }

    body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
        font-size: 21px !important;
    }

    body.woocommerce-cart .prb-cart-fast-checkout {
        margin-top: 10px !important;
        gap: 8px !important;
    }

    body.woocommerce-cart .prb-cart-fast-checkout__note {
        font-size: 13px !important;
        line-height: 1.45 !important;
        margin: 8px 0 !important;
    }

    body.woocommerce-cart .prb-cart-fast-checkout__subnote {
        margin-top: 2px !important;
        font-size: 11px !important;
    }

    body.woocommerce-cart .wc-block-cart__submit-button,
    body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
        min-height: 52px !important;
        border-radius: 14px !important;
        font-size: 14px !important;
        margin-top: 12px !important;
    }
}

/* FINAL MOBILE PREVIEW REFINEMENT: tighter cart/checkout spacing */
@media (max-width: 768px) {
    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block {
        margin: 0 0 6px !important;
        padding: 10px 10px 8px !important;
    }

    body.woocommerce-checkout .prb-checkout-express-copy {
        margin: 4px 0 2px !important;
        padding: 0 2px !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__note {
        font-size: 12px !important;
        line-height: 1.35 !important;
        margin: 0 !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__subnote {
        margin-top: 1px !important;
        font-size: 10.5px !important;
        line-height: 1.35 !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__or {
        margin: 4px 0 0 !important;
    }

    body.woocommerce-checkout .wc-block-components-checkout-step {
        padding: 12px 0 !important;
    }

    body.woocommerce-checkout .wc-block-components-checkout-step__title {
        margin-bottom: 10px !important;
    }

    body.woocommerce-checkout .wc-block-components-sidebar,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
        border-radius: 16px !important;
    }

    body.woocommerce-checkout .prb-checkout-auto-coupon-banner {
        margin-bottom: 10px !important;
        padding: 10px !important;
    }

    body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
    body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
        padding: 12px !important;
        border-radius: 16px !important;
    }

    body.woocommerce-cart .wc-block-cart-items__row {
        padding: 12px 0 !important;
        gap: 10px !important;
    }

    body.woocommerce-cart .wc-block-components-totals-item {
        padding: 8px 0 !important;
    }

    body.woocommerce-cart .prb-cart-fast-checkout {
        margin-top: 6px !important;
        gap: 6px !important;
    }

    body.woocommerce-cart .prb-cart-fast-checkout__note {
        margin: 4px 0 1px !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
    }

    body.woocommerce-cart .prb-cart-fast-checkout__subnote {
        margin-top: 1px !important;
        font-size: 10.5px !important;
        line-height: 1.35 !important;
    }

    body.woocommerce-cart .prb-cart-fast-checkout__or {
        margin: 2px 0 4px !important;
    }

    body.woocommerce-cart .wc-block-cart__submit-button,
    body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
        margin-top: 8px !important;
    }
}


/* Mobile checkout final refinement */
@media (max-width: 768px) {
    body.woocommerce-checkout .prb-checkout-page-header {
        padding: 8px 12px 6px !important;
    }

    body.woocommerce-checkout .prb-checkout-page-header__logo {
        width: 42px !important;
    }

    body.woocommerce-checkout .prb-checkout-page-header__title {
        font-size: 21px !important;
    }

    body.woocommerce-checkout .prb-checkout-page-main {
        padding-top: 0 !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout,
    body.woocommerce-checkout .wc-block-checkout__form {
        gap: 10px !important;
    }

    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block {
        order: 1 !important;
    }

    body.woocommerce-checkout .wc-block-checkout__sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
        order: 2 !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
    body.woocommerce-checkout .wc-block-checkout__sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar {
        margin-bottom: 10px !important;
    }

    body.woocommerce-checkout .wc-block-checkout__sidebar > .wc-block-components-notices,
    body.woocommerce-checkout .wc-block-checkout__sidebar > .wc-block-components-notices__snackbar,
    body.woocommerce-checkout .wc-block-components-sidebar > .wc-block-components-notices,
    body.woocommerce-checkout .wc-block-components-sidebar > .wc-block-components-notices__snackbar {
        display: none !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    body.woocommerce-checkout .wc-block-components-checkout-order-summary__title {
        min-height: 0 !important;
        padding: 14px 16px !important;
    }

    body.woocommerce-checkout .wc-block-components-checkout-order-summary__content {
        padding-top: 0 !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block {
        padding: 10px !important;
        margin: 0 0 8px !important;
        min-height: 0 !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block .wc-block-components-express-payment__event-buttons,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block .wc-block-components-express-payment__event-buttons > *,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block .ppc-button-wrapper,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block .paypal-buttons,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block iframe {
        min-height: 44px !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block .wc-block-components-express-payment__event-buttons {
        overflow: hidden !important;
    }

    body.woocommerce-checkout .prb-checkout-express-copy {
        margin: 6px 0 4px !important;
        padding: 0 2px !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__or {
        margin: 6px 0 !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        padding-bottom: calc(18px + env(safe-area-inset-bottom)) !important;
        padding: 14px !important;
        border-radius: 16px !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block > * {
        width: 100% !important;
        max-width: 100% !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .prb-pay-card-button-note {
        order: 3 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #4b5563 !important;
        text-align: center !important;
        font-size: 12px !important;
        line-height: 1.4 !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-place-order-button,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-place-order-button__button,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block button[type="submit"] {
        order: 2 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 54px !important;
        margin: 0 !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-return-to-cart-button {
        order: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 44px !important;
        margin: 0 !important;
        justify-content: center !important;
        opacity: 0.8;
    }

    body.woocommerce-checkout .prb-pay-card-button-note {
        width: 100% !important;
        flex: 0 0 100% !important;
        display: block !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block,
    body.woocommerce-checkout .wc-block-checkout__payment-method {
        margin-bottom: 12px !important;
    }
}


@media (max-width: 768px) {
    body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
        padding: 32px 16px !important;
        margin: 18px auto 12px !important;
        border-radius: 18px !important;
    }

    body.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2,
    body.woocommerce-cart .wp-block-woocommerce-empty-cart-block h3 {
        font-size: 28px !important;
        line-height: 1.15 !important;
        margin-bottom: 10px !important;
    }

    body.woocommerce-cart .wp-block-woocommerce-empty-cart-block p {
        font-size: 14px !important;
        line-height: 1.45 !important;
    }

    body.woocommerce-cart .wp-block-woocommerce-empty-cart-block + * {
        margin-top: 10px !important;
    }

    body.woocommerce-cart .wc-block-grid.has-2-columns .wc-block-grid__product,
    body.woocommerce-cart .wc-block-grid.has-3-columns .wc-block-grid__product,
    body.woocommerce-cart .wc-block-grid.has-4-columns .wc-block-grid__product {
        padding: 8px !important;
    }

    body.woocommerce-cart .wc-block-grid__product {
        margin-bottom: 10px !important;
    }

    body.woocommerce-cart .wc-block-grid__product-title {
        font-size: 13px !important;
        line-height: 1.35 !important;
        min-height: 0 !important;
    }

    body.woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link,
    body.woocommerce-cart .wc-block-grid__product-add-to-cart .add_to_cart_button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 132px !important;
        min-height: 34px !important;
        padding: 8px 12px !important;
        border-radius: 999px !important;
        font-size: 12px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        background: #0f9d8f !important;
        color: #fff !important;
        box-shadow: 0 6px 14px rgba(15, 157, 143, 0.22) !important;
    }

    body.woocommerce-cart .wc-block-grid__product-add-to-cart {
        display: flex !important;
        justify-content: center !important;
        margin-top: 8px !important;
    }

    body.woocommerce-cart .wc-block-components-quantity-selector {
        display: inline-flex !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        width: 112px !important;
        max-width: 112px !important;
        min-width: 112px !important;
        height: 38px !important;
        max-height: 38px !important;
        min-height: 38px !important;
        margin: 10px 0 8px !important;
        border: 2px solid #7fd1c7 !important;
        border-radius: 999px !important;
        background: #fff !important;
        overflow: hidden !important;
        flex: 0 0 112px !important;
        aspect-ratio: auto !important;
        box-shadow: 0 2px 8px rgba(15, 157, 143, 0.08) !important;
        box-sizing: border-box !important;
        position: relative !important;
        transform: none !important;
    }

    body.woocommerce-cart .wc-block-components-quantity-selector__button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #fff !important;
        color: transparent !important;
        font-size: 0 !important;
        aspect-ratio: auto !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-cart .wc-block-components-quantity-selector__button::before {
        display: block !important;
        font-size: 20px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        color: #4fbfb2 !important;
    }

    body.woocommerce-cart .wc-block-components-quantity-selector__button--minus::before {
        content: "−" !important;
        transform: translateY(-1px);
    }

    body.woocommerce-cart .wc-block-components-quantity-selector__button--plus::before {
        content: "+" !important;
        transform: translateY(-1px);
    }

    body.woocommerce-cart .wc-block-components-quantity-selector__button:first-child {
        border-right: 0 !important;
    }

    body.woocommerce-cart .wc-block-components-quantity-selector__button:last-child {
        border-left: 0 !important;
    }

    body.woocommerce-cart .wc-block-components-quantity-selector__input {
        display: block !important;
        width: 36px !important;
        min-width: 36px !important;
        max-width: 36px !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #fff !important;
        color: #2b2b2b !important;
        text-align: center !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        line-height: 38px !important;
        aspect-ratio: auto !important;
        box-sizing: border-box !important;
        border-left: 1px solid rgba(15, 157, 143, 0.45) !important;
        border-right: 1px solid rgba(15, 157, 143, 0.45) !important;
    }
}

/* ========================================================================
   Mobile checkout: final preview-matched layout
   Source: mobile-preview-checkout.html / mobile-preview-checkout.php
   ======================================================================== */
.m-steps {
    display: none;
}

@media (max-width: 768px) {
    body.woocommerce-checkout {
        --prb-pink: #0f9d8f;
        --prb-pink-dark: #0b7a70;
        --prb-pink-light: #fef2f5;
        --prb-green: #0f9d8f;
        --prb-green-dark: #0b7a4d;
        --prb-dark: #111827;
        --prb-text: #333;
        --prb-text-secondary: #6b7280;
        --prb-text-muted: #9ca3af;
        --prb-border: #e5e7eb;
        --prb-bg: #f7f7f8;
        --prb-card: #fff;
        --prb-radius: 14px;
        --prb-radius-sm: 10px;
        --prb-radius-xs: 8px;
        --prb-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
        --safe-bottom: env(safe-area-inset-bottom, 0px);
        background: var(--prb-bg) !important;
        color: var(--prb-text) !important;
        overflow-x: hidden !important;
        -webkit-text-size-adjust: 100%;
        -webkit-font-smoothing: antialiased;
    }

    body.woocommerce-checkout .prb-checkout-page-shell {
        min-height: 100dvh !important;
        background: var(--prb-bg) !important;
        padding-bottom: calc(84px + var(--safe-bottom)) !important;
    }

    body.woocommerce-checkout .prb-checkout-page-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 100 !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 16px 16px 12px !important;
        background: #fff !important;
        border-bottom: 1px solid var(--prb-border) !important;
        box-shadow: none !important;
    }

    body.woocommerce-checkout .prb-checkout-page-header__brand {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 12px !important;
        color: var(--prb-dark) !important;
        text-decoration: none !important;
    }

    body.woocommerce-checkout .prb-checkout-page-header__logo {
        width: 44px !important;
        height: auto !important;
        display: block !important;
    }

    body.woocommerce-checkout .prb-checkout-page-header__title {
        font-size: 22px !important;
        line-height: 1.1 !important;
        font-weight: 800 !important;
        letter-spacing: -0.01em !important;
        color: var(--prb-dark) !important;
    }

    body.woocommerce-checkout .prb-checkout-page-header__divider {
        display: none !important;
    }

    body.woocommerce-checkout .m-steps {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        padding: 14px 20px 10px !important;
        background: #fff !important;
    }

    body.woocommerce-checkout .m-steps__item {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        color: var(--prb-text-muted) !important;
        letter-spacing: 0.02em !important;
    }

    body.woocommerce-checkout .m-steps__item.is-active {
        color: var(--prb-pink) !important;
    }

    body.woocommerce-checkout .m-steps__item.is-done {
        color: var(--prb-green) !important;
    }

    body.woocommerce-checkout .m-steps__num {
        width: 22px !important;
        height: 22px !important;
        border-radius: 50% !important;
        border: 2px solid currentColor !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
    }

    body.woocommerce-checkout .m-steps__item.is-active .m-steps__num {
        background: var(--prb-pink) !important;
        border-color: var(--prb-pink) !important;
        color: #fff !important;
    }

    body.woocommerce-checkout .m-steps__item.is-done .m-steps__num {
        background: var(--prb-green) !important;
        border-color: var(--prb-green) !important;
        color: #fff !important;
    }

    body.woocommerce-checkout .m-steps__connector {
        width: 28px !important;
        height: 2px !important;
        margin: 0 6px !important;
        border-radius: 1px !important;
        background: var(--prb-border) !important;
    }

    body.woocommerce-checkout .m-steps__connector.is-done {
        background: var(--prb-green) !important;
    }

    body.woocommerce-checkout .prb-checkout-page-main {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 0 calc(92px + var(--safe-bottom)) !important;
    }

    body.woocommerce-checkout :is(.woocommerce, .wc-block-checkout, .wp-block-woocommerce-checkout) {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.woocommerce-checkout .wc-block-components-sidebar-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.woocommerce-checkout .wc-block-checkout__sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
        order: 5 !important;
        width: auto !important;
        max-width: none !important;
        margin: 12px 12px 0 !important;
        padding: 0 !important;
        position: static !important;
        background: var(--prb-card) !important;
        border: 0 !important;
        border-radius: var(--prb-radius) !important;
        box-shadow: var(--prb-shadow) !important;
        overflow: hidden !important;
    }

    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block {
        order: 10 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-panel__button,
    body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary__button-text {
        font-size: 15px !important;
        font-weight: 700 !important;
        color: var(--prb-dark) !important;
    }

    body.woocommerce-checkout .wc-block-components-order-summary-item__description,
    body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
    body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
        font-size: 12px !important;
    }

    body.woocommerce-checkout .wc-block-components-order-summary-item__image {
        width: 52px !important;
        min-width: 52px !important;
        border-radius: 6px !important;
        overflow: hidden !important;
    }

    body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
        background: var(--prb-dark) !important;
        color: #fff !important;
        border: 0 !important;
        font-size: 10px !important;
        font-weight: 700 !important;
    }

    body.woocommerce-checkout .prb-checkout-auto-coupon-banner {
        margin: 12px 12px 0 !important;
        padding: 14px !important;
        border-radius: var(--prb-radius) !important;
        border: 1px solid #d8e7db !important;
        background: linear-gradient(180deg, #eefaf1 0%, #e6f7ea 100%) !important;
        color: #14532d !important;
        box-shadow: none !important;
    }

    body.woocommerce-checkout .prb-checkout-auto-coupon-banner.is-pending {
        border-color: #f6d8a8 !important;
        background: linear-gradient(180deg, #fff7e8 0%, #ffefcf 100%) !important;
        color: #92400e !important;
    }

    body.woocommerce-checkout .prb-checkout-auto-coupon-banner__eyebrow {
        font-size: 10px !important;
        font-weight: 800 !important;
        letter-spacing: 0.12em !important;
        text-transform: uppercase !important;
        opacity: 0.65 !important;
        margin-bottom: 4px !important;
    }

    body.woocommerce-checkout .prb-checkout-auto-coupon-banner__title {
        font-size: 16px !important;
        line-height: 1.25 !important;
        font-weight: 800 !important;
        margin-bottom: 4px !important;
    }

    body.woocommerce-checkout .prb-checkout-auto-coupon-banner__message {
        font-size: 12px !important;
        line-height: 1.5 !important;
        margin-bottom: 8px !important;
    }

    body.woocommerce-checkout .prb-checkout-auto-coupon-banner__meta {
        gap: 6px !important;
        margin-bottom: 8px !important;
    }

    body.woocommerce-checkout .prb-checkout-auto-coupon-banner__code,
    body.woocommerce-checkout .prb-checkout-auto-coupon-banner__summary {
        min-height: 26px !important;
        padding: 0 8px !important;
        font-size: 11px !important;
    }

    body.woocommerce-checkout .prb-checkout-auto-coupon-banner__tiers {
        gap: 6px !important;
    }

    body.woocommerce-checkout .prb-checkout-auto-coupon-banner__tier {
        min-height: 24px !important;
        padding: 0 8px !important;
        font-size: 10px !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block {
        order: 10 !important;
        margin: 12px 12px 0 !important;
        padding: 16px !important;
        background: var(--prb-card) !important;
        border: 0 !important;
        border-radius: var(--prb-radius) !important;
        box-shadow: var(--prb-shadow) !important;
        min-height: 0 !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block :is(.wc-block-components-express-payment__title, legend) {
        text-align: center !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        letter-spacing: 0.08em !important;
        text-transform: uppercase !important;
        color: var(--prb-text-muted) !important;
        margin: 0 0 12px !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block :is(.wc-block-components-express-payment__event-buttons, .wc-block-components-express-payment__event-buttons > *, .ppc-button-wrapper, .paypal-buttons, iframe) {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 50px !important;
        margin: 0 !important;
    }

    body.woocommerce-checkout .prb-checkout-express-copy {
        order: 11 !important;
        margin: 0 12px !important;
        padding: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__note {
        text-align: center !important;
        margin: 0 !important;
        font-size: 12px !important;
        line-height: 1.45 !important;
        font-weight: 600 !important;
        color: var(--prb-dark) !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__subnote {
        display: block !important;
        margin-top: 2px !important;
        font-size: 11px !important;
        line-height: 1.4 !important;
        font-weight: 400 !important;
        color: var(--prb-text-secondary) !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__or,
    body.woocommerce-checkout .m-or {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 12px !important;
        margin: 14px 0 !important;
        color: var(--prb-text-muted) !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        letter-spacing: 0.16em !important;
        text-transform: uppercase !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__or::before,
    body.woocommerce-checkout .prb-checkout-fast-checkout__or::after,
    body.woocommerce-checkout .m-or::before,
    body.woocommerce-checkout .m-or::after {
        content: "" !important;
        flex: 1 !important;
        height: 2px !important;
        background: var(--prb-border) !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__or span,
    body.woocommerce-checkout .m-or span {
        display: inline-block !important;
        padding: 0 !important;
        background: transparent !important;
    }

    body.woocommerce-checkout :is(
        .wp-block-woocommerce-checkout-contact-information-block,
        .wp-block-woocommerce-checkout-shipping-address-block,
        .wp-block-woocommerce-checkout-shipping-methods-block,
        .wp-block-woocommerce-checkout-payment-block,
        .wp-block-woocommerce-checkout-additional-information-block,
        .wp-block-woocommerce-checkout-order-note-block
    ) {
        margin: 0 12px 12px !important;
        padding: 18px 16px !important;
        background: var(--prb-card) !important;
        border: 0 !important;
        border-radius: var(--prb-radius) !important;
        box-shadow: var(--prb-shadow) !important;
    }

    body.woocommerce-checkout .wc-block-components-checkout-step__heading,
    body.woocommerce-checkout .wc-block-components-checkout-step__title {
        margin: 0 0 14px !important;
        font-size: 16px !important;
        line-height: 1.25 !important;
        font-weight: 800 !important;
        color: var(--prb-dark) !important;
    }

    body.woocommerce-checkout .wc-block-components-text-input input,
    body.woocommerce-checkout .wc-block-components-text-input textarea,
    body.woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input,
    body.woocommerce-checkout .wc-block-components-select .wc-block-components-select__select {
        width: 100% !important;
        min-height: 48px !important;
        padding: 12px 14px !important;
        border: 1.5px solid var(--prb-border) !important;
        border-radius: var(--prb-radius-xs) !important;
        background: #fff !important;
        color: var(--prb-dark) !important;
        font-size: 16px !important;
        box-shadow: none !important;
        outline: none !important;
    }

    body.woocommerce-checkout .wc-block-components-text-input input:focus,
    body.woocommerce-checkout .wc-block-components-text-input textarea:focus,
    body.woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input:focus,
    body.woocommerce-checkout .wc-block-components-select .wc-block-components-select__select:focus {
        border-color: var(--prb-pink) !important;
        box-shadow: 0 0 0 3px rgba(15, 157, 143, 0.12) !important;
    }

    body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input,
    body.woocommerce-checkout input[type="checkbox"] {
        width: 20px !important;
        height: 20px !important;
        border-radius: 4px !important;
        accent-color: var(--prb-pink) !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block :is(.wc-block-components-radio-control__option, .wc-block-components-shipping-rates-control__package) {
        border: 1.5px solid var(--prb-pink) !important;
        border-radius: var(--prb-radius-xs) !important;
        background: var(--prb-pink-light) !important;
        padding: 14px 16px !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block {
        order: 32 !important;
    }

    body.woocommerce-checkout .wc-block-components-radio-control__option,
    body.woocommerce-checkout .wc-block-components-payment-method-label,
    body.woocommerce-checkout .wc-block-components-payment-methods__save-card-info {
        font-size: 14px !important;
    }

    body.woocommerce-checkout .wc-block-components-radio-control__option {
        border: 1.5px solid var(--prb-border) !important;
        border-radius: var(--prb-radius-xs) !important;
        overflow: hidden !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-terms-block {
        margin: 4px 12px 8px !important;
        padding: 0 !important;
        text-align: center !important;
        font-size: 12px !important;
        line-height: 1.6 !important;
        color: var(--prb-text-secondary) !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-terms-block a {
        color: var(--prb-pink) !important;
        font-weight: 600 !important;
        text-decoration: underline !important;
        text-underline-offset: 2px !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block {
        position: sticky !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 100 !important;
        margin: 0 !important;
        padding: 12px 16px calc(12px + var(--safe-bottom)) !important;
        background: #fff !important;
        border: 0 !important;
        border-top: 1px solid var(--prb-border) !important;
        border-radius: 0 !important;
        box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.06) !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        width: 100% !important;
    }

    body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        min-height: 48px !important;
        padding: 8px 0 !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--prb-text-secondary) !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        white-space: nowrap !important;
        box-shadow: none !important;
    }

    body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button svg {
        width: 16px !important;
        height: 16px !important;
        margin-right: 4px !important;
        transform: none !important;
    }

    body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
    body.woocommerce-checkout .wc-block-components-checkout-place-order-button__button,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block button[type="submit"] {
        flex: 1 1 auto !important;
        max-width: 220px !important;
        min-height: 48px !important;
        margin-left: auto !important;
        border: 0 !important;
        border-radius: var(--prb-radius-sm) !important;
        background: var(--prb-green) !important;
        color: #fff !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        box-shadow: 0 4px 12px rgba(15, 143, 91, 0.25) !important;
    }

    body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
    body.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus-visible {
        background: var(--prb-green-dark) !important;
    }

    body.woocommerce-checkout .prb-pay-card-button-note {
        display: block !important;
        margin: 6px 0 0 !important;
        text-align: center !important;
        font-size: 11px !important;
        line-height: 1.45 !important;
        color: var(--prb-text-muted) !important;
    }
}

/* ========================================================================
   FINAL MOBILE CHECKOUT PREVIEW ACTIVATION
   Purpose: force live mobile checkout to follow mobile-preview-checkout.*
   ======================================================================== */
@media (max-width: 768px) {
    body.woocommerce-checkout.prb-checkout-template {
        background: var(--prb-bg, #f7f7f8) !important;
    }

    body.woocommerce-checkout .prb-checkout-page-main {
        padding: 0 0 calc(96px + env(safe-area-inset-bottom)) !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout,
    body.woocommerce-checkout .wc-block-checkout,
    body.woocommerce-checkout .wc-block-components-sidebar-layout,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.woocommerce-checkout .wc-block-checkout__sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
        order: 5 !important;
        width: auto !important;
        max-width: none !important;
        position: static !important;
        margin: 12px 12px 0 !important;
        border: 0 !important;
        border-radius: 14px !important;
        background: #fff !important;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
        overflow: hidden !important;
    }

    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block {
        order: 10 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block {
        order: 10 !important;
        margin: 12px 12px 0 !important;
        padding: 16px !important;
        border: 0 !important;
        border-radius: 14px !important;
        background: #fff !important;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
        overflow: hidden !important;
    }

    body.woocommerce-checkout .prb-checkout-express-copy {
        order: 20 !important;
        margin: 0 12px !important;
        padding: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-contact-information-block {
        order: 30 !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-address-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-billing-address-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-pickup-options-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-additional-information-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-terms-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block {
        margin: 0 12px 12px !important;
        padding: 18px 16px !important;
        border: 0 !important;
        border-radius: 14px !important;
        background: #fff !important;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-address-block { order: 40 !important; }
    body.woocommerce-checkout .wp-block-woocommerce-checkout-billing-address-block { order: 50 !important; }
    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-pickup-options-block { order: 60 !important; }
    body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block { order: 70 !important; }
    body.woocommerce-checkout .wp-block-woocommerce-checkout-additional-information-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block { order: 80 !important; }
    body.woocommerce-checkout .wp-block-woocommerce-checkout-terms-block { order: 90 !important; }
    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block { order: 100 !important; }

    body.woocommerce-checkout .prb-checkout-fast-checkout__note,
    body.woocommerce-checkout .m-co-express__note {
        text-align: center !important;
        margin: 10px 0 0 !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        line-height: 1.45 !important;
        color: #111827 !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__subnote,
    body.woocommerce-checkout .m-co-express__subnote {
        display: block !important;
        margin-top: 2px !important;
        font-size: 11px !important;
        line-height: 1.4 !important;
        font-weight: 400 !important;
        color: #6b7280 !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__or,
    body.woocommerce-checkout .m-or {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 12px !important;
        margin: 14px 0 !important;
        color: #9ca3af !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        letter-spacing: 0.16em !important;
        text-transform: uppercase !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__or::before,
    body.woocommerce-checkout .prb-checkout-fast-checkout__or::after,
    body.woocommerce-checkout .m-or::before,
    body.woocommerce-checkout .m-or::after {
        content: "" !important;
        flex: 1 !important;
        height: 2px !important;
        background: #e5e7eb !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__or span,
    body.woocommerce-checkout .m-or span {
        display: inline-block !important;
        padding: 0 !important;
        background: transparent !important;
    }

    body.woocommerce-checkout .wc-block-components-checkout-step__title,
    body.woocommerce-checkout .wc-block-components-checkout-step__heading {
        margin: 0 0 14px !important;
        font-size: 16px !important;
        line-height: 1.25 !important;
        font-weight: 800 !important;
        color: #111827 !important;
    }

    body.woocommerce-checkout .wc-block-components-text-input input,
    body.woocommerce-checkout .wc-block-components-text-input textarea,
    body.woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input,
    body.woocommerce-checkout .wc-block-components-select .wc-block-components-select__select,
    body.woocommerce-checkout .wc-block-components-combobox-control input,
    body.woocommerce-checkout .wc-block-components-select__select {
        min-height: 48px !important;
        padding: 12px 14px !important;
        border: 1.5px solid #e5e7eb !important;
        border-radius: 8px !important;
        background: #fff !important;
        font-size: 16px !important;
        box-shadow: none !important;
    }

    body.woocommerce-checkout .wc-block-components-address-form__address_2-toggle {
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
        margin-top: 4px !important;
        padding: 4px 0 !important;
        font-size: 13px !important;
        color: #6b7280 !important;
    }

    body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-panel__button,
    body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary__button-text {
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #111827 !important;
    }

    body.woocommerce-checkout .wc-block-components-order-summary-item__image {
        width: 52px !important;
        min-width: 52px !important;
        border-radius: 6px !important;
        overflow: hidden !important;
    }

    body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
        background: #111827 !important;
        color: #fff !important;
        border: 0 !important;
        font-size: 10px !important;
        font-weight: 700 !important;
    }

    body.woocommerce-checkout .prb-checkout-auto-coupon-banner {
        margin: 12px 12px 0 !important;
        padding: 14px !important;
        border-radius: 14px !important;
        border: 1px solid #d8e7db !important;
        background: linear-gradient(180deg, #eefaf1 0%, #e6f7ea 100%) !important;
        color: #14532d !important;
        box-shadow: none !important;
    }

    body.woocommerce-checkout .prb-checkout-auto-coupon-banner.is-pending {
        border-color: #f6d8a8 !important;
        background: linear-gradient(180deg, #fff7e8 0%, #ffefcf 100%) !important;
        color: #92400e !important;
    }

    body.woocommerce-checkout .prb-checkout-auto-coupon-banner__title {
        font-size: 16px !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;
    }

    body.woocommerce-checkout .prb-checkout-auto-coupon-banner__message {
        font-size: 12px !important;
        line-height: 1.5 !important;
    }

    body.woocommerce-checkout .prb-checkout-auto-coupon-banner__meta,
    body.woocommerce-checkout .prb-checkout-auto-coupon-banner__tiers {
        gap: 6px !important;
    }

    body.woocommerce-checkout .prb-checkout-auto-coupon-banner__code,
    body.woocommerce-checkout .prb-checkout-auto-coupon-banner__summary {
        min-height: 26px !important;
        padding: 0 8px !important;
        font-size: 11px !important;
    }

    body.woocommerce-checkout .prb-checkout-auto-coupon-banner__tier {
        min-height: 24px !important;
        padding: 0 8px !important;
        font-size: 10px !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block {
        position: sticky !important;
        bottom: 0 !important;
        z-index: 100 !important;
        margin: 0 !important;
        padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) !important;
        border-top: 1px solid #e5e7eb !important;
        border-radius: 0 !important;
        box-shadow: 0 -4px 16px rgba(0,0,0,0.06) !important;
    }
}

/* ==========================================================================
   MOBILE CHECKOUT SINGLE-LAYER FIX
   Keep checkout in one natural flow and avoid nested summary/action layers.
   ========================================================================== */
@media (max-width: 768px) {
    body.woocommerce-checkout .wc-block-components-sidebar-layout {
        display: flex !important;
        flex-direction: column !important;
    }

    body.woocommerce-checkout .wc-block-components-main.wc-block-checkout__main,
    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block {
        order: 10 !important;
    }

    body.woocommerce-checkout .wc-block-components-sidebar.wc-block-checkout__sidebar,
    body.woocommerce-checkout .wc-block-checkout__sidebar,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block {
        order: 20 !important;
        margin: 12px 12px 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
        margin: 0 !important;
        background: #fff !important;
        border: 0 !important;
        border-radius: 14px !important;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
        overflow: hidden !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block {
        position: static !important;
        bottom: auto !important;
        z-index: auto !important;
        margin: 0 12px 12px !important;
        padding: 18px 16px !important;
        border-top: 0 !important;
        border-radius: 14px !important;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
    }
}

/* ==========================================================================
   MOBILE CHECKOUT SPACING POLISH
   Tighten vertical rhythm without changing the single-layer structure.
   ========================================================================== */
@media (max-width: 768px) {
    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block {
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block :is(.wc-block-components-express-payment__title, legend) {
        margin: 0 0 8px !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block .wc-block-components-express-payment__event-buttons {
        margin: 0 !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block :is(fieldset.wc-block-components-express-payment, .wc-block-components-express-payment, .wc-block-components-express-payment--checkout) {
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        min-inline-size: 0 !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block .wc-block-components-express-payment__title-container::before,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block .wc-block-components-express-payment__title-container::after {
        content: none !important;
        display: none !important;
        border: 0 !important;
    }

    body.woocommerce-checkout .prb-checkout-hidden-empty {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
        min-height: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        overflow: hidden !important;
    }

    body.woocommerce-checkout form.wc-block-checkout__form.prb-checkout-mobile-ordered {
        display: flex !important;
        flex-direction: column !important;
    }

    body.woocommerce-checkout form.wc-block-checkout__form.prb-checkout-mobile-ordered > * {
        order: 30 !important;
    }

    body.woocommerce-checkout form.wc-block-checkout__form.prb-checkout-mobile-ordered > .prb-checkout-express-stage {
        order: 10 !important;
    }

    body.woocommerce-checkout form.wc-block-checkout__form.prb-checkout-mobile-ordered > .prb-checkout-express-copy-stage {
        order: 11 !important;
    }

    body.woocommerce-checkout form.wc-block-checkout__form.prb-checkout-mobile-ordered > .prb-checkout-contact-stage {
        order: 20 !important;
    }

    body.woocommerce-checkout .prb-checkout-page-main {
        padding: 0 0 calc(28px + env(safe-area-inset-bottom)) !important;
    }

    body.woocommerce-checkout .m-steps {
        margin: 10px 12px 8px !important;
        padding: 10px 12px !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block {
        margin: 8px 12px 0 !important;
        padding: 12px 14px !important;
    }

    body.woocommerce-checkout .prb-checkout-express-copy {
        margin: 6px 12px 8px !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__note,
    body.woocommerce-checkout .m-co-express__note {
        margin: 6px 0 0 !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__subnote,
    body.woocommerce-checkout .m-co-express__subnote {
        margin-top: 1px !important;
    }

    body.woocommerce-checkout .prb-checkout-fast-checkout__or,
    body.woocommerce-checkout .m-or {
        margin: 8px 0 10px !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-contact-information-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-address-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-billing-address-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-pickup-options-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-additional-information-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-terms-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block {
        margin: 0 12px 10px !important;
        padding: 14px !important;
    }

    body.woocommerce-checkout .wc-block-components-checkout-step__title,
    body.woocommerce-checkout .wc-block-components-checkout-step__heading {
        margin: 0 0 10px !important;
    }

    body.woocommerce-checkout .wc-block-components-sidebar.wc-block-checkout__sidebar,
    body.woocommerce-checkout .wc-block-checkout__sidebar,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block {
        margin: 10px 12px 0 !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
        border-radius: 12px !important;
    }
}

/* ==========================================================================
   MOBILE CHECKOUT ORDER SUMMARY FINAL FIX
   Show a single summary card above express checkout on mobile.
   ========================================================================== */
@media (max-width: 768px) {
    body.woocommerce-checkout .wc-block-components-sidebar-layout {
        display: flex !important;
        flex-direction: column !important;
    }

    body.woocommerce-checkout .wc-block-components-sidebar.wc-block-checkout__sidebar,
    body.woocommerce-checkout .wc-block-checkout__sidebar,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block {
        order: 5 !important;
        margin: 8px 12px 10px !important;
        padding: 0 !important;
        background: #fff !important;
        border: 0 !important;
        border-radius: 14px !important;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
        overflow: hidden !important;
    }

    body.woocommerce-checkout .wc-block-components-main.wc-block-checkout__main,
    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block {
        order: 10 !important;
    }

    body.woocommerce-checkout .wc-block-checkout__sidebar > .wc-block-components-notices,
    body.woocommerce-checkout .wc-block-checkout__sidebar > .wc-block-components-notices__snackbar,
    body.woocommerce-checkout .wc-block-components-sidebar > .wc-block-components-notices,
    body.woocommerce-checkout .wc-block-components-sidebar > .wc-block-components-notices__snackbar {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
        min-height: 0 !important;
        border: 0 !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block {
        margin: 0 12px 10px !important;
        padding: 14px !important;
        border-radius: 16px !important;
        background: #fff !important;
        box-shadow: 0 4px 18px rgba(15, 23, 42, 0.06) !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control {
        display: block !important;
        margin: 0 !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__option,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option {
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__input,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__input {
        top: 50% !important;
        left: 16px !important;
        transform: translateY(-50%) !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__label-group,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__label-group {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 14px 16px 14px 50px !important;
        border: 1.5px solid #eadfe4 !important;
        border-radius: 14px !important;
        background: #fffdfd !important;
        box-shadow: none !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__label,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__label {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #111827 !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__description,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-payment-methods__payment-method-content,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-payment-method-label__description {
        display: block !important;
        margin: 10px 0 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        font-size: 14px !important;
        line-height: 1.6 !important;
        color: #4b5563 !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control-accordion-option,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option {
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }
}

@media (max-width: 768px) {
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__option,
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control__option,
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control__option {
		position: relative;
		padding-left: 42px !important;
		padding-right: 14px !important;
	}

	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__input,
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control__input,
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control__input {
		position: absolute;
		left: 14px;
		top: 50%;
		margin: 0 !important;
		transform: translateY(-50%);
	}

	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__option-layout,
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control__option-layout,
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control__option-layout {
		padding-left: 0 !important;
		min-width: 0;
	}

	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__label,
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control__label,
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control__label {
		display: inline-flex;
		align-items: center;
		min-height: 22px;
	}
}

@media (max-width: 768px) {
	body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row,
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 12px !important;
		width: 100% !important;
	}

	body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-return-to-cart-button,
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-return-to-cart-button {
		order: 1 !important;
		flex: 0 0 auto !important;
		width: auto !important;
		max-width: none !important;
		min-height: 44px !important;
		margin: 0 !important;
		padding: 8px 0 !important;
		justify-content: flex-start !important;
		white-space: nowrap !important;
	}

	body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-place-order-button,
	body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-place-order-button__button,
	body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block button[type="submit"],
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-place-order-button,
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-place-order-button__button,
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-actions-block button[type="submit"] {
		order: 2 !important;
		flex: 0 1 62% !important;
		width: auto !important;
		max-width: 230px !important;
		min-width: 170px !important;
		min-height: 48px !important;
		margin: 0 0 0 auto !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		white-space: nowrap !important;
	}

	body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .prb-pay-card-button-note,
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .prb-pay-card-button-note {
		order: 3 !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-top: 8px !important;
		text-align: center !important;
	}
}

@media (max-width: 768px) {
	body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-return-to-cart-button,
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-return-to-cart-button {
		display: none !important;
	}

	body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row,
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row {
		display: block !important;
	}

	body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-place-order-button,
	body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-place-order-button__button,
	body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block button[type="submit"],
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-place-order-button,
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-place-order-button__button,
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-actions-block button[type="submit"] {
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
}

@media (max-width: 768px) {
	body.woocommerce-checkout .wc-block-components-express-payment__content {
		border-bottom: 0 !important;
		box-shadow: none !important;
	}
}

@media (max-width: 768px) {
	body.woocommerce-checkout .prb-checkout-express-copy {
		margin-top: 0 !important;
	}

	body.woocommerce-checkout .wc-block-components-express-payment__content {
		padding-bottom: 0 !important;
	}

	body.woocommerce-checkout .prb-checkout-fast-checkout__note,
	body.woocommerce-checkout .m-co-express__note {
		margin-top: 0 !important;
	}
}

@media (min-width: 769px) {
	body.woocommerce-checkout #wc-guest-checkout-notice.wc-block-checkout__guest-checkout-notice {
		display: none !important;
	}
}

@media (min-width: 769px), (hover: hover) and (pointer: fine) {
	body.woocommerce-checkout #contact #prb-newsletter-optin-fallback {
		margin-top: 12px !important;
		display: block !important;
	}
}

/* ===== 信息/政策页统一排版 =====
   About(124) Shipping(126) Payment(2355) Refund(11) Privacy(3) Terms(125) */

body:is(.page-id-3, .page-id-11, .page-id-124, .page-id-125, .page-id-126, .page-id-2355) .entry-content {
	max-width: 820px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 4px 24px 72px !important;
	box-sizing: border-box;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.75;
	color: #3d3d3d;
}

/* 覆盖块主题对子元素的约束，统一走上面的容器宽度 */
body:is(.page-id-3, .page-id-11, .page-id-124, .page-id-125, .page-id-126, .page-id-2355) .entry-content > * {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* 页面大标题：衬线 + 品牌色装饰短线 */
body:is(.page-id-3, .page-id-11, .page-id-124, .page-id-125, .page-id-126, .page-id-2355) h1.wp-block-post-title {
	letter-spacing: 0.5px;
}
body:is(.page-id-3, .page-id-11, .page-id-124, .page-id-125, .page-id-126, .page-id-2355) h1.wp-block-post-title::after {
	content: '';
	display: block;
	width: 54px;
	height: 3px;
	background: #0f9d8f;
	border-radius: 2px;
	margin: 16px auto 0;
}

/* 压缩标题上下的超大空白间隔 */
body:is(.page-id-3, .page-id-11, .page-id-124, .page-id-125, .page-id-126, .page-id-2355) main .wp-block-spacer {
	height: 28px !important;
}

/* 章节标题：衬线 + 粉色竖条 */
body:is(.page-id-3, .page-id-11, .page-id-124, .page-id-125, .page-id-126, .page-id-2355) .entry-content h3 {
	font-family: Cardo, Georgia, "Times New Roman", serif;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.35;
	color: #1c1c1c;
	margin: 38px 0 14px;
	padding-left: 14px;
	position: relative;
}
body:is(.page-id-3, .page-id-11, .page-id-124, .page-id-125, .page-id-126, .page-id-2355) .entry-content h3::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.18em;
	width: 4px;
	height: 1em;
	background: #0f9d8f;
	border-radius: 2px;
}
body:is(.page-id-3, .page-id-11, .page-id-124, .page-id-125, .page-id-126, .page-id-2355) .entry-content > h3:first-child {
	margin-top: 10px;
}

/* 正文细节 */
body:is(.page-id-3, .page-id-11, .page-id-124, .page-id-125, .page-id-126, .page-id-2355) .entry-content p {
	margin: 0 0 16px;
}
body:is(.page-id-3, .page-id-11, .page-id-124, .page-id-125, .page-id-126, .page-id-2355) .entry-content ul {
	margin: 0 0 18px;
	padding-left: 24px;
	list-style: disc;
}
body:is(.page-id-3, .page-id-11, .page-id-124, .page-id-125, .page-id-126, .page-id-2355) .entry-content li {
	margin: 7px 0;
}
body:is(.page-id-3, .page-id-11, .page-id-124, .page-id-125, .page-id-126, .page-id-2355) .entry-content li::marker {
	color: #0f9d8f;
}
body:is(.page-id-3, .page-id-11, .page-id-124, .page-id-125, .page-id-126, .page-id-2355) .entry-content strong {
	color: #191919;
}
body:is(.page-id-3, .page-id-11, .page-id-124, .page-id-125, .page-id-126, .page-id-2355) .entry-content a {
	color: #0b7a70;
	text-decoration: underline;
	text-underline-offset: 3px;
}
body:is(.page-id-3, .page-id-11, .page-id-124, .page-id-125, .page-id-126, .page-id-2355) .entry-content a:hover {
	color: #0b7a70;
}

/* 开头引言段落略放大减灰，形成层次 */
body:is(.page-id-3, .page-id-11, .page-id-125, .page-id-126) .entry-content > p:not(.prb-effective-date):first-child,
body:is(.page-id-3, .page-id-125) .entry-content > .prb-effective-date + p {
	font-size: 17px;
	color: #555;
}

/* Effective date 徽章 */
.entry-content .prb-effective-date {
	display: inline-block;
	background: #fdf1f5;
	border: 1px solid #f7d8e3;
	border-radius: 999px;
	padding: 5px 16px;
	font-size: 13.5px;
	line-height: 1.5;
	margin: 0 0 22px !important;
}
.entry-content .prb-effective-date strong {
	color: #b0486a !important;
	font-weight: 600;
}

@media (max-width: 600px) {
	body:is(.page-id-3, .page-id-11, .page-id-124, .page-id-125, .page-id-126, .page-id-2355) .entry-content {
		padding: 0 18px 56px !important;
		font-size: 15.5px;
	}
	body:is(.page-id-3, .page-id-11, .page-id-124, .page-id-125, .page-id-126, .page-id-2355) .entry-content h3 {
		font-size: 19px;
		margin-top: 32px;
	}
	body:is(.page-id-3, .page-id-11, .page-id-124, .page-id-125, .page-id-126, .page-id-2355) main .wp-block-spacer {
		height: 18px !important;
	}
}

/* ==== 2026-08-05 支付页重做（方案A）追加 ==== */

/* 卡表单区信任文案：PPCP 的 ACDC 区块不渲染 description 字段，
   改用 CSS 生成内容注入，不触碰 React 管理的 DOM（避免 insertBefore 崩溃）。 */
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block::after {
	/* 锁与破折号用 CSS 转义（\1F512=🔒, \2014=—），与文件编码彻底解耦，任何环境不会乱码 */
	content: "\1F512  Encrypted & Secure \2014  your card details never touch our servers.";
	display: block;
	margin-top: 10px;
	font-size: 13px;
	line-height: 1.5;
	color: #6b6b6b;
}

/* [2026-08-25 转 Stripe] PayPal Pay in 4 消息卡样式已整段移除（.ppcp-messages 随 PPCP 停用不再渲染） */

/* ==== 订单成功页 hero（books_thankyou_success_header 输出） ==== */
.prb-thankyou-hero {
	text-align: center;
	padding: 26px 20px 6px;
}
.prb-thankyou-hero__icon {
	width: 56px;
	height: 56px;
	margin: 0 auto 14px;
	border-radius: 50%;
	background: #2e7d32;
	color: #fff;
	font-size: 30px;
	line-height: 56px;
	font-weight: 700;
}
.prb-thankyou-hero__title {
	font-size: 26px;
	margin: 0 0 8px;
}
.prb-thankyou-hero__sub {
	color: #555;
	margin: 0 auto 20px;
	max-width: 560px;
}
.prb-thankyou-steps {
	list-style: none;
	margin: 0 auto 22px;
	padding: 0;
	max-width: 560px;
	text-align: left;
}
.prb-thankyou-steps li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin: 8px 0;
	color: #333;
}
.prb-thankyou-steps li span {
	flex: 0 0 22px;
	height: 22px;
	border-radius: 50%;
	background: #f3e8e3;
	color: #a05a2c;
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	line-height: 22px;
}
.prb-thankyou-actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 14px;
}
.prb-thankyou-btn {
	display: inline-block;
	padding: 10px 22px;
	border-radius: 999px;
	border: 1px solid #222;
	color: #222;
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
}
.prb-thankyou-btn--primary {
	background: #222;
	color: #fff;
}
.prb-thankyou-help {
	color: #777;
	font-size: 13px;
	margin: 0 0 24px;
}
/* hero 在场时隐藏默认的一句话通知（gated 视图无 hero，默认句保留） */
.prb-thankyou-hero ~ .woocommerce-thankyou-order-received {
	display: none;
}
@media (max-width: 767px) {
	.prb-thankyou-hero {
		padding: 18px 14px 2px;
	}
	.prb-thankyou-hero__title {
		font-size: 22px;
	}
}

/* ==== 2026-08-05 第二轮验收修复 ==== */

/* 成功页容器约束：旧规则写给区块模板的 .entry-content 等类，现模板
   （page-checkout.php）里不存在，导致 .woocommerce-order 无约束、
   第五张概览卡整页宽跑出内容列。直接约束 .woocommerce-order 自身。 */
body.woocommerce-order-received .woocommerce-order {
	max-width: 1240px !important;
	margin: 0 auto !important;
	padding: 0 24px 48px !important;
	box-sizing: border-box !important;
}

/* 概览卡改 flex 流式换行：五张卡同排、窄屏优雅折行；
   位置/宽度上硬性护栏，杜绝任何单卡跑出容器。 */
body.woocommerce-order-received ul.woocommerce-order-overview {
	display: flex !important;
	flex-wrap: wrap !important;
}
body.woocommerce-order-received ul.woocommerce-order-overview li {
	flex: 1 1 200px !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: 100% !important;
	position: static !important;
}
/* 长邮箱等值任意断行，不再溢出卡片 */
body.woocommerce-order-received ul.woocommerce-order-overview li strong {
	overflow-wrap: anywhere !important;
}

/* 结账页卡组织 logo：小屏收缩并允许换行，Amex/Discover 不再被视口裁掉 */
@media (max-width: 480px) {
	body.woocommerce-checkout .wc-block-components-payment-method-label img,
	body.woocommerce-checkout .wc-block-components-payment-method-icons img,
	body.woocommerce-checkout .wc-block-components-payment-method-icon {
		height: 18px !important;
		width: auto !important;
	}
	body.woocommerce-checkout .wc-block-components-payment-method-icons {
		flex-wrap: wrap !important;
		justify-content: flex-end !important;
		gap: 4px !important;
	}
}


/* ================================================================
   ==== 2026-08-05 第三轮真机验收修复（五缺陷，workflow 排查产出） ====
   ================================================================ */

/* ==== 2026-08-05 缺陷A：移动端浮动标签压值修复（追加到 style.css 末尾） ==== */
/* 根因：真机上 Chrome 表单恢复/自动填充不派发事件，React 打不上 .is-active，
   blocks 原生浮动标签（居中全尺寸态）压在已恢复的值上；且本表 4 处
   @media(max-width:768px) 的 `padding:12px 14px !important`（行172/5464/6503/6816）
   把原生 .is-active / :-webkit-autofill 的让位 padding(24px 9px 8px) 压掉。
   修法：≤1024px 视口内标签常驻上浮、与 .is-active 彻底解耦（对齐区块原生
   Country/State 下拉 .wc-blocks-components-select__label 的 13px/top:6px 风格），
   输入值恒定让出标签空间。桌面 >1024px 不受影响，保持原生浮动行为。
   断点用 1024px 是因为真机 CSS 视口可能高达 ~900px。 */
@media (max-width: 1024px) {
	/* 标签常驻上浮：无论 React 是否打上 .is-active / 是否 :-webkit-autofill，
	   渲染结果一致；!important 同时盖掉基础态 translateY(-50%) 和
	   .is-active 的 scale(.82)（避免 13px 再被二次缩放） */
	body.woocommerce-checkout .wc-block-components-text-input label {
		top: 6px !important;
		left: 14px !important;
		transform: none !important;
		font-size: 13px !important;
		line-height: 16px !important;
		z-index: 1 !important;
	}

	/* 值恒定压到标签下方（照抄 blocks 原生 .is-active 的 24px/8px），
	   同特异性 !important 靠源序压过本表前面四处 `padding:12px 14px !important`；
	   横向 14px 沿用主题现有移动端取值，保持视觉不变 */
	body.woocommerce-checkout .wc-block-components-text-input input,
	body.woocommerce-checkout .wc-block-components-text-input textarea {
		padding: 24px 14px 8px !important;
		min-height: 50px !important;
	}
}

/* ==== 2026-08-05 缺陷B修复：Pay with Card 卡组织 logo 溢出支付卡片 ==== */
/* 根因：7185 行 __label-group 在 content-box 下 width:100% + 66px padding + 3px border
   → 恒定右溢 ~69px，被 6555 行 option 的 overflow:hidden 裁掉（Amex 半截 / Discover 不见）。
   旧修复写在 @media 480px 下真机打不中；且 PPCP ACDC 标签不渲染
   .wc-block-components-payment-method-label，实际结构是
   .wc-block-components-payment-method-icons > img.wc-block-components-payment-method-icon--xxx。
   断点用 1024px 覆盖真机可能高达 ~900px 的 CSS 视口。 */
@media (max-width: 1024px) {
	/* 1. 修盒模型：宽度把 padding/border 算进去，69px 溢出根源消除 */
	body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__label-group,
	body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__label-group,
	body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option-layout {
		box-sizing: border-box !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	/* 2. 标签行：允许换行，标题与图标挤不下时优雅折行（压过 7196 行同选择器旧规则，追加在文件尾即生效） */
	body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__label {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 6px 12px !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}
	/* PPCP 标题 span 无类名，允许收缩不撑爆 */
	body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__label > span {
		flex: 0 1 auto;
		min-width: 0;
	}

	/* 3. 图标行：可收缩、可换行、靠右 */
	body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-payment-method-icons {
		display: flex !important;
		flex: 1 1 auto !important;
		flex-wrap: wrap !important;
		justify-content: flex-end !important;
		gap: 4px 6px !important;
		margin: 0 !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}

	/* 4. 单个 logo 钳制——特异度 (0,4,1)+!important，
	      压过 Woo checkout.css 的 __label img{height:24px;max-width:100%}（0,3,1） */
	body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-payment-method-icons img,
	body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-payment-method-icon {
		height: 20px !important;
		max-height: 20px !important;
		width: auto !important;
		max-width: 36px !important;
		margin: 0 !important;
		flex: 0 0 auto !important;
	}
}

/* ==== 2026-08-05 缺陷C修复：order-received 地址两卡并排（追加到 style.css 末尾） ====
   根因：woocommerce-layout.css 的 .col2-set::before/::after 清浮动伪元素
   （content:" "; display:table）在子题的 grid 容器里变成真实 grid item，
   把 col-1(Billing) 挤到第1行第2格、col-2(Shipping) 挤到第2行第1格；
   且 .col-1/.col-2 的 width:48% 在 grid item 上仍生效导致卡片缩水。
   修复：灭掉伪元素 + 清 float/width + 显式指定网格落位。 */

/* 1) 干掉 clearfix 伪元素，让 grid 容器里只剩两张地址卡 */
body.woocommerce-order-received .woocommerce-columns--addresses::before,
body.woocommerce-order-received .woocommerce-columns--addresses::after,
body.woocommerce-page .woocommerce-customer-details .col2-set::before,
body.woocommerce-page .woocommerce-customer-details .col2-set::after {
	content: none !important;
	display: none !important;
}

/* 2) 稳定建立两栏 grid（不依赖 media 外的旧规则） */
body.woocommerce-order-received .woocommerce-columns.woocommerce-columns--2.woocommerce-columns--addresses {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 24px !important;
	width: 100% !important;
	margin: 0 !important;
}

/* 3) 清掉 woocommerce-layout.css 的 float / width:48%，并显式落位 */
body.woocommerce-order-received .woocommerce-columns--addresses .col-1,
body.woocommerce-order-received .woocommerce-columns--addresses .col-2,
body.woocommerce-order-received .woocommerce-column--billing-address,
body.woocommerce-order-received .woocommerce-column--shipping-address {
	float: none !important;
	clear: none !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

body.woocommerce-order-received .woocommerce-columns--addresses .col-1 {
	grid-column: 1 !important;
	grid-row: 1 !important;
}

body.woocommerce-order-received .woocommerce-columns--addresses .col-2 {
	grid-column: 2 !important;
	grid-row: 1 !important;
}

/* 4) 窄屏叠放。断点按铁律用 1024px（真机 CSS 视口可达 ~900px，768 打不中）；
   基础规则带了 !important，这里必须同样 !important 才能压回单列 */
@media (max-width: 1024px) {
	body.woocommerce-order-received .woocommerce-columns.woocommerce-columns--2.woocommerce-columns--addresses {
		grid-template-columns: 1fr !important;
	}

	body.woocommerce-order-received .woocommerce-columns--addresses .col-1 {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}

	body.woocommerce-order-received .woocommerce-columns--addresses .col-2 {
		grid-column: 1 !important;
		grid-row: 2 !important;
	}
}

/* ==== 2026-08-05 缺陷D修复：成功页概览五卡桌面同排 ==== */

/* 根因一：成功页 body 同时带 woocommerce-checkout，第 288 行
   :is(.woocommerce,...){max-width:1100px;padding:0 20px} 把 .woocommerce-order
   的父层压到 1100px，第二轮设的 1240px 被架空（ul 实际只有 1052px 可用）。
   仅在 order-received 放开包裹层；带 .prb-checkout-page-main 限定，
   不影响真正的结账表单页。!important + 位于文件末尾，压过 288 行
   （无 !important）和 5399 行移动端规则（同 !important 靠源顺序取胜；
   移动端左右留白由 .woocommerce-order 自身 24px padding 兜底）。 */
body.woocommerce-order-received .prb-checkout-page-main .woocommerce {
	width: 100% !important;
	max-width: 1240px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box !important;
}

/* 根因二：li flex-basis 200px → 5×200 + 4×16(gap) = 1064px > 可用宽度，
   第五张必折行且被 flex-grow 拉满。桌面改等分：basis 0 永不触发 wrap，
   五张卡在任意桌面宽度都稳定一排（放开包裹层后每张约 222px）。
   与 7651 行 `flex:1 1 200px !important` 同特异性同 !important，
   追加在其后靠源顺序覆盖。补 box-sizing 防 li 按 content-box 计宽。 */
body.woocommerce-order-received ul.woocommerce-order-overview li {
	flex: 1 1 0 !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

/* 窄屏流式回落（断点只用 1024px，覆盖真机 ~900px CSS 视口）：
   容器 ≥ 约 500px 时 basis=50%-半个gap → 两列 + 第五张整行（2+2+1）；
   更窄时 max() 把 basis 撑到 240px → 自动单列。 */
@media (max-width: 1024px) {
	body.woocommerce-order-received ul.woocommerce-order-overview li {
		flex: 1 1 max(240px, calc(50% - 8px)) !important;
	}
}

/* ==== 2026-08-05 第三轮：缺陷E Pay in 4 空壳 + SMART SAVINGS 溢出护栏 ==== */

/* [2026-08-25] E-1 相关方案已随 PPCP 移除，见 git/文档历史 */

/* --- E-2  SMART SAVINGS 折扣框（.prb-checkout-auto-coupon-banner）
   窄屏防溢出护栏：长优惠码/长阈值是整段不可断 token，胶囊无换行
   护栏会撑出横向溢出。不设断点（任何宽度都安全，也就无所谓
   768px/900px 视口打不打得中）。 --- */
body.woocommerce-checkout .prb-checkout-auto-coupon-banner {
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	overflow: hidden;            /* 兜底：万一仍有超界，按圆角裁掉 */
	overflow-wrap: break-word;
}

body.woocommerce-checkout .prb-checkout-auto-coupon-banner__eyebrow,
body.woocommerce-checkout .prb-checkout-auto-coupon-banner__title,
body.woocommerce-checkout .prb-checkout-auto-coupon-banner__message {
	min-width: 0 !important;
	overflow-wrap: anywhere !important;
}

/* 胶囊行：原本已 flex-wrap:wrap（928-996 行），这里加 !important 固化，
   防后续覆盖，同时给收缩权 */
body.woocommerce-checkout .prb-checkout-auto-coupon-banner__meta,
body.woocommerce-checkout .prb-checkout-auto-coupon-banner__tiers {
	flex-wrap: wrap !important;
	min-width: 0 !important;
	max-width: 100% !important;
}

/* 胶囊本体：允许内部换行 + 长 token 任意断；只补纵向 padding
   （横向 padding 仍由原规则/768px 覆盖决定），单行时视觉不变
   （min-height + align-items:center 仍居中），换行时不贴边 */
body.woocommerce-checkout .prb-checkout-auto-coupon-banner__code,
body.woocommerce-checkout .prb-checkout-auto-coupon-banner__summary,
body.woocommerce-checkout .prb-checkout-auto-coupon-banner__tier {
	max-width: 100% !important;
	min-width: 0 !important;
	height: auto !important;
	white-space: normal !important;
	word-break: break-word;              /* 不认 anywhere 的老浏览器回退 */
	overflow-wrap: anywhere !important;
	line-height: 1.35 !important;
	padding-top: 3px !important;
	padding-bottom: 3px !important;
}
/* ==== 2026-08-05 第五轮：移动端折叠框边距 + 成功页卡片对齐 ==== */
@media (max-width: 1024px) {
	/* 折叠 Order summary 贴边根因：5414 行媒体块把 sidebar/summary 强制
	   margin:0 !important，而 .prb-checkout-page-main 移动端横向 padding 为 0。
	   外层 sidebar 保持满宽，边距统一挂在 summary 块上（避免嵌套双边距），
	   同特异性 !important 靠文件尾源序压过 5414 行。 */
	body.woocommerce-checkout .wc-block-checkout__sidebar,
	body.woocommerce-checkout .wc-block-components-sidebar {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}
	body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
		box-sizing: border-box !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 14px !important;
	}

	/* 成功页概览卡：移动端一律单列等宽，杜绝 flex 分行导致的宽窄不一 */
	body.woocommerce-order-received ul.woocommerce-order-overview li {
		flex: 1 1 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	/* 容器横向留白统一 14px（桌面仍 24px） */
	body.woocommerce-order-received .woocommerce-order {
		padding-left: 14px !important;
		padding-right: 14px !important;
	}
}

/* ==== 2026-08-05 第七轮：购物车 PROCEED TO CHECKOUT 对齐 ==== */
/* 按钮 width:100% + padding 16px 24px 在无全局 border-box 的页面上按
   content-box 计宽 → 比容器宽 48px 右溢出。补 border-box + 宽度钳制。 */
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
	box-sizing: border-box !important;
	max-width: 100% !important;
	display: block !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
/* 包装层清横向缩进（排除 sticky 变体——它 fixed 定位需要自己的 16px padding） */
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block,
body.woocommerce-cart .wc-block-cart__submit-container:not(.wc-block-cart__submit-container--sticky) {
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Save your card 勾选框与上方卡字段拉开间距（作用域限支付区，桌面/移动通用） */
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-checkbox {
	margin-top: 16px !important;
}


/* ==== 2026-08-06 政策页底部统一联系方式区块 ====
   由 child theme functions.php 的 books_child_append_policy_contact_block()
   通过 the_content 过滤器追加到 shipping(126) / refund(11) / privacy(3) /
   terms(125) / payment(2355) 五页正文末尾。
   配色 / 圆角 / 描边全部沿用本节既有的政策页 token：
   #0f9d8f 主粉、rgba(15, 157, 143,.08)→rgba(127, 209, 199,.04) 渐变底、
   rgba(15, 157, 143,.15) 描边、16px 圆角、#555 次要文字、#191919 强调文字。 */

.prb-policy-contact {
	margin: 44px 0 0;
	padding: 26px 28px 20px;
	background: linear-gradient(135deg, rgba(15, 157, 143, 0.08) 0%, rgba(127, 209, 199, 0.04) 100%);
	border: 1px solid rgba(15, 157, 143, 0.15);
	border-radius: 16px;
	box-sizing: border-box;
}

/* 标题刻意不重复定义衬线字体和粉色竖条：上面的
   `body:is(.page-id-3, .page-id-11, …) .entry-content h3` 及其 ::before
   已覆盖这五个页面，这里只压掉区块内多余的上边距。 */
/* 特异性必须压过 body:is(.page-id-3, .page-id-11, .page-id-124, .page-id-125, .page-id-126, .page-id-2355) .entry-content h3 (0,2,2)，
   否则那条的 margin:38px 0 14px 会赢，卡片顶部多出 38px 空隙。此选择器为 (0,3,1)。 */
body:is(.page-id-3, .page-id-11, .page-id-124, .page-id-125, .page-id-126, .page-id-2355) .entry-content .prb-policy-contact__heading {
	margin-top: 0;
}

/* 段落的 margin 由上面的 `.entry-content p`（0 0 16px）统一管，这里不重复声明。 */
.prb-policy-contact__intro {
	font-size: 15px;
	color: #555;
}

.prb-policy-contact__list {
	margin: 0;
	padding: 0;
}

.prb-policy-contact__row {
	display: grid;
	grid-template-columns: 168px minmax(0, 1fr);
	gap: 2px 18px;
	padding: 10px 0;
	border-top: 1px solid rgba(15, 157, 143, 0.14);
}

.prb-policy-contact__row:first-child {
	border-top: 0;
	padding-top: 0;
}

.prb-policy-contact__row:last-child {
	padding-bottom: 0;
}

.prb-policy-contact__label {
	margin: 0;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.55;
	color: #555;
}

.prb-policy-contact__value {
	margin: 0; /* 覆盖浏览器对 dd 的默认 40px 缩进 */
	color: #191919;
	overflow-wrap: break-word;
}

/* 邮箱 / 电话链接的颜色和下划线由 `.entry-content a`（#0b7a70 / #0b7a70）继承，
   这里不重复声明，只在窄屏放大点按区域。 */

/* privacy-policy(3) 的正文至今仍被历史 mu-plugin
   （wp-content/mu-plugins/policy-pages-style.php）包在 .policy-page-content 里，
   那层有 padding:60px 30px 80px。联系卡是它的兄弟节点，不补偿就会比正文左右各宽
   30px、上方还多出 80px 空白。margin-left/right 必须 !important —— 上面的
   `.entry-content > *` 用 !important 把左右外边距按成了 0。 */
body.page-id-3 .entry-content > .prb-policy-contact {
	margin-top: 0;
	margin-left: 30px !important;
	margin-right: 30px !important;
}

@media (max-width: 600px) {
	.prb-policy-contact {
		margin-top: 32px;
		padding: 20px 18px 16px;
		border-radius: 14px;
	}
	.prb-policy-contact__intro {
		font-size: 14.5px;
	}
	.prb-policy-contact__row {
		grid-template-columns: minmax(0, 1fr);
		gap: 1px;
		padding: 9px 0;
	}
	.prb-policy-contact__label {
		font-size: 12.5px;
	}
	/* 手机上邮箱和电话是主要触点，给足点按高度。 */
	.prb-policy-contact__value a {
		display: inline-block;
		padding: 3px 0;
	}
}

/* 2026-09-28 staging 试验：快捷支付下方的折扣码入口 */
body.woocommerce-checkout .prb-express-discount {
    margin: 4px 0 6px;
    text-align: center;
    font-size: 13px;
}
body.woocommerce-checkout .prb-express-discount__toggle {
    background: none;
    border: 0;
    color: #0f9d8f;
    text-decoration: underline;
    cursor: pointer;
    font-size: 13px;
    padding: 4px 6px;
}
body.woocommerce-checkout .prb-express-discount__form {
    display: flex;
    gap: 8px;
    justify-content: center;
    margin: 6px auto 0;
    max-width: 340px;
}
body.woocommerce-checkout .prb-express-discount__form[hidden] {
    display: none;
}
body.woocommerce-checkout .prb-express-discount__input {
    flex: 1 1 auto;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid #cfcfcf;
    border-radius: 6px;
    font-size: 14px;
    text-transform: uppercase;
}
body.woocommerce-checkout .prb-express-discount__apply {
    background: #0f9d8f;
    color: #fff;
    border: 0;
    border-radius: 6px;
    padding: 9px 14px;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
}
body.woocommerce-checkout .prb-express-discount__status {
    margin: 0 0 4px;
    font-size: 13px;
    color: #0f9d8f;
    min-height: 0;
}
body.woocommerce-checkout .prb-express-discount__status.is-error {
    color: #b42318;
}
body.woocommerce-checkout .prb-express-discount__status.is-info {
    color: #4a4a4a;
}
body.woocommerce-checkout .prb-express-discount.is-applied .prb-express-discount__status {
    font-weight: 600;
}

/* ===== OSB brand pass 2026-10-25: load the parent theme's bundled fonts and use them site-wide ===== */
@font-face { font-family: "Cardo"; font-style: normal; font-weight: 400; font-display: swap; src: url("/wp-content/themes/twentytwentyfour/assets/fonts/cardo/cardo_normal_400.woff2") format("woff2"); }
@font-face { font-family: "Cardo"; font-style: normal; font-weight: 700; font-display: swap; src: url("/wp-content/themes/twentytwentyfour/assets/fonts/cardo/cardo_normal_700.woff2") format("woff2"); }
@font-face { font-family: "Cardo"; font-style: italic; font-weight: 400; font-display: swap; src: url("/wp-content/themes/twentytwentyfour/assets/fonts/cardo/cardo_italic_400.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/wp-content/themes/twentytwentyfour/assets/fonts/inter/Inter-VariableFont_slnt,wght.woff2") format("woff2"); }
body, button, input, select, textarea, .books-nav, .books-topbar, .woocommerce, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
h1, h2, h3, h4, .woocommerce-products-header__title, .books-card__title, .wp-block-post-title, .books-footer__brand-name {
  font-family: "Cardo", Georgia, "Times New Roman", serif;
}
.books-nav a, .books-nav button { font-family: "Inter", -apple-system, "Segoe UI", Roboto, Arial, sans-serif; letter-spacing: 0.04em; }

/* ===== OSB palette v2 2026-10-25: teal navigation bar, white links ===== */
.books-nav-bar { background: #0f9d8f !important; border-bottom: 0; box-shadow: none; }
.books-nav__link, .books-nav__link:visited { color: #ffffff !important; }
.books-nav__link:hover, .books-nav__link:focus { color: #ffffff !important; background: #0b7a70 !important; }
.books-nav__item.is-active > .books-nav__link, .books-nav__link[aria-current="page"] { color: #ffffff !important; box-shadow: inset 0 -3px 0 rgba(255,255,255,0.85); }
.books-nav__link svg, .books-nav__link .books-nav__caret, .books-nav__item--mega > .books-nav__link::after { color: #ffffff !important; fill: currentColor; }
.books-nav__item:hover .books-nav__link::before { background: #ffffff !important; }

/* 2026-10-29 顶栏两句（Free shipping on every U.S. order / Ships in 1 to 2 business days）在 ≤420px 的单行里放不下，两端各被裁约 17px；小屏把两项缩到 11px（11px 时总宽约 342px，390 宽可用 366px）。 */
@media (max-width: 420px) {
	.books-topbar__row > .books-topbar__item,
	.books-topbar__row > .books-topbar__divider {
		font-size: 11px !important;
	}
}
