/* Shop flow (cart, checkout, order received, My account), 0.12.0.
   Unlayered on purpose: WooCommerce block styles and WordPress global styles are unlayered and would beat our
   @layer rules. Loaded only on the flow view. Brand: Fixel, black rules, square corners, ink accents. */

/* Our frame first: header, footer and buttons keep the brand against WordPress' global link colours */
.lg-root { font-family: var(--lg-font-text); }
.lg-root h1, .lg-root h2, .lg-root h3 { font-family: var(--lg-font-display); }
.lg-root .lg-btn { color: var(--lg-btn-on, var(--lg-ground, #fff)); text-decoration: none; }
.lg-root .lg-btn--ghost { color: #000; }
.lg-root .lg-social a { color: #fff; text-decoration: none; }
.lg-root .lg-header__link { color: inherit; text-decoration: none; }
.lg-root .lg-footer a { color: inherit; }

/* Steps, title, note */
.lg-flow__head { padding-block: var(--lg-s-5) var(--lg-s-4); }
/* Steps: a path, not three buttons. Done = lime ✓ (links back), now = the big black slab with its ink shadow,
   next = dashed and quiet. Lines with arrow heads join them: solid behind you, dashed ahead. */
.lg-flow__steps { list-style: none; display: flex; align-items: center; max-width: 920px; margin: 0 0 var(--lg-s-5); padding: 0; }
.lg-flow__step { display: flex; align-items: center; flex: 1 1 auto; min-width: 0; }
.lg-flow__step:first-child { flex: 0 0 auto; }
.lg-flow__line { position: relative; flex: 1 1 32px; min-width: 22px; height: 3px; margin: 0 14px 0 8px; background: #000; }
.lg-flow__line::after { content: ""; position: absolute; right: -10px; top: 50%; translate: 0 -50%; border-style: solid; border-width: 7px 0 7px 10px; border-color: transparent transparent transparent #000; }
.lg-flow__step.is-next .lg-flow__line { background: repeating-linear-gradient(90deg, #000 0 7px, transparent 7px 13px); }
.lg-flow__box { display: inline-flex; align-items: center; gap: .55em; min-height: 44px; padding: 0 .85em; border: 2px solid #000; background: #fff; color: #000; font: 700 var(--lg-fs-2)/1 var(--lg-font-display); white-space: nowrap; text-decoration: none; }
.lg-flow__box b { display: inline-grid; place-items: center; flex: none; width: 1.7em; height: 1.7em; border: 2px solid #000; background: #fff; color: #000; font-size: var(--lg-fs-1); }
.lg-flow__lbl { display: inline-flex; align-items: baseline; gap: .45em; min-width: 0; }
.lg-flow__lbl small { font: 500 var(--lg-fs-1)/1 var(--lg-font-text); }
.lg-flow__of { display: none; }
.lg-flow__of > span, .lg-flow__of > i { white-space: nowrap; font-style: normal; }
/* now */
.lg-flow__step.is-now .lg-flow__box { min-height: 60px; padding: 0 1.25em 0 .9em; border-width: 3px; background: #000; color: #fff; font-size: var(--lg-fs-4); letter-spacing: -0.02em; box-shadow: 6px 6px 0 var(--lg-ink-s, #E52F9B); }
.lg-flow__step.is-now .lg-flow__box b { width: 1.5em; height: 1.5em; border-color: var(--lg-ink-s, #E52F9B); background: var(--lg-ink-s, #E52F9B); color: var(--lg-ink-s-on, #000); font-size: var(--lg-fs-2); }
.lg-flow__step.is-now .lg-flow__lbl { flex-direction: column; align-items: flex-start; gap: .2em; }
.lg-flow__step.is-now .lg-flow__of { display: block; font: 700 var(--lg-fs-1)/1 var(--lg-font-text); letter-spacing: .08em; opacity: .8; }
.lg-flow__step.is-now .lg-flow__lbl small:not(.lg-flow__of) { font-size: var(--lg-fs-2); letter-spacing: 0; opacity: .85; }
/* next: dashed, quiet (text stays at full contrast; the border and the empty number carry the difference) */
.lg-flow__step.is-next .lg-flow__box { border-style: dashed; background: transparent; }
.lg-flow__step.is-next .lg-flow__box b { border-style: dashed; }
/* done: lime ✓; a link back with hover and press states */
.lg-flow__step.is-done .lg-flow__box b { border-color: #000; background: var(--lg-lime, #B0F153); }
a.lg-flow__box { cursor: pointer; transition: transform calc(var(--lg-d-1, 120ms) * var(--lg-motion, 1)), box-shadow calc(var(--lg-d-1, 120ms) * var(--lg-motion, 1)), background-color calc(var(--lg-d-1, 120ms) * var(--lg-motion, 1)); -webkit-tap-highlight-color: transparent; }
a.lg-flow__box .lg-flow__lbl > span[lang] { text-decoration: underline 2px; text-underline-offset: .2em; }
@media (hover: hover) { a.lg-flow__box:hover { background: var(--lg-lime, #B0F153); transform: translate(-2px, -2px); box-shadow: 4px 4px 0 #000; } }
a.lg-flow__box:active { background: var(--lg-lime, #B0F153); transform: translate(1px, 1px); box-shadow: none; }
a.lg-flow__box:focus-visible { outline: 3px solid #000; outline-offset: 3px; }
/* phones: the current step keeps its words, the others shrink to their number (names stay for screen readers) */
@media (max-width: 639px) {
	.lg-flow__steps { margin-bottom: var(--lg-s-4); }
	.lg-flow__step:not(.is-now) { position: relative; }
	.lg-flow__step:not(.is-now) .lg-flow__lbl { position: absolute; left: 0; top: 0; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.lg-flow__step:not(.is-now) .lg-flow__box { min-width: 44px; padding: 0 6px; justify-content: center; }
	.lg-flow__step.is-now { flex-shrink: 1; }
	.lg-flow__step.is-now .lg-flow__box { min-width: 0; min-height: 56px; padding-block: 8px; font-size: var(--lg-fs-3); padding-right: .8em; white-space: normal; box-shadow: 4px 4px 0 var(--lg-ink-s, #E52F9B); }
	.lg-flow__step.is-now .lg-flow__of { line-height: 1.25; letter-spacing: .02em; }
	.lg-flow__step:not(.is-now) { flex: 0 1 auto; }
	.lg-flow__step:not(.is-now):not(:first-child) .lg-flow__line, .lg-flow__step.is-now .lg-flow__line { flex: 1 1 14px; }
	.lg-flow__line { min-width: 14px; margin: 0 12px 0 6px; }
}
@media (prefers-reduced-motion: reduce) { a.lg-flow__box { transition: none; } a.lg-flow__box:hover, a.lg-flow__box:active { transform: none; } }
/* Checkout without distractions: no announcement bar, no floating Ausweis dock */
body:has(.lg-flow) .lg-announce, body:has(.lg-flow) .lg-dock { display: none !important; }
.lg-flow__head h1 { margin: 0; font: 900 clamp(2.4rem, 6vw, 4rem)/.95 var(--lg-font-display); letter-spacing: -0.045em; }
.lg-flow__en { display: block; margin-top: .35em; font: 500 var(--lg-fs-3)/1.3 var(--lg-font-text); letter-spacing: 0; }
.lg-flow__body { padding-bottom: var(--lg-sheet, 96px); }
.lg-flow__note { margin-top: var(--lg-s-6); padding: var(--lg-s-5); border: 3px solid #000; box-shadow: 8px 8px 0 var(--lg-ink-s, #E52F9B); background: #fff; }
.lg-flow__note h2 { margin: 0 0 var(--lg-s-3); font: 900 var(--lg-fs-4)/1 var(--lg-font-display); letter-spacing: -0.02em; }
.lg-flow__note h2 .lg-flow__en { display: inline; margin: 0 0 0 .4em; font-size: var(--lg-fs-2); }
.lg-flow__note ul { margin: 0 0 var(--lg-s-3); padding: 0; list-style: none; display: grid; gap: var(--lg-s-2) var(--lg-s-5); }
@media (min-width: 800px) { .lg-flow__note ul { grid-template-columns: 1fr 1fr; } }
.lg-flow__note li { padding-left: 1.4em; position: relative; font-size: var(--lg-fs-2); line-height: 1.45; }
.lg-flow__note li::before { content: ""; position: absolute; left: 0; top: .35em; width: .75em; height: .75em; background: var(--lg-ink-s, #E52F9B); box-shadow: 0 0 0 2px #000; }
.lg-flow__legal, .lg-flow__help { margin: 0; font-size: var(--lg-fs-2); }
/* Text links: WordPress global styles are unlayered and would flatten the marker states from lg.css, so they are
   repeated here (same look: underline always, marker on hover, filled on press, outline on focus). */
.lg-flow a:not([class]) { color: #000; text-decoration: underline 2px; text-underline-offset: .2em; background-image: linear-gradient(var(--lg-ink-s, #E52F9B), var(--lg-ink-s, #E52F9B)); background-repeat: no-repeat; background-position: 0 92%; background-size: 0% 40%; -webkit-tap-highlight-color: transparent; transition: background-size calc(var(--lg-d-2, 200ms) * var(--lg-motion, 1)) ease; }
@media (hover: hover) { .lg-flow a:not([class]):hover { background-size: 100% 40%; text-decoration: underline 3px; } }
.lg-flow a:not([class]):active { background-size: 100% 100%; color: var(--lg-ink-s-on, #000); transition-duration: 0s; }
.lg-flow a:not([class]):focus-visible { background-size: 100% 40%; outline: 3px solid #000; outline-offset: 3px; }
.lg-flow__legal { line-height: 2.2; } /* links in a row get room to hit (WCAG 2.5.8) */

/* WooCommerce blocks: cart + checkout */
.lg-flow .wc-block-components-title, .lg-flow .wc-block-components-checkout-step__title, .lg-flow .wc-block-cart__totals-title { font-family: var(--lg-font-display) !important; font-weight: 800 !important; letter-spacing: -0.01em; text-transform: none !important; }
.lg-flow .wc-block-components-text-input input, .lg-flow .wc-block-components-textarea, .lg-flow .wc-blocks-components-select .wc-blocks-components-select__select,
.lg-flow .wc-block-components-combobox .wc-block-components-combobox-control input { border: 2px solid #000 !important; border-radius: 0 !important; font-family: var(--lg-font-text); }
.lg-flow .wc-block-components-text-input input:focus, .lg-flow .wc-blocks-components-select__select:focus { outline: 3px solid var(--lg-ink-s, #E52F9B) !important; outline-offset: 0; box-shadow: none !important; }
.lg-flow .wc-block-components-button:not(.is-link), .lg-flow .wc-block-cart__submit-button, .lg-flow .wc-block-components-checkout-place-order-button {
	min-height: 56px; border: 2px solid #000 !important; border-radius: 0 !important; background: #000 !important; color: #fff !important;
	font: 800 var(--lg-fs-3)/1.15 var(--lg-font-display) !important; letter-spacing: -0.01em; box-shadow: 6px 6px 0 var(--lg-ink-s, #E52F9B); }
.lg-flow .wc-block-components-button:not(.is-link):hover { transform: translate(-1px, -1px); box-shadow: 8px 8px 0 var(--lg-ink-s, #E52F9B); }
.lg-flow .wc-block-components-sidebar .wc-block-components-panel, .lg-flow .wp-block-woocommerce-checkout-order-summary-block,
.lg-flow .wc-block-components-totals-wrapper, .lg-flow .wc-block-cart__sidebar .wc-block-components-totals-item { border-color: #000 !important; }
.lg-flow .wp-block-woocommerce-checkout-order-summary-block { border: 3px solid #000 !important; border-radius: 0 !important; }
.lg-flow .wc-block-components-order-summary-item__image img, .lg-flow .wc-block-cart-item__image img { border: 2px solid #000; }
.lg-flow .wc-block-components-product-metadata__description { display: none; } /* long blurbs in the summary add noise */
.lg-flow .wc-block-components-totals-footer-item .wc-block-components-totals-item__label, .lg-flow .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font: 900 var(--lg-fs-4)/1 var(--lg-font-display) !important; }
.lg-flow .wc-block-components-notice-banner { border-radius: 0 !important; border-width: 2px !important; }
.lg-flow input[type="checkbox"], .lg-flow input[type="radio"] { accent-color: #000; }
.lg-flow .wc-block-components-checkbox .wc-block-components-checkbox__input { border: 2px solid #000 !important; border-radius: 0 !important; }
.lg-flow .wc-block-components-checkbox__label, .lg-flow .wc-gzd-checkbox-placeholder label { font-size: var(--lg-fs-2) !important; line-height: 1.45; }
.lg-flow .wc-block-cart-items__header, .lg-flow .wc-block-cart__totals-title { font: 700 var(--lg-fs-1)/1 var(--lg-font-text) !important; letter-spacing: .08em; }
.lg-flow .wc-block-components-product-name { font: 800 var(--lg-fs-3)/1.2 var(--lg-font-display) !important; color: #000 !important; text-decoration: none; }
.lg-flow :where(a:not([class*="button"]):not(.wp-element-button):not(.lg-btn):not(.lg-flow__add):not(.lg-flow__box)) { color: #000; } /* low specificity: tabs and buttons set their own colour */
.lg-flow a.add_to_cart_button, .lg-flow .wp-block-button__link, .lg-flow a.wp-element-button { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1em; border: 2px solid #000; border-radius: 0; background: #000 !important; color: #fff !important; font: 700 var(--lg-fs-2)/1 var(--lg-font-display); text-decoration: none; }

/* Classic My account + order received (WooCommerce's own markup, restyled; no template overrides) */
.lg-flow .woocommerce { display: grid; gap: var(--lg-s-5); }
.lg-flow .woocommerce::before, .lg-flow .woocommerce::after { content: none; }
.lg-flow .woocommerce-MyAccount-navigation, .lg-flow .woocommerce-MyAccount-content { float: none !important; width: auto !important; margin: 0; }
.lg-flow .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0 0 var(--lg-s-3); display: flex; flex-wrap: wrap; align-items: stretch; gap: 6px; border-bottom: 3px solid #000; }
.lg-flow .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; }
.lg-flow .woocommerce-MyAccount-navigation a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1em; border: 2px solid #000; background: #fff; color: #000; text-decoration: none; font: 700 var(--lg-fs-2)/1 var(--lg-font-display); -webkit-tap-highlight-color: transparent; }
@media (hover: hover) { .lg-flow .woocommerce-MyAccount-navigation a:hover { background: var(--lg-lime, #B0F153); } }
.lg-flow .woocommerce-MyAccount-navigation a:active { background: var(--lg-lime, #B0F153); }
.lg-flow .woocommerce-MyAccount-navigation .is-active a { background: #000; color: #fff; box-shadow: 4px 4px 0 var(--lg-ink-s, #E52F9B); }
.lg-flow .woocommerce-MyAccount-navigation-link--customer-logout { margin-left: auto !important; }
.lg-flow .woocommerce-MyAccount-navigation-link--customer-logout a { border-style: dashed; }
.lg-flow .woocommerce-MyAccount-content > p { max-width: 70ch; line-height: 1.55; }
.lg-flow .woocommerce form .input-text, .lg-flow .woocommerce form select { min-height: 48px; padding: .5em .75em; border: 2px solid #000; border-radius: 0; font: 500 var(--lg-fs-3)/1.3 var(--lg-font-text); width: 100%; }
.lg-flow .woocommerce .button, .lg-flow .woocommerce button.button, .lg-flow .woocommerce a.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .6em 1.1em; border: 2px solid #000 !important; border-radius: 0 !important; background: #000 !important; color: #fff !important; font: 800 var(--lg-fs-2)/1.2 var(--lg-font-display); text-decoration: none; text-align: center; cursor: pointer; box-shadow: 4px 4px 0 var(--lg-ink-s, #E52F9B); -webkit-tap-highlight-color: transparent; }
@media (hover: hover) { .lg-flow .woocommerce .button:hover { transform: translate(-1px, -1px); box-shadow: 6px 6px 0 var(--lg-ink-s, #E52F9B); } }
.lg-flow .woocommerce .button:active { transform: translate(2px, 2px); box-shadow: none; }
/* Headings WooCommerce prints (Downloads, Order details, Billing address) */
.lg-flow .woocommerce h2, .lg-flow .woocommerce-column__title, .lg-flow .woocommerce-order-details__title, .lg-flow .woocommerce-order-downloads__title { margin: var(--lg-s-4) 0 var(--lg-s-3); font: 900 var(--lg-fs-5, 1.8rem)/1.05 var(--lg-font-display) !important; letter-spacing: -0.03em; }
/* Tables: square, black rules; on phones each row becomes a card with its labels */
.lg-flow .woocommerce table.shop_table, .lg-flow .woocommerce-table { width: 100%; border-collapse: collapse; border: 3px solid #000 !important; border-radius: 0 !important; background: #fff; }
.lg-flow .woocommerce table th, .lg-flow .woocommerce table td { padding: .75em .8em !important; border: 0 !important; border-bottom: 2px solid #000 !important; text-align: left; vertical-align: middle; font-size: var(--lg-fs-2); line-height: 1.4; }
.lg-flow .woocommerce table thead th { font: 700 var(--lg-fs-1)/1.2 var(--lg-font-text) !important; letter-spacing: .06em; text-transform: uppercase; background: #fff; }
.lg-flow .woocommerce table tfoot th, .lg-flow .woocommerce table tfoot td { font-weight: 700; }
.lg-flow .woocommerce table tfoot tr:last-child th, .lg-flow .woocommerce table tfoot tr:last-child td { font: 900 var(--lg-fs-4)/1 var(--lg-font-display) !important; border-bottom: 0 !important; }
.lg-flow .woocommerce-table__product-name a, .lg-flow .download-product a, .lg-flow .woocommerce-orders-table__cell-order-number a { font-weight: 700; }
.lg-flow .woocommerce-MyAccount-downloads-file, .lg-flow .download-file a { display: inline-flex !important; align-items: center; gap: .5em; min-height: 44px; max-width: 32ch; padding: .55em .9em !important; border: 2px solid #000; background: #000 !important; color: #fff !important; font: 800 var(--lg-fs-2)/1.25 var(--lg-font-display) !important; text-decoration: none !important; box-shadow: 4px 4px 0 var(--lg-ink-s, #E52F9B); -webkit-tap-highlight-color: transparent; }
.lg-flow .woocommerce-MyAccount-downloads-file::before, .lg-flow .download-file a::before { content: "↓"; flex: none; display: inline-grid; place-items: center; width: 1.5em; height: 1.5em; background: var(--lg-lime, #B0F153); color: #000; font-size: 1em; }
@media (hover: hover) { .lg-flow .woocommerce-MyAccount-downloads-file:hover, .lg-flow .download-file a:hover { transform: translate(-1px, -1px); box-shadow: 6px 6px 0 var(--lg-ink-s, #E52F9B); } }
.lg-flow .woocommerce-MyAccount-downloads-file:active, .lg-flow .download-file a:active { transform: translate(2px, 2px); box-shadow: none; }
@media (max-width: 699px) {
	.lg-flow .woocommerce table.shop_table_responsive thead, .lg-flow .woocommerce-table--order-downloads thead { display: none; }
	.lg-flow .woocommerce table.shop_table_responsive tr, .lg-flow .woocommerce-table--order-downloads tr { display: grid; border-bottom: 2px solid #000; }
	.lg-flow .woocommerce table.shop_table_responsive td, .lg-flow .woocommerce-table--order-downloads td { display: flex; justify-content: space-between; align-items: center; gap: var(--lg-s-3); border-bottom: 0 !important; text-align: right !important; }
	.lg-flow .woocommerce table.shop_table_responsive td::before, .lg-flow .woocommerce-table--order-downloads td::before { content: attr(data-title); font: 700 var(--lg-fs-1)/1.2 var(--lg-font-text); letter-spacing: .06em; text-transform: uppercase; text-align: left; }
	.lg-flow .woocommerce-MyAccount-navigation-link--customer-logout { margin-left: 0 !important; }
}
/* Order received: our "Danke!" says it, so WooCommerce's own line goes; the overview becomes four facts */
.lg-flow .woocommerce-order > .woocommerce-notice--success, .lg-flow .woocommerce-thankyou-order-received { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lg-flow ul.woocommerce-order-overview { list-style: none; margin: 0 0 var(--lg-s-4); padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); border: 3px solid #000; background: #fff; }
.lg-flow ul.woocommerce-order-overview li { margin: 0; padding: var(--lg-s-3) var(--lg-s-4); border: 0; border-right: 2px solid #000; font: 700 var(--lg-fs-1)/1.2 var(--lg-font-text); letter-spacing: .06em; text-transform: uppercase; }
.lg-flow ul.woocommerce-order-overview li:last-child { border-right: 0; }
.lg-flow ul.woocommerce-order-overview li strong { display: block; margin-top: .35em; font: 800 var(--lg-fs-3)/1.2 var(--lg-font-display); letter-spacing: -0.01em; text-transform: none; overflow-wrap: anywhere; }
@media (max-width: 599px) { .lg-flow ul.woocommerce-order-overview li { border-right: 0; border-bottom: 2px solid #000; } .lg-flow ul.woocommerce-order-overview li:last-child { border-bottom: 0; } }
.lg-flow .woocommerce-customer-details address { margin: 0; padding: var(--lg-s-4) var(--lg-s-5); border: 3px solid #000 !important; border-radius: 0 !important; font-style: normal; line-height: 1.6; }
.lg-flow .woocommerce-customer-details--email, .lg-flow .woocommerce-customer-details--phone { margin: .4em 0 0; padding: 0 !important; }
.lg-flow .woocommerce-customer-details--email::before, .lg-flow .woocommerce-customer-details--phone::before { display: none !important; }
.lg-flow .woocommerce-notice, .lg-flow .woocommerce-info, .lg-flow .woocommerce-message, .lg-flow .woocommerce-error { margin: 0; padding: var(--lg-s-3) var(--lg-s-4); border: 2px solid #000; border-left: 10px solid var(--lg-ink-s, #E52F9B); background: #fff; list-style: none; }
.lg-flow .woocommerce-info::before, .lg-flow .woocommerce-message::before { display: none; }
.lg-flow .woocommerce-form-login, .lg-flow .woocommerce-form-register { max-width: 520px; padding: var(--lg-s-5); border: 3px solid #000; border-radius: 0; }
.lg-flow .woocommerce-pagination { display: flex; gap: var(--lg-s-3); }

/* Empty cart: a discovery page (Pinnwand posts that carry their book), not a dead end. Our section replaces
   WooCommerce's empty state (sad face + "New in store"). */
body:has(.lg-flow__empty:not([hidden])) .wp-block-woocommerce-empty-cart-block, body.lg-cart-empty .wp-block-woocommerce-empty-cart-block { display: none !important; }
.lg-flow__empty { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--lg-s-6); margin-top: var(--lg-s-4); }
.lg-flow__empty > * { min-width: 0; }
.lg-flow__emptyhead { display: grid; gap: var(--lg-s-4); max-width: 760px; }
.lg-flow__emptyhead h2 { margin: 0; font: 900 var(--lg-fs-5, 1.8rem)/1.05 var(--lg-font-display); letter-spacing: -0.03em; }
.lg-flow__emptyhead h2 .lg-flow__en { margin-top: .3em; font-size: var(--lg-fs-3); }
.lg-flow__emptylead { margin: 0; font-size: var(--lg-fs-3); line-height: 1.5; max-width: 56ch; }
.lg-flow__emptyacts { display: flex; flex-wrap: wrap; gap: var(--lg-s-3); margin: 0; }
.lg-flow__saved { margin: 0; font-size: var(--lg-fs-2); }
.lg-flow__posts h3, .lg-flow__shelf h3 { margin: 0 0 var(--lg-s-4); font: 900 var(--lg-fs-5, 1.6rem)/1.05 var(--lg-font-display); letter-spacing: -0.03em; }
.lg-flow__posts h3 .lg-flow__en, .lg-flow__shelf h3 .lg-flow__en { margin-top: .3em; font-size: var(--lg-fs-2); }
.lg-flow__shelf ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--lg-s-3); grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.lg-flow__shelf li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; border: 2px solid #000; border-left: 10px solid var(--b-ink, #000); background: #fff; }
.lg-flow__book { display: flex; align-items: center; gap: var(--lg-s-3); min-width: 0; min-height: 72px; padding: 8px 10px; color: #000; text-decoration: none; }
.lg-flow__book img, .lg-flow__nocover { flex: none; width: 44px; height: 60px; object-fit: cover; border: 1px solid #000; background: var(--b-ink, #eee); }
.lg-flow__book > span { display: grid; gap: .25em; min-width: 0; font-size: var(--lg-fs-2); line-height: 1.25; }
.lg-flow__book b { font: 800 var(--lg-fs-2)/1.2 var(--lg-font-display); overflow-wrap: anywhere; }
.lg-flow__price { font-weight: 600; }
@media (hover: hover) { .lg-flow__book:hover b { text-decoration: underline 2px; text-underline-offset: .2em; } }
.lg-flow__add { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; align-self: stretch; min-width: 96px; padding: 6px 10px; border-left: 2px solid #000; background: #000; color: #fff !important; font: 700 var(--lg-fs-1)/1.1 var(--lg-font-display); text-align: center; text-decoration: none; -webkit-tap-highlight-color: transparent; }
.lg-flow__add b { font-size: 1.4em; line-height: 1; }
.lg-flow__add small { font: 500 var(--lg-fs-1)/1 var(--lg-font-text); opacity: .85; }
@media (hover: hover) { .lg-flow__add:hover { background: var(--lg-ink-s, #E52F9B); color: var(--lg-ink-s-on, #000) !important; } }
.lg-flow__add:active { background: var(--lg-lime, #B0F153); color: #000 !important; }
.lg-flow__add:focus-visible { outline: 3px solid #000; outline-offset: -6px; }
/* Order received: Germanized leaves empty checkout blocks after the order (summary + actions); our frame would draw them as a black bar */
.lg-flow .woocommerce-order .wc-gzd-checkout-submit { display: none; }
.lg-flow ul.woocommerce-order-overview::before, .lg-flow ul.woocommerce-order-overview::after { content: none; display: none; }
@media (max-width: 599px) { .lg-flow ul.woocommerce-order-overview { grid-template-columns: minmax(0, 1fr); } }
.lg-flow .wc-block-components-notice-banner { border: 2px solid #000 !important; border-left: 10px solid var(--lg-ink-s, #E52F9B) !important; border-radius: 0 !important; background: #fff !important; color: #000 !important; align-items: center; }
.lg-flow .wc-block-components-notice-banner > svg { background: #000 !important; fill: #fff !important; border-radius: 0 !important; }
/* "Show password" eye: a real 44 px target (WCAG 2.5.8) */
.lg-flow .password-input { position: relative; display: block; }
.lg-flow .show-password-input { position: absolute !important; right: 2px; top: 50%; translate: 0 -50%; width: 44px; height: 44px; min-height: 0 !important; padding: 0 !important; border: 0 !important; background-color: transparent !important; box-shadow: none !important; background-position: center !important; }
