/* ==========================================================================
   Qarqarak — WordPress/WooCommerce bridge
   Styles ONLY for markup that WordPress or WooCommerce generates and that has
   no counterpart in the static design (notices, pagination, WooCommerce form
   rows, payment methods, preorder dialog …). Every value uses the design
   tokens from tokens.css so light/dark themes keep working.
   ========================================================================== */

/* ---------- Logged-in admin bar: keep the sticky header below it ---------- */
.admin-bar .qq-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .qq-header { top: 46px; } }

/* ---------- Anti-spam field of public forms ---------- */
.qq-hp { position: absolute !important; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* ---------- WooCommerce notices ---------- */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-error, .woocommerce-message, .woocommerce-info,
.wc-block-components-notice-banner {
  list-style: none; margin: 0 0 1rem; padding: .85rem 1rem; border-radius: 12px;
  border: 1px solid var(--line); background: var(--surface-2); color: var(--text);
  font-size: .68rem; line-height: 1.8;
}
.woocommerce-error { border-color: color-mix(in srgb, var(--danger) 35%, transparent); background: var(--danger-wash); color: var(--danger); }
.woocommerce-message { border-color: color-mix(in srgb, var(--ok) 35%, transparent); background: var(--ok-wash); }
.woocommerce-info { border-color: var(--line-accent); background: var(--accent-softer); }
.woocommerce-error li + li { margin-block-start: .35rem; }
.woocommerce-error a, .woocommerce-message a, .woocommerce-info a { color: var(--accent-text); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-message .button, .woocommerce-info .button { float: inline-end; margin-inline-start: 1rem; }
.qqs-results > .woocommerce-notices-wrapper, .qq-product-page > .woocommerce-notices-wrapper { margin-block-end: 1rem; }

/* ---------- Pagination (shop, magazine, category landings, orders) ---------- */
.qq-pagination { margin-block: 1.6rem .5rem; }
.qq-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.qq-pagination a, .qq-pagination span.page-numbers, .qq-pagination .post-page-numbers {
  min-inline-size: 42px; min-block-size: 42px; display: inline-grid; place-items: center; padding-inline: .7rem;
  border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); color: var(--text);
  font-size: .7rem; font-weight: 800; text-decoration: none; transition: border-color var(--d-fast, .15s), background var(--d-fast, .15s);
}
.qq-pagination a:hover { border-color: var(--line-accent); background: var(--accent-softer); }
.qq-pagination .current { border-color: var(--accent); background: var(--accent-soft); color: var(--accent-text); }
.qq-pagination .dots { border-color: transparent; background: transparent; }
.qq-pagination a:focus-visible { outline: 2px solid var(--ring, var(--accent)); outline-offset: 2px; }
.qc__grid + .qq-pagination { margin-block-start: 1.4rem; }

/* ---------- Shop listing states ---------- */
.qqs-results[aria-busy="true"] .qqs-grid { opacity: .45; transition: opacity .2s; pointer-events: none; }
.qqs-results[aria-busy="true"]::before {
  content: ''; display: block; block-size: 3px; margin-block-end: .6rem; border-radius: 3px;
  background: linear-gradient(90deg, transparent, var(--accent), transparent); background-size: 200% 100%;
  animation: qq-loading 1s linear infinite;
}
@keyframes qq-loading { from { background-position: 200% 0; } to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .qqs-results[aria-busy="true"]::before { animation: none; } }
/* Opaque tints (readable over product photos) kept light enough for 4.5:1 text contrast in both themes. */
.qqs-card__status.is-out { background: color-mix(in srgb, var(--danger) 10%, var(--surface)); color: var(--danger); }
.qqs-card__status.is-mixed { background: color-mix(in srgb, var(--warn) 10%, var(--surface)); color: var(--warn); }
.qqs-card__price s { color: var(--text-faint); font-weight: 600; font-size: .85em; margin-inline-end: .25rem; }
.qqs-live__all { display: block; padding: .7rem .9rem; border-block-start: 1px solid var(--line); color: var(--accent-text); font-size: .64rem; font-weight: 900; text-align: center; }
.qq-empty-note { padding: 2rem 1rem; text-align: center; color: var(--text-muted); }

/* ---------- Category landing: empty catalog ---------- */
.qc__empty-state { grid-column: 1 / -1; list-style: none; padding: 2rem 1.2rem; border: 1px dashed var(--line-strong, var(--line)); border-radius: 18px; text-align: center; color: var(--text-muted); }

/* ---------- Single article / generic page without a table of contents ---------- */
.qqa-layout.qq-layout--single { grid-template-columns: minmax(0, 1fr); }
.qqa-layout.qq-layout--single .qqa-article { max-inline-size: 880px; margin-inline: auto; inline-size: 100%; }
.qqa-article .wp-block-image img, .qqa-article img { max-inline-size: 100%; block-size: auto; border-radius: 14px; }
.qqa-article figure { margin-inline: 0; }
.qqa-article figcaption { color: var(--text-faint); font-size: .62rem; text-align: center; margin-block-start: .4rem; }
.qqa-article .alignwide { margin-inline: -4%; }
.qqa-article .wp-block-quote { border-inline-start: 3px solid var(--accent); padding-inline-start: 1rem; margin-inline: 0; }
.qqa-article .wp-block-button__link { display: inline-block; padding: .7rem 1.1rem; border-radius: 12px; background: var(--accent); color: var(--text-onbrass); font-weight: 900; text-decoration: none; }
.qqa-article .wp-block-embed iframe { max-inline-size: 100%; }
.qq-comments { margin-block: 2rem 3rem; }

/* ---------- Comment form + WooCommerce product reviews ---------- */
.qq-comments__inner, .qq-product-reviews #reviews { display: grid; gap: 1rem; }
:is(.qq-comments__inner, .qq-product-reviews) h2 { margin: 0; font-size: 1.05rem; font-weight: 900; }
:is(.qq-comments__inner, .qq-product-reviews) .comment-reply-title { display: block; margin-block-end: .6rem; font-size: .82rem; font-weight: 900; line-height: 1.8; }
:is(.qq-comments__inner, .qq-product-reviews) .comment-reply-title small a { margin-inline-start: .5rem; color: var(--accent-text); font-size: .62rem; }
:is(.qq-comments__inner, .qq-product-reviews) :is(.woocommerce-noreviews, .comment-notes, .logged-in-as, .must-log-in, .woocommerce-verification-required) { margin: 0; color: var(--text-muted); font-size: .66rem; line-height: 1.9; }
:is(.qq-comments__inner, .qq-product-reviews) :is(.logged-in-as, .must-log-in) a { color: var(--accent-text); font-weight: 800; }
:is(.qq-comments__inner, .qq-product-reviews) .comment-respond { padding: 1rem; border: 1px solid var(--line); border-radius: 16px; background: var(--surface-2); }
:is(.qq-comments__inner, .qq-product-reviews) .comment-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; margin: 0; }
:is(.qq-comments__inner, .qq-product-reviews) .comment-form > * { grid-column: 1 / -1; margin: 0; }
:is(.qq-comments__inner, .qq-product-reviews) .comment-form > :is(.comment-form-author, .comment-form-email) { grid-column: auto; }
@media (max-width: 640px) { :is(.qq-comments__inner, .qq-product-reviews) .comment-form > :is(.comment-form-author, .comment-form-email) { grid-column: 1 / -1; } }
:is(.qq-comments__inner, .qq-product-reviews) .comment-form label { display: block; margin-block-end: .35rem; font-size: .64rem; font-weight: 800; }
:is(.qq-comments__inner, .qq-product-reviews) .comment-form .required { color: var(--danger); }
:is(.qq-comments__inner, .qq-product-reviews) .comment-form :is(input[type="text"], input[type="email"], input[type="url"], textarea, select) {
  inline-size: 100%; min-block-size: 46px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface);
  padding: .65rem .75rem; outline: 0; font: inherit; font-size: .68rem; color: var(--text);
}
:is(.qq-comments__inner, .qq-product-reviews) .comment-form textarea { min-block-size: 130px; resize: vertical; line-height: 1.9; }
:is(.qq-comments__inner, .qq-product-reviews) .comment-form :is(input, textarea, select):focus-visible { border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft); }
:is(.qq-comments__inner, .qq-product-reviews) .comment-form-cookies-consent { display: flex; align-items: start; gap: .5rem; color: var(--text-muted); font-size: .62rem; line-height: 1.8; }
:is(.qq-comments__inner, .qq-product-reviews) .comment-form-cookies-consent label { display: inline; margin: 0; font-weight: 600; font-size: inherit; }
:is(.qq-comments__inner, .qq-product-reviews) .comment-form-cookies-consent input { flex: none; margin-block-start: .3rem; accent-color: var(--accent); inline-size: 16px; block-size: 16px; }
:is(.qq-comments__inner, .qq-product-reviews) .form-submit .submit {
  min-block-size: 46px; padding-inline: 1.4rem; border: 0; border-radius: 13px; background: var(--accent); color: var(--text-onbrass);
  font: inherit; font-size: .7rem; font-weight: 900; cursor: pointer;
}
:is(.qq-comments__inner, .qq-product-reviews) .form-submit .submit:focus-visible { outline: 2px solid var(--ring, var(--accent)); outline-offset: 2px; }
:is(.qq-comments__inner, .qq-product-reviews) :is(.comment-list, .commentlist) { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
:is(.qq-comments__inner, .qq-product-reviews) :is(.comment-list, .commentlist) .children { display: grid; gap: .75rem; margin: .75rem 0 0; padding-inline-start: 1.2rem; list-style: none; }
.qq-comments__inner .comment-body, .qq-product-reviews .comment_container { padding: .9rem 1rem; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-2); font-size: .68rem; line-height: 2; }
.qq-comments__inner .comment-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem; margin-block-end: .4rem; }
.qq-comments__inner .comment-author { display: flex; align-items: center; gap: .5rem; font-weight: 900; }
:is(.qq-comments__inner, .qq-product-reviews) .avatar { inline-size: 40px; block-size: 40px; border-radius: 50%; }
.qq-comments__inner :is(.comment-metadata, .comment-metadata a, .reply a) { color: var(--text-faint); font-size: .6rem; }
.qq-comments__inner .reply a { color: var(--accent-text); font-weight: 800; }
.qq-comments__inner .says { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
.qq-product-reviews .comment_container { display: flex; gap: .8rem; align-items: start; }
.qq-product-reviews .comment-text { flex: 1; min-inline-size: 0; }
.qq-product-reviews .comment-text .meta { margin: .2rem 0 .3rem; color: var(--text-faint); font-size: .6rem; }
.qq-product-reviews .woocommerce-review__author { color: var(--text); font-size: .68rem; }
.qq-product-reviews .woocommerce-review__verified { color: var(--ok); font-style: normal; }
.qq-product-reviews .description p { margin: 0; }
.qq-product-reviews .clear { display: none; }
/* Rating: WooCommerce replaces the select with p.stars links; stars fill from the start (right in RTL). */
.qq-product-reviews p.stars { margin: 0; }
.qq-product-reviews p.stars > span { display: inline-flex; gap: .2rem; }
.qq-product-reviews p.stars a { position: relative; display: inline-block; inline-size: 34px; block-size: 34px; overflow: hidden; border-radius: 8px; color: transparent; font-size: 0; text-decoration: none; }
.qq-product-reviews p.stars a::before { content: '★'; position: absolute; inset: 0; display: grid; place-items: center; color: var(--text-faint); font-size: 1.35rem; transition: color var(--d-fast, .15s); }
.qq-product-reviews p.stars a:focus-visible { outline: 2px solid var(--ring, var(--accent)); outline-offset: 1px; }
.qq-product-reviews p.stars:is(:hover, .selected) a::before { color: var(--accent); }
.qq-product-reviews p.stars.selected a.active ~ a::before { color: var(--text-faint); }
.qq-product-reviews p.stars.selected:hover a::before { color: var(--accent); }
.qq-product-reviews p.stars:hover a:hover ~ a::before { color: var(--text-faint); }
.qq-product-reviews .star-rating { position: relative; display: inline-block; inline-size: 5.6em; block-size: 1.2em; overflow: hidden; font-size: .78rem; line-height: 1.2; letter-spacing: .12em; }
.qq-product-reviews .star-rating::before { content: '★★★★★'; position: absolute; inset-block-start: 0; inset-inline-start: 0; color: var(--text-faint); }
.qq-product-reviews .star-rating span { position: absolute; inset-block-start: 0; inset-inline-start: 0; block-size: 100%; overflow: hidden; padding-block-start: 1.5em; }
.qq-product-reviews .star-rating span::before { content: '★★★★★'; position: absolute; inset-block-start: 0; inset-inline-start: 0; color: var(--accent); }

/* ---------- Product page additions ---------- */
.qqp-compare { color: var(--text-faint); font-weight: 600; font-size: .75em; margin-inline-end: .45rem; }
.qqp-cart-status a { color: var(--accent-text); font-weight: 900; margin-inline-start: .35rem; }
.qqp-stock-pill.is-out { color: var(--danger); }

/* ---------- Preorder confirmation dialog (shared by product, landings and cart) ---------- */
.qq-preorder { inline-size: min(560px, calc(100% - 24px)); max-block-size: calc(100dvh - 32px); padding: 0; border: 1px solid var(--line); border-radius: 22px; background: var(--surface); color: var(--text); box-shadow: var(--shadow-lg); }
.qq-preorder::backdrop { background: color-mix(in srgb, #06090c 62%, transparent); backdrop-filter: blur(6px); }
.qq-preorder__shell { display: grid; }
.qq-preorder__head { display: flex; align-items: start; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.3rem 1rem; border-block-end: 1px solid var(--line); }
.qq-preorder__kicker { display: inline-block; padding: .2rem .55rem; border-radius: 99px; background: color-mix(in srgb, var(--warn) 18%, transparent); color: var(--warn); font-size: .55rem; font-weight: 900; }
.qq-preorder__head h2 { margin: .45rem 0 .15rem; font-size: 1.05rem; }
.qq-preorder__head p { margin: 0; color: var(--text-muted); font-size: .66rem; }
.qq-preorder__close { inline-size: 38px; block-size: 38px; border-radius: 12px; border: 1px solid var(--line); background: var(--surface-2); font-size: 1.1rem; }
.qq-preorder__body { padding: 1.1rem 1.3rem; display: grid; gap: .8rem; }
.qq-preorder__summary { margin: 0; font-weight: 900; font-size: .72rem; color: var(--accent-text); }
.qq-preorder__notice { margin: 0; padding: .85rem 1rem; border-radius: 14px; background: var(--surface-2); border: 1px solid var(--line); font-size: .7rem; line-height: 2; white-space: pre-line; }
.qq-preorder__check { display: flex; gap: .6rem; align-items: start; padding: .8rem; border: 1px solid var(--line); border-radius: 14px; cursor: pointer; }
.qq-preorder__check:has(input:checked) { border-color: var(--accent); background: var(--accent-soft); }
.qq-preorder__check input { margin-block-start: .2rem; accent-color: var(--accent); inline-size: 18px; block-size: 18px; }
.qq-preorder__check strong, .qq-preorder__check small { display: block; }
.qq-preorder__check strong { font-size: .68rem; }
.qq-preorder__check small { color: var(--text-muted); font-size: .58rem; }
.qq-preorder__foot { display: flex; justify-content: space-between; gap: .7rem; padding: 1rem 1.3rem 1.2rem; border-block-start: 1px solid var(--line); }
.qq-preorder__btn { min-block-size: 46px; padding-inline: 1.1rem; border-radius: 13px; border: 1px solid var(--line); background: var(--surface-2); color: var(--text); font-weight: 900; font-size: .68rem; }
.qq-preorder__btn--primary { border-color: transparent; background: var(--accent); color: var(--text-onbrass); }
.qq-preorder__btn:disabled { opacity: .45; cursor: not-allowed; }
.qq-preorder :focus-visible { outline: 2px solid var(--ring, var(--accent)); outline-offset: 2px; }

/* ---------- Cart additions ---------- */
.qqc-line__ack { color: var(--warn); font-weight: 900; }
.qqc-line__notice { color: var(--text-muted); font-size: .9em; }
.qqc-coupon__applied { display: flex; flex-wrap: wrap; gap: .4rem; margin-block-start: .5rem; }
.qqc-coupon__applied:empty { display: none; }
.qqc-coupon__chip { display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .6rem; border-radius: 99px; background: var(--accent-soft); color: var(--accent-text); font-size: .6rem; font-weight: 900; direction: ltr; }
.qqc-coupon__chip button { font-size: .9rem; line-height: 1; }
[data-cart-review]:not([hidden]) { margin-block-end: 1rem; padding: .85rem 1rem; border-radius: 12px; border: 1px solid color-mix(in srgb, var(--warn) 40%, transparent); background: var(--warn-wash); color: var(--text); font-size: .68rem; }

/* ---------- Checkout: WooCommerce form rows inside the design's field grid ---------- */
.qqx-fields > .form-row { display: block; margin: 0; padding: 0; }
.qqx-fields > .form-row-wide, .qqx-fields > .notes, .qqx-fields > .form-row:only-child { grid-column: 1 / -1; }
.qqx-fields > .form-row > label { display: block; margin-block-end: .35rem; font-size: .64rem; font-weight: 800; }
/* WooCommerce puts the required/optional markers inside the label as <span>s; the design's
   `.qqx-fields label>span { display:block }` is meant for its own label wrapper, so undo it here. */
.qqx-fields > .form-row > label > :is(.required, .optional) { display: inline; margin: 0; }
.qqx-fields > .form-row .required { color: var(--danger); text-decoration: none; border: 0; font-size: inherit; }
.qqx-fields > .form-row .optional { font-size: .53rem; color: var(--text-faint); font-weight: 600; }
.qqx-fields--after { margin-block-start: 1rem; }
.qqx-fields .woocommerce-input-wrapper { display: block; }
.qqx-fields > .form-row :is(input.input-text, select, textarea), .qqx-note-wrap :is(textarea, input.input-text) {
  inline-size: 100%; min-block-size: 46px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2);
  padding: .65rem .75rem; outline: 0; font-size: .68rem; color: var(--text); resize: vertical;
}
.qqx-fields > .form-row :is(input.input-text, select, textarea):focus, .qqx-note-wrap textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft); background: var(--surface); }
.qqx-fields > .woocommerce-invalid :is(input.input-text, select, textarea), .qqx-fields > .form-row [aria-invalid="true"] { border-color: var(--danger); }
.qqx-field-error { display: block; margin-block-start: .25rem; color: var(--danger); font-size: .53rem; }
.qqx-fields > .form-row strong { display: block; min-block-size: 46px; padding: .65rem .75rem; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2); font-size: .68rem; }
.qqx-fields .select2-container { inline-size: 100% !important; }
.qqx-fields .select2-container .select2-selection--single { min-block-size: 46px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2); display: flex; align-items: center; }
.qqx-fields .select2-container .select2-selection__rendered { color: var(--text); padding-inline: .75rem; font-size: .68rem; }
.qqx-fields .select2-selection__arrow { block-size: 100% !important; inset-inline-start: 6px; inset-inline-end: auto !important; }
.select2-dropdown { border-color: var(--line) !important; background: var(--surface) !important; color: var(--text); }
.select2-results__option--highlighted { background: var(--accent-soft) !important; color: var(--text) !important; }
.qqx-note-wrap { margin-block-start: .8rem; }
.qqx-note-wrap .form-row > label { display: block; margin-block-end: .35rem; font-size: .64rem; font-weight: 800; }
.qqx-account-fields, .qqx-ship-elsewhere { margin-block-start: 1rem; }
.qqx-ship-elsewhere h3 { margin: 0; font-size: .7rem; }
.qqx-ship-elsewhere label { display: inline-flex; align-items: center; gap: .5rem; cursor: pointer; }
.qqx-account-fields .create-account label { display: inline-flex; gap: .5rem; align-items: center; font-size: .65rem; }
.qq-shipping-methods > .qqx-address-note { grid-column: 1 / -1; margin: 0; }
.qqx-payment { margin-block-start: 1.1rem; }
.qqx-payment__title { margin: 0 0 .6rem; font-size: .8rem; }
.qqx-payment .wc_payment_methods { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.qqx-payment .wc_payment_method { border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); padding: .8rem .9rem; }
.qqx-payment .wc_payment_method:has(> input:checked) { border-color: var(--accent); background: var(--accent-soft); }
.qqx-payment .wc_payment_method > input { accent-color: var(--accent); margin-inline-end: .45rem; }
.qqx-payment .wc_payment_method > label { font-weight: 900; font-size: .68rem; cursor: pointer; }
.qqx-payment .wc_payment_method > label img { max-block-size: 26px; inline-size: auto; vertical-align: middle; margin-inline-start: .4rem; }
.qqx-payment .payment_box { margin-block-start: .6rem; padding: .7rem .8rem; border-radius: 10px; background: var(--surface); font-size: .64rem; line-height: 1.9; color: var(--text-muted); }
.qqx-payment .payment_box p:last-child { margin-block-end: 0; }
.qqx-payment .place-order { margin-block-start: .8rem; }
.qqx-payment .woocommerce-terms-and-conditions-wrapper { font-size: .62rem; line-height: 1.9; color: var(--text-muted); }
.qqx-payment .woocommerce-terms-and-conditions-wrapper a { color: var(--accent-text); }
.qqx-payment .woocommerce-form__label-for-checkbox { display: flex; gap: .5rem; align-items: start; margin-block-start: .6rem; padding: .8rem; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); cursor: pointer; }
.qqx-payment .woocommerce-form__label-for-checkbox input { accent-color: var(--accent); }
.qqx-payment .place-order #place_order { inline-size: 100%; min-block-size: 50px; margin-block-start: .75rem; padding-inline: 1.3rem; border: 0; border-radius: 13px; background: var(--accent); color: var(--text-onbrass); font-weight: 900; font-size: .72rem; box-shadow: var(--shadow-brass); }
.qqx-payment .place-order #place_order:disabled, .qqx-payment .place-order #place_order.processing { opacity: .6; }
.qqx-extension-review:empty { display: none; }
.qqx-extension-review { margin-block-start: .9rem; display: grid; gap: .7rem; }
.qqx-extension-review > * { max-inline-size: 100%; }
.qqx-form.is-updating [data-next] { opacity: .55; cursor: wait; }
.qqx-summary .woocommerce-checkout-review-order-table { display: contents; }
/* The design styles `.qqx-summary > dl`; WooCommerce needs the review table as the
   fragment root in between, so the same rules are repeated one level down. */
