/*
 * AUTOBOSS Store Tools · print styles.
 * Loaded with media="print"; the only screen rule hides print-only furniture.
 * @page box, font size, gallery columns and extra hide selectors are added inline
 * from Store Tools → Print.
 */
.abst-print-only { display: none !important; }

@media print {
	html:has(body.abst-print), body.abst-print {
		width: auto !important; min-width: 0 !important; height: auto !important; min-height: 0 !important;
		margin: 0 !important; padding: 0 !important; overflow: visible !important;
		background: #fff !important; color: #171717 !important;
		font-family: Arial, Helvetica, "PingFang SC", "Microsoft YaHei", sans-serif; line-height: 1.45;
	}
	body.abst-print .abst-print-only { display: block !important; }

	/* Document header / footer */
	body.abst-print .abst-print-header {
		position: static !important; width: 100%; margin: 0 0 12pt; padding: 0 0 8pt;
		border-bottom: 1pt solid #222; break-inside: avoid; color: #171717;
	}
	.abst-print-header .abst-print-brand { display: flex; justify-content: space-between; align-items: center; gap: 12pt; font: 10pt Arial, sans-serif; }
	.abst-print-header .abst-print-brand img { display: block; width: 98pt; height: 32pt; object-fit: contain; object-position: left; }
	.abst-print-header .abst-print-source { margin-top: 6pt; font: 8pt/1.4 Arial, sans-serif; overflow-wrap: anywhere; }
	.abst-print-header a, .abst-print-footer a { color: #333 !important; text-decoration: none !important; }
	body.abst-print .abst-print-footer { position: static !important; clear: both; margin-top: 14pt; padding-top: 8pt; border-top: .6pt solid #777; font: 9pt/1.4 Arial, sans-serif; break-inside: avoid; }
	body.abst-print .abst-print-note { margin-top: 3pt; color: #555; }

	/* Site chrome: header, footer, drawers, floating widgets, dialogs, banners. */
	body.abst-print :is(#header, #footer, #wpadminbar, .site-header, .site-footer, .skip-link, .screen-reader-text,
		.abhf-hd, .abhf-ft, .abhf-ov, .abmbn, #abch, .abch, .abch-nudge, #autoboss-side-cart, .absc, #abpvc-modal, .abpvc-modal,
		#cmplz-cookiebanner-container, .cmplz-cookiebanner, .cmplz-manage-consent, .ct-drawer-canvas, .ct-header, .ct-footer, .ct-panel,
		.ct-back-to-top, .ct-read-progress-bar, .ct-sticky-add-to-cart, .ct-floating-bar, .ct-share-box, .ct-newsletter-subscribe,
		.abspk, [class*="abspk-sticky"], #wcpbc-widget-country-switcher-form, .gtranslate_wrapper,
		.pswp, dialog:not([open]), [role="dialog"]:not([open]), .woocommerce-store-notice,
		[data-abst-print-hide], .abst-print-hide, [data-no-print], .no-print,
		.swiper-button-next, .swiper-button-prev, .swiper-pagination, .slick-arrow, .slick-dots,
		.swiper-slide-duplicate, .slick-cloned, .flexy-pills, .flexy-arrow,
		.comment-respond, #review_form_wrapper, #review_form) {
		display: none !important;
	}
	body.abst-print dialog[open] { position: static !important; }

	body.abst-print :is(#main-container, #main, #main > .ct-container, #main > .ct-container-full, #main > article, #primary, .site-content) {
		display: block !important; width: auto !important; max-width: none !important;
		height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important;
		overflow: visible !important; background: #fff !important;
	}
	body.abst-print #main * { box-shadow: none !important; text-shadow: none !important; animation: none !important; transition: none !important; scroll-snap-type: none !important; }
	body.abst-print #main :is(p, li, dd, dt, td, th, h1, h2, h3, h4, h5, h6, a, span, strong, em, summary, legend, label) { color: #171717 !important; }
	body.abst-print #main :is(section, article, .entry-content) { background: #fff !important; }
	body.abst-print #main [data-abst-print-surface] { background-color: #fff !important; }
	body.abst-print #main [data-abst-print-flat] { background-image: none !important; }
	body.abst-print #main .abst-print-background { margin: 6pt 0 !important; break-inside: avoid; }
	body.abst-print #main .abst-print-background img { width: 100% !important; max-height: 110mm !important; height: auto !important; }
	body.abst-print #main :is(h1, h2, h3, h4, h5, h6) { break-after: avoid; page-break-after: avoid; line-height: 1.25 !important; }
	body.abst-print #main h1 { font-size: 22pt !important; margin: 0 0 10pt !important; }
	body.abst-print #main h2 { font-size: 15pt !important; margin: 12pt 0 6pt !important; }
	body.abst-print #main :is(h3, h4) { font-size: 12pt !important; margin: 9pt 0 5pt !important; }
	body.abst-print #main :is(p, li, dd, dt) { line-height: 1.45 !important; orphans: 3; widows: 3; }
	body.abst-print #main p { margin-block: 0 6pt !important; }
	body.abst-print #main :is(ul, ol) { padding-inline-start: 17pt; }
	body.abst-print #main a { overflow-wrap: anywhere; }
	body.abst-print #main .entry-content a:not(.button) { text-decoration: underline; }
	body.abst-print #main :is(pre, code) { white-space: pre-wrap !important; overflow-wrap: anywhere; }
	body.abst-print #main img { position: static !important; transform: none !important; max-width: 100% !important; object-fit: contain !important; break-inside: avoid; }
	body.abst-print #main .entry-content img { height: auto !important; max-height: 220mm !important; width: auto; }
	body.abst-print #main figure { max-width: 100% !important; height: auto !important; aspect-ratio: auto !important; overflow: visible !important; }
	body.abst-print #main :is(video, iframe) { max-width: 100% !important; height: 55mm !important; position: static !important; }

	/* Finite page flow: nothing fixed/sticky repeats on every sheet. */
	body.abst-print #main :is([data-abst-print-static], .abtd-panel, .abtd-panel-scroll, .abtd-left, .abtd-right) {
		position: relative !important; inset: auto !important; top: auto !important; transform: none !important; translate: none !important;
	}
	body.abst-print #main [data-abst-print-flow] {
		display: block !important; width: auto !important; max-width: 100% !important; min-width: 0 !important;
		height: auto !important; min-height: 0 !important; max-height: none !important; overflow: visible !important;
		columns: auto !important; transform: none !important; position: relative !important;
	}
	body.abst-print #main :is([data-abst-print-unclip], .abpp-tablewrap, .table-responsive, .abtd-panel-scroll) {
		height: auto !important; max-height: none !important; min-height: 0 !important; overflow: visible !important; -webkit-line-clamp: unset !important; line-clamp: unset !important;
	}

	/* Tables keep their columns and repeat their header on each sheet. */
	body.abst-print #main table { width: 100% !important; min-width: 0 !important; max-width: 100% !important; border-collapse: collapse !important; table-layout: auto !important; margin: 7pt 0 !important; }
	body.abst-print #main :is(th, td) { white-space: normal !important; overflow-wrap: anywhere; font-size: 9pt !important; line-height: 1.35 !important; padding: 5pt !important; border: .5pt solid #aaa !important; background: #fff !important; min-width: 0 !important; }
	body.abst-print #main th { overflow-wrap: normal; word-break: normal !important; }
	body.abst-print #main thead { display: table-header-group !important; }
	body.abst-print #main tfoot { display: table-row-group !important; }
	body.abst-print #main tr { break-inside: avoid; }

	/* Expanded content: only known content panels, never generic [hidden]. */
	body.abst-print #main [data-abst-print-expand] {
		display: block !important; visibility: visible !important; opacity: 1 !important;
		height: auto !important; max-height: none !important; min-height: 0 !important; overflow: visible !important;
		position: static !important; transform: none !important; content-visibility: visible !important;
	}
	body.abst-print #main details { display: block !important; break-inside: auto; }
	body.abst-print #main details::details-content { display: block !important; content-visibility: visible !important; height: auto !important; }
	body.abst-print #main summary { display: block !important; text-align: start !important; padding: 5pt 0 !important; break-after: avoid; list-style: none; }

	/* ---- Product: AUTOBOSS Taobao Detail (.abtd) ---- */
	body.abst-print-product #main :is(.abtd-topbar, .abtd-mtabs, .abtd-ptabs, .abtd-foot, .abtd-toast, .abtd-top, .abtd-search,
		dialog.abtd-sheet, .abtd-thumb-rail, .abtd-thumb-scroll, .abtd-nav, .abtd-counter, .abtd-switch, .abtd-share,
		.abtd-sku-clear, .abtd-sheet-only, .abtd-sheet-actions, .abtd-form-msg, .abtd-qty-row, .abtd-extra,
		.abtd-tb-btn, .abtd-row-icon, .abrv-sec-more, .abrv-btn, [data-abrv-open]) { display: none !important; }
	body.abst-print-product #main :is(.abtd, .abtd-page, .abtd-main, .abtd-left, .abtd-right, .abtd-details, .abtd-panel, .abtd-panel-scroll) {
		display: block !important; width: auto !important; max-width: 100% !important; height: auto !important; min-height: 0 !important; overflow: visible !important; margin: 0 !important; padding: 0 !important; background: #fff !important;
	}
	body.abst-print-product #main .abtd-gallery[data-abst-print-hide] { display: none !important; }
	body.abst-print-product #main .abtd-gallery:not([data-abst-print-hide]) :is(.abtd-stage, .abtd-track) { display: block !important; overflow: visible !important; transform: none !important; height: auto !important; }
	body.abst-print-product #main .abtd-gallery:not([data-abst-print-hide]) .abtd-slide:not(:first-child) { display: none !important; }
	body.abst-print-product #main .abtd-title { font-size: 18pt !important; line-height: 1.3 !important; margin: 0 0 6pt !important; }
	body.abst-print-product #main :is(.abtd-price, .abtd-price-now, .abtd-band) { background: #fff !important; color: #111 !important; padding: 0 !important; }
	body.abst-print-product #main :is(.abtd-sec, .abtd-mod) { margin: 0 0 10pt !important; padding: 0 !important; border: 0 !important; background: #fff !important; break-inside: auto; }
	body.abst-print-product #main .abtd-sec-head h2 { font-size: 14pt !important; border-bottom: .6pt solid #999; padding-bottom: 3pt !important; }
	body.abst-print-product #main .abtd-row { display: grid !important; grid-template-columns: 28% 1fr; gap: 6pt; padding: 2pt 0 !important; break-inside: avoid; }
	body.abst-print-product #main :is(.abtd-params-tiles, .abtd-cards) { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 6pt !important; }
	body.abst-print-product #main .abtd-params-list :is(li, tr) { break-inside: avoid; }
	body.abst-print-product #main form :is(.abtd-sku-body, .abtd-opts) { display: none !important; }
	body.abst-print-product #main .abtd-form:has(.abst-print-selection) .abtd-sku-summary { display: none !important; }
	body.abst-print-no-related #main :is(.abtd-more, #abtd-sec-more, .related.products, .upsells.products) { display: none !important; }
	/* WooCommerce default single product */
	body.abst-print-product #main .summary.entry-summary { width: 100% !important; float: none !important; padding: 0 !important; margin: 0 0 10pt !important; position: static !important; }
	body.abst-print-product #main form.cart:has(.abst-print-selection) :is(.variations, .quantity, .reset_variations) { display: none !important; }
	body.abst-print-product #main form.cart :is(button, .ppc-button-wrapper, .wc-block-components-express-payment, .wc-stripe-payment-request-wrapper) { display: none !important; }
	body.abst-print-product #main :is(.wc-tabs, .woocommerce-tabs > ul.tabs) { display: none !important; }
	body.abst-print #main .abst-print-selection { margin: 7pt 0 !important; }
	body.abst-print #main .abst-print-selection dt { display: inline; font-weight: 700; }
	body.abst-print #main .abst-print-selection dt::after { content: ": "; }
	body.abst-print #main .abst-print-selection dd { display: inline; margin: 0; }
	body.abst-print #main .abst-print-selection dd::after { content: ""; display: block; margin-bottom: 3pt; }
	body.abst-print #main .abst-print-gallery { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8pt; margin: 10pt 0 12pt; }
	body.abst-print #main .abst-print-gallery figure { margin: 0 !important; padding: 4pt !important; border: .5pt solid #ddd; break-inside: avoid; }
	body.abst-print #main .abst-print-gallery img { display: block; width: 100% !important; height: auto !important; max-height: 88mm !important; object-fit: contain !important; }

	/* ---- Catalog: shop archive (.absa), product cards (.abpc), WooCommerce loops ---- */
	body.abst-print-catalog #main :is(.absa-rail, .absa-bar, .absa-sort-bar, .absa-applied, .absa-pg, .absa-tabs, .absa-find, .absa-row-nav, .absa-foot,
		.abpc-actions, .abpc-btn, .abpc-panel, .abpc-i-swap, .abpc-img-alt, .woocommerce-pagination, .woocommerce-ordering, .woocommerce-result-count,
		.add_to_cart_button, .ajax_add_to_cart) { display: none !important; }
	body.abst-print #main :is(ul.products, .abpc-grid) { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 10pt !important; padding: 0 !important; }
	body.abst-print #main :is(ul.products > li, .abpc-card, .abpc-item) { break-inside: avoid; margin: 0 !important; min-width: 0 !important; width: auto !important; transform: none !important; }
	body.abst-print #main :is(ul.products, .abpc-grid) img { position: static !important; height: 38mm !important; width: auto !important; max-width: 100% !important; margin: 0 auto; }
	body.abst-print #main :is(.abpc-title, .woocommerce-loop-product__title) { display: block !important; height: auto !important; max-height: none !important; overflow: visible !important; -webkit-line-clamp: unset !important; line-clamp: unset !important; font-size: 9.5pt !important; }

	/* ---- Policy pages: AUTOBOSS Policy Pages (.abpp) ---- */
	body.abst-print-policy #main .abpp { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; background: #fff !important; }
	body.abst-print-policy #main .abpp * { color: #171717 !important; letter-spacing: normal !important; }
	body.abst-print-policy #main .abpp-crumb { display: none !important; }
	body.abst-print-policy #main .abpp-hero { display: block !important; padding: 0 0 8pt !important; margin: 0 0 8pt !important; border-bottom: 1pt solid #222 !important; background: #fff !important; }
	body.abst-print-policy #main :is(.abpp-eyebrow, .abpp-label) { font-size: 8pt !important; text-transform: uppercase; margin: 3pt 0 5pt !important; }
	body.abst-print-policy #main .abpp-title { font-size: 20pt !important; }
	body.abst-print-policy #main .abpp-lead { font-size: 10.5pt !important; }
	body.abst-print-policy #main .abpp-quick { margin: 8pt 0 0 !important; padding: 7pt 9pt !important; border: .6pt solid #aaa !important; background: #fff !important; break-inside: avoid; }
	body.abst-print-policy #main .abpp-quick dl { display: grid !important; grid-template-columns: 34% 1fr; gap: 3pt 8pt; margin: 0; }
	body.abst-print-policy #main .abpp-kpis { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 6pt !important; margin: 0 0 10pt !important; break-inside: avoid; }
	body.abst-print-policy #main .abpp-kpis > div { padding: 6pt !important; border: .6pt solid #999 !important; background: #fff !important; }
	body.abst-print-policy #main .abpp-kpis dt { font-size: 7.5pt !important; }
	body.abst-print-policy #main .abpp-kpis dd { font-size: 9pt !important; margin: 2pt 0 0 !important; }
	body.abst-print-policy #main :is(.abpp-callout, .abpp-support) { display: block !important; padding: 8pt 10pt !important; margin: 8pt 0 !important; background: #fff !important; border: .6pt solid #777 !important; break-inside: avoid; }
	body.abst-print-policy #main .abpp-sec { margin: 0 0 7pt !important; padding: 0 0 6pt !important; border-bottom: .5pt solid #ddd !important; break-inside: auto !important; }
	body.abst-print-policy #main .abpp-sec h2 { font-size: 12.5pt !important; margin: 9pt 0 5pt !important; }
	body.abst-print-policy #main :is(.abpp-related, .abpp-cards) { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 5pt 14pt !important; }
	body.abst-print-policy #main .abpp-card { display: block !important; padding: 3pt 0 !important; border: 0 !important; background: #fff !important; break-inside: avoid; }

	/* ---- Home page (.abhm): carousels collapse to their first visible slides ---- */
	body.abst-print #main :is(.abhm-arrow, .abhm-pause, .abhm-dots) { display: none !important; }
	body.abst-print #main :is(.abhm-scroller, .abhm-mob-scroll, .abhm-track) { overflow: visible !important; transform: none !important; flex-wrap: wrap !important; }

	/* ---- Private screens: never print payment/identity fields ---- */
	body.abst-print-private :is(input[type="password"], input[type="hidden"], iframe, .payment_box, #payment .payment_methods, .wc-block-components-express-payment, .ppc-button-wrapper, #ppc-button-ppcp-gateway) { display: none !important; }
	body.abst-print-private #main :is(.woocommerce-MyAccount-navigation, .woocommerce-form-login, .woocommerce-form-register, button[type="submit"], input[type="submit"]) { display: none !important; }
}