.qqx-review-table > dl { display: grid; gap: .65rem; margin: 0; padding: 1rem; }
.qqx-review-table > dl > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; font-size: .62rem; }
.qqx-review-table > dl > div > dt { font-weight: 600; }
.qqx-review-table > dl > div > dt small { color: var(--text-faint); font-size: .85em; }
/* Shipping method name under the amount: a second <dd> (only dt/dd are valid inside a dl group). */
.qqx-review-table > dl > div > .qqx-summary__note { grid-column: 1 / -1; margin-block-start: -.3rem; color: var(--text-faint); font-size: .5rem; font-weight: 400; line-height: 1.7; }
.qqx-review-table > dl > div:last-child { padding-block-start: .7rem; border-block-start: 1px solid var(--line); font-size: .72rem; }
.qqx-review-table .qqx-summary-line { grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; }
.qqx-review-table .qqx-summary-line > strong { font-size: .57rem; font-weight: 800; white-space: nowrap; }
.qqx-summary-line img, .qqx-review-line img { inline-size: 42px; block-size: 42px; object-fit: cover; border-radius: 10px; }
.qqx-summary-line .variation, .qqx-summary-line dl.variation { display: none; }
.woocommerce-checkout .blockUI.blockOverlay { background: color-mix(in srgb, var(--surface) 70%, transparent) !important; opacity: 1 !important; }
.woocommerce-NoticeGroup { margin-block-end: 1rem; }

/* ---------- Receipt page ---------- */
.qqo-gateway:empty, .qqo-gateway:not(:has(*)) { display: none; }
.qqo-gateway { margin-block: 1rem; }
.qqo-products article img { inline-size: 72px; block-size: 72px; object-fit: cover; border-radius: 12px; }
.qqo-order-meta .is-failed, .qqo-order-meta .is-cancelled { color: var(--danger); }
.qqo-order-meta .is-processing, .qqo-order-meta .is-completed { color: var(--ok); }
.qqo-totals dd .woocommerce-Price-amount { font-weight: 900; }

/* ---------- My Account (WooCommerce endpoints without a static counterpart) ---------- */
.qqa-account-pane .woocommerce-Addresses, .qqa-account-pane .woocommerce-address-fields__field-wrapper { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.qqa-account-pane .woocommerce-address-fields .form-row { margin: 0; }
.qqa-account-pane .woocommerce-address-fields label { display: block; margin-block-end: .35rem; font-size: .64rem; font-weight: 800; }
.qqa-account-pane .woocommerce-address-fields :is(input.input-text, select, textarea),
.qqa-account-pane .woocommerce-EditAccountForm :is(input.input-text) { inline-size: 100%; min-block-size: 46px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2); padding: .65rem .75rem; font-size: .68rem; color: var(--text); }
.qqa-account-pane .woocommerce-address-fields .button, .qqa-account-pane .woocommerce-Button, .qqa-account-pane .button { display: inline-flex; align-items: center; justify-content: center; min-block-size: 46px; padding-inline: 1.1rem; border-radius: 12px; background: var(--accent); color: var(--text-onbrass); font-weight: 900; font-size: .68rem; border: 0; }
.qqa-account-pane .woocommerce-Address { padding: 1rem; border: 1px solid var(--line); border-radius: 16px; background: var(--surface-2); }
.qqa-account-pane .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: .6rem; }
.qqa-account-pane .woocommerce-Address-title a { color: var(--accent-text); font-weight: 900; font-size: .62rem; }
.qqa-account-pane address { font-style: normal; line-height: 2; font-size: .66rem; color: var(--text-muted); }
.qqa-account-pane table.shop_table, .qqa-account-pane table.woocommerce-table { inline-size: 100%; border-collapse: collapse; font-size: .66rem; }
.qqa-account-pane table :is(th, td) { padding: .7rem .6rem; border-block-end: 1px solid var(--line); text-align: start; }
.qqa-order-card__foot .woocommerce-button { color: var(--accent-text); font-weight: 900; font-size: .62rem; }
.qq-session-list { display: grid; gap: .6rem; margin: 0 0 1rem; }
.qq-session-list > div { display: flex; justify-content: space-between; gap: 1rem; padding: .75rem .9rem; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); font-size: .66rem; }
.qq-session-list dt { color: var(--text-muted); }
.qq-session-list dd { margin: 0; font-weight: 900; }
.qqa-view[data-view="login"] .qqa-small-action { margin-block-start: .6rem; inline-size: 100%; }
.qqa-view[data-view="login"] .qqa-small-action:disabled { opacity: .5; cursor: not-allowed; }
.qqa-consent a { color: var(--accent-text); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Search results: article section ---------- */
.qq-search-articles { margin-block: 2.2rem 3rem; }
.qq-search-articles__head { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-block-end: 1rem; }
.qq-search-articles__head h2 { margin: 0; }
