/**
 * AHQONE Single Product Page — R1761 optimized layout
 */

body.ahq-product-page {
    background: #fdfbf7;
    padding-top: var(--ahq-header-height, 68px);
}

body.ahq-product-page .site-content,
body.ahq-product-page .site-main,
body.ahq-product-page .content-area {
    padding-top: 0 !important;
    margin: 0 !important;
    max-width: none !important;
}

body.ahq-product-page .ahq-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1100;
    background: rgba(255, 255, 255, 0.97);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

body.admin-bar.ahq-product-page .ahq-header {
    top: var(--ahq-admin-bar-height, 32px);
}

html:has(body.ahq-product-page) {
    scroll-padding-top: var(--ahq-header-height, 68px);
}

body.ahq-product-page .ahq-logo-name,
body.ahq-product-page .ahq-nav-list > li > a,
body.ahq-product-page .ahq-icon-btn {
    color: #232323;
}

body.ahq-product-page .ahq-logo-tagline {
    color: #777;
}

body.ahq-product-page .ct-breadcrumbs,
body.ahq-product-page .product-entry-wrapper,
body.ahq-product-page .entry-header,
body.ahq-product-page .hero-section {
    display: none !important;
}

.ahq-pdp {
    --ahq-pdp-ivory: #fdfbf7;
    --ahq-pdp-cream: #f6f1e8;
    --ahq-pdp-velvet: #14100c;
    --ahq-pdp-gd: #a8813a;
    --ahq-pdp-gd2: #bf9a4e;
    --ahq-pdp-gd3: #d4b06a;
    --ahq-pdp-gd4: #edd49a;
    --ahq-pdp-ink: #1a1509;
    --ahq-pdp-ink2: #473a26;
    --ahq-pdp-ink3: #8a7254;
    --ahq-pdp-ink4: #bba882;
    --ahq-pdp-emerald: #2d7a6e;
    --ahq-pdp-emerald-light: #4ba892;
    --ahq-pdp-line: rgba(26, 21, 9, 0.09);
    --ahq-pdp-sale: #c0392b;
    color: var(--ahq-pdp-ink);
}

.ahq-pdp-container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 clamp(1rem, 3vw, 1.5rem);
}

/* Breadcrumb */
.ahq-pdp-breadcrumb {
    padding: 12px 0;
    font-size: 11px;
    color: var(--ahq-pdp-ink4);
}

.ahq-pdp-breadcrumb a {
    color: var(--ahq-pdp-ink3);
    text-decoration: none;
}

.ahq-pdp-breadcrumb a:hover {
    color: var(--ahq-pdp-gd);
}

.ahq-pdp-breadcrumb span:not(.breadcrumb) {
    margin: 0 6px;
}

.ahq-pdp-breadcrumb .breadcrumb {
    display: inline;
}

/* Hero grid — legacy desktop col-lg-7 / col-lg-5 (~58% / 42%) */
.ahq-pdp-section {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: clamp(1rem, 2vw, 1.5rem);
    padding: 20px 0 32px;
    align-items: start;
}

.ahq-pdp-gallery-col,
.ahq-pdp-info-col {
    min-width: 0;
}

/* Sticky gallery column — the info column is taller than the square gallery,
   so pin the images while the longer right column scrolls. This turns the old
   dead whitespace under the gallery into an always-visible product image. */
@media (min-width: 1025px) {
    .ahq-pdp-gallery-col {
        position: sticky;
        top: calc(var(--ahq-header-height, 68px) + 16px);
        align-self: start;
    }
}

/* UGC — community styling gallery (left column, below main image) */
.ahq-pdp-ugc {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid var(--ahq-pdp-line);
    background: #fff;
}

.ahq-pdp-ugc-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.ahq-pdp-ugc-copy {
    min-width: 0;
    flex: 1 1 auto;
}

.ahq-pdp-ugc-title {
    margin: 0 0 6px;
    font-family: var(--font-display, 'Cormorant Garamond', serif);
    font-size: clamp(1.15rem, 1.8vw, 1.35rem);
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ahq-pdp-ink);
    line-height: 1.2;
}

.ahq-pdp-ugc-lead,
.ahq-pdp-ugc-tag {
    margin: 0;
    font-family: var(--font-body, 'Jost', sans-serif);
    font-size: 11px;
    line-height: 1.55;
    color: var(--ahq-pdp-ink3);
}

.ahq-pdp-ugc-tag {
    margin-top: 4px;
}

.ahq-pdp-ugc-tag a {
    color: var(--ahq-pdp-ink);
    text-decoration: none;
    font-weight: 500;
}

.ahq-pdp-ugc-tag a:hover {
    color: var(--ahq-pdp-gd);
}

.ahq-pdp-ugc-hashtag {
    color: var(--ahq-pdp-gd);
    font-weight: 500;
}

.ahq-pdp-ugc-nav {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    padding-top: 2px;
}

.ahq-pdp-ugc-nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid var(--ahq-pdp-line);
    border-radius: 50%;
    background: #fff;
    color: var(--ahq-pdp-ink);
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
}

.ahq-pdp-ugc-nav-btn:hover:not(:disabled) {
    border-color: var(--ahq-pdp-gd);
    color: var(--ahq-pdp-gd);
}

.ahq-pdp-ugc-nav-btn:disabled {
    opacity: 0.35;
    cursor: default;
}

.ahq-pdp-ugc-track-wrap {
    overflow: hidden;
    margin-bottom: 14px;
}

.ahq-pdp-ugc-track {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.ahq-pdp-ugc-track::-webkit-scrollbar {
    display: none;
}

.ahq-pdp-ugc-slide {
    flex: 0 0 calc((100% - 20px) / 3);
    min-width: 0;
    margin: 0;
    scroll-snap-align: start;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: var(--ahq-pdp-cream);
}

.ahq-pdp-ugc-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ahq-pdp-ugc-upload {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 22px;
    background: var(--ahq-pdp-velvet);
    color: #fff;
    font-family: var(--font-body, 'Jost', sans-serif);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 3px;
    transition: background 0.25s;
}

.ahq-pdp-ugc-upload:hover {
    background: #2a2218;
    color: #fff;
}

/* Full-width UGC row below the hero — prevents a one-sided empty grid column. */
.ahq-pdp-ugc-frame .ahq-pdp-ugc {
    display: grid;
    grid-template-columns: minmax(210px, 0.55fr) minmax(0, 1.45fr);
    grid-template-areas:
        "head track"
        "upload track";
    gap: 16px 32px;
    align-items: start;
    margin: 0 0 18px;
    padding: 20px 0;
    border-top: 1px solid var(--ahq-pdp-line);
    border-bottom: 1px solid var(--ahq-pdp-line);
}

.ahq-pdp-ugc-frame .ahq-pdp-ugc-head {
    grid-area: head;
    margin: 0;
}

.ahq-pdp-ugc-frame .ahq-pdp-ugc-nav {
    display: none;
}

.ahq-pdp-ugc-frame .ahq-pdp-ugc-track-wrap {
    grid-area: track;
    min-width: 0;
    margin: 0;
}

.ahq-pdp-ugc-frame .ahq-pdp-ugc-track {
    overflow: hidden;
}

.ahq-pdp-ugc-frame .ahq-pdp-ugc-slide {
    aspect-ratio: 4 / 3;
}

.ahq-pdp-ugc-frame .ahq-pdp-ugc-upload {
    grid-area: upload;
    align-self: start;
    justify-self: start;
}

@media (max-width: 768px) {
    .ahq-pdp-ugc-frame .ahq-pdp-ugc {
        display: block;
        margin-bottom: 14px;
        padding: 16px 0;
    }

    .ahq-pdp-ugc-frame .ahq-pdp-ugc-head {
        margin-bottom: 10px;
    }

    .ahq-pdp-ugc-frame .ahq-pdp-ugc-track-wrap {
        margin-bottom: 14px;
    }

    .ahq-pdp-ugc-frame .ahq-pdp-ugc-track {
        overflow-x: auto;
    }

    .ahq-pdp-ugc-frame .ahq-pdp-ugc-slide {
        aspect-ratio: 4 / 5;
    }
}

/* Gallery — legacy: vertical thumbs left + square main image */
.ahq-pdp-gallery--legacy {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    position: relative;
    z-index: 1;
}

.ahq-pdp-gallery-stage {
    flex: 1 1 auto;
    min-width: 0;
}

.ahq-pdp-gallery-main {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 0;
    overflow: hidden;
    background: #fff;
    position: relative;
    cursor: zoom-in;
    touch-action: manipulation;
}

.ahq-pdp-gallery-main-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    display: block;
    pointer-events: none;
    opacity: 1;
    transition: opacity 0.28s ease;
}

.ahq-pdp-gallery-main-img.is-fading {
    opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
    .ahq-pdp-gallery-main-img {
        transition: none;
    }
}

.ahq-pdp-badge-sale {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    background: var(--ahq-pdp-sale);
    color: #fff;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 5px 10px;
    border-radius: 2px;
}

/* Vertical thumbnail strip (legacy thumbs-left) */
.ahq-pdp-gallery-thumbs--vertical {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 0 0 72px;
    width: 72px;
    max-height: 100%;
    overflow-y: auto;
    scrollbar-width: thin;
}

/* Desktop: thumbs move under the main image so the stage uses the full column
   width. The taller gallery matches the info column instead of leaving a gap. */
@media (min-width: 1025px) {
    .ahq-pdp-gallery--legacy {
        flex-direction: column-reverse;
        align-items: stretch;
        gap: 8px;
    }

    .ahq-pdp-gallery-thumbs--vertical {
        flex: 0 0 auto;
        flex-direction: row;
        width: 100%;
        max-height: none;
        overflow-x: auto;
        overflow-y: hidden;
    }
}

.ahq-pdp-gallery-thumb {
    aspect-ratio: 1 / 1;
    width: 72px;
    height: 72px;
    flex-shrink: 0;
    border-radius: 0;
    overflow: hidden;
    cursor: pointer;
    border: 1px solid rgba(0, 0, 0, 0.12);
    padding: 0;
    background: #fff;
    transition: border-color 0.2s;
    touch-action: manipulation;
    pointer-events: auto;
}

.ahq-pdp-gallery-thumb.is-active,
.ahq-pdp-gallery-thumb:hover {
    border-color: #111;
}

.ahq-pdp-gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Main image nav + zoom (legacy goldsmith) */
.ahq-pdp-gallery-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.88);
    color: #333;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    opacity: 0;
    transition: opacity 0.2s, background 0.2s;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    touch-action: manipulation;
    pointer-events: auto;
}

.ahq-pdp-gallery-main:hover .ahq-pdp-gallery-nav,
.ahq-pdp-gallery-nav:focus-visible {
    opacity: 1;
}

.ahq-pdp-gallery-nav:hover {
    background: #fff;
}

.ahq-pdp-gallery-prev {
    left: 12px;
}

.ahq-pdp-gallery-next {
    right: 12px;
}

.ahq-pdp-gallery-zoom {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.88);
    color: #333;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background 0.2s;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
    touch-action: manipulation;
    pointer-events: auto;
}

.ahq-pdp-gallery-zoom:hover {
    background: #fff;
}

/* Full-size lightbox */
.ahq-pdp-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 3000;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.ahq-pdp-lightbox.is-open {
    display: flex;
}

.ahq-pdp-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    cursor: zoom-out;
}

.ahq-pdp-lightbox-img {
    position: relative;
    z-index: 1;
    max-width: min(96vw, 1200px);
    max-height: 92vh;
    width: auto;
    height: auto;
    object-fit: contain;
}

.ahq-pdp-lightbox-close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.ahq-pdp-lightbox-close:hover {
    background: rgba(255, 255, 255, 0.25);
}

/* Info column — fixed framework */
.ahq-pdp-info-hero {
    display: flex;
    flex-direction: column;
    gap: clamp(8px, 1.4vw, 10px);
}

.ahq-pdp-title-head {
    display: flex;
    flex-direction: column;
    gap: clamp(0.2rem, 0.8vw, 0.32rem);
    margin: 0;
    padding: 0;
}

.ahq-pdp-hero-lead {
    display: flex;
    flex-direction: column;
    gap: clamp(0.35rem, 1.1vw, 0.55rem);
}

.ahq-pdp-hero-lead .ahq-pdp-price-block {
    margin-top: 0;
}

.ahq-pdp-hero-lead .ahq-pdp-price-vat {
    margin: 0;
}

.ahq-pdp-sku + .ahq-pdp-hero-lead {
    margin-top: 0.1rem;
}

body.ahq-product-page .woocommerce div.product .product_title,
.ahq-pdp .ahq-pdp-title.product_title {
    margin: 0 !important;
}

.ahq-pdp-info {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ahq-pdp-info > * {
    flex-shrink: 0;
}

.ahq-pdp-attribute-slot {
    border: none;
    border-radius: 0;
    background: transparent;
    min-height: 0;
    max-height: none;
    overflow: visible;
}

.ahq-pdp-attribute-slot:not(.has-content) {
    display: none;
}

.ahq-pdp-attribute-slot-inner {
    min-height: 0;
    max-height: none;
    overflow: visible;
    padding: 0;
}

.ahq-pdp-supplement-details {
    font-size: 13px;
    line-height: 1.65;
    color: var(--ahq-pdp-ink2);
}

.ahq-spec-layout-live {
    margin: 0 0 6px;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 {
    margin-top: 0;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 form.variations_form.cart {
    gap: 10px;
}

.ahq-pdp-attribute-slot .ahq-spec-layout--g1 .ahq-spec-card--g1 {
    padding: 10px 12px;
}

.ahq-pdp-attribute-slot .ahq-spec-heading {
    margin-bottom: 6px;
    font-size: 0.95rem;
}

.ahq-pdp-attribute-slot .ahq-spec-layout--g1 .ahq-spec-grid dt,
.ahq-pdp-attribute-slot .ahq-spec-layout--g1 .ahq-spec-grid dd {
    padding: 5px 0;
    font-size: 11.5px;
}

.ahq-pdp-attribute-slot-inner table.variations {
    width: 100%;
    margin: 0;
    border: none;
}

.ahq-pdp-attribute-slot-inner table.variations th {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ahq-pdp-ink);
    padding: 0 0 6px;
    border: none;
    background: none;
    vertical-align: top;
    width: 32%;
}

.ahq-pdp-attribute-slot-inner table.variations td {
    padding: 0 0 10px;
    border: none;
}

.ahq-pdp-attribute-slot-inner .variations select {
    width: 100%;
    max-width: none;
    padding: 8px 10px;
    border: 1px solid #d0d0d0;
    border-radius: 3px;
    background: #fff;
    font-size: 13px;
}

.ahq-pdp-attribute-slot-inner .reset_variations {
    display: inline-block;
    margin-top: 4px;
    font-size: 11px;
    color: var(--ahq-pdp-emerald);
}

.ahq-pdp-attribute-slot-inner .woocommerce-variation {
    margin-top: 8px;
    font-size: 13px;
}

.ahq-pdp-sku {
    font-size: 10px;
    letter-spacing: 0.15em;
    color: var(--ahq-pdp-ink4);
    text-transform: uppercase;
}

.ahq-pdp-title {
    font-family: var(--font-display, 'Cormorant Garamond', serif);
    font-size: clamp(1.55rem, 1.8vw, 2rem);
    font-weight: 300;
    line-height: 1.16;
    color: var(--ahq-pdp-ink);
    margin: 0;
    letter-spacing: -0.01em;
}

.ahq-pdp-subtitle {
    margin: 0;
    padding: 0;
    max-width: 100%;
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-size: clamp(0.72rem, 1.6vw, 0.82rem);
    font-weight: 400;
    line-height: 1.5;
    color: var(--ahq-pdp-ink4, #9a9080);
    letter-spacing: 0.01em;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}

.ahq-pdp-price-block {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin-top: 0;
}

.ahq-pdp-price-original {
    font-size: 1.05rem;
    color: #9a9080;
    text-decoration: line-through;
    text-decoration-thickness: 1px;
}

.ahq-pdp-price-original .amount,
.ahq-pdp-price-sale .amount {
    font-family: var(--font-body, 'Jost', sans-serif);
}

.ahq-pdp-price-sale {
    font-size: 1.75rem;
    font-weight: 400;
    color: var(--ahq-pdp-ink);
    line-height: 1.1;
}

.ahq-pdp-price-block.is-on-sale .ahq-pdp-price-sale,
.ahq-pdp-price-block.is-on-sale .ahq-pdp-price-sale .amount {
    color: #b03020;
    font-weight: 500;
}

.ahq-pdp-price-sep {
    font-size: 0.85em;
    color: #9a9080;
    font-weight: 400;
}

.ahq-pdp-price-save {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: #b03020;
    background: #fdecea;
    padding: 4px 10px;
    border-radius: 999px;
}

.ahq-pdp-price-vat {
    font-size: 10px;
    line-height: 1.4;
    color: var(--ahq-pdp-ink4);
    margin: -4px 0 0;
}

.ahq-pdp-reviews-empty {
    margin: 0 0 1.15rem;
    max-width: 38em;
    font-size: 0.95rem;
    line-height: 1.65;
    color: var(--ahq-pdp-ink3, #5c534c);
}

.ahq-pdp-rating-wrap--empty .ahq-pdp-rating-link {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ahq-pdp-price-sale,
.ahq-pdp-price-original,
.ahq-pc-price {
    font-variant-numeric: tabular-nums;
}

.ahq-pdp-trust-strip {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    padding: 6px 0;
    border-top: 1px solid var(--ahq-pdp-line);
    border-bottom: 1px solid var(--ahq-pdp-line);
}

.ahq-pdp-trust-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    color: var(--ahq-pdp-ink3);
}

.ahq-pdp-trust-icon {
    color: var(--ahq-pdp-emerald);
}

/* Purchase form */
.ahq-pdp-purchase .cart {
    margin: 0;
}

.ahq-pdp-purchase p.stock {
    display: none !important;
}

.ahq-pdp-purchase form.cart.ahq-pdp-cart-row--b2 {
    gap: 8px;
}

/* ── Quantity input row ──
   Simple: form.cart is the flex row.
   Variable: form.variations_form must stay block/column; only .woocommerce-variation-add-to-cart is the flex row. */
.ahq-pdp-purchase form.cart:not(.variations_form) {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: nowrap;
}

.ahq-pdp-purchase form.variations_form.cart {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
}

.ahq-pdp-purchase .woocommerce-variation-add-to-cart {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    width: 100%;
}

.ahq-pdp-purchase form.cart:not(.variations_form) .quantity,
.ahq-pdp-purchase .woocommerce-variation-add-to-cart .quantity {
    order: unset;
    grid-column: 1;
}

.ahq-pdp-purchase form.cart:not(.variations_form) .ahq-wl-btn--pdp,
.ahq-pdp-purchase .woocommerce-variation-add-to-cart .ahq-wl-btn--pdp {
    order: unset;
    grid-column: 2;
}

.ahq-pdp-purchase form.cart:not(.variations_form) .single_add_to_cart_button,
.ahq-pdp-purchase .woocommerce-variation-add-to-cart .single_add_to_cart_button {
    order: unset;
    grid-column: 3;
    width: 100% !important;
    min-height: 48px;
}

/* ── B2: 浅底全宽工具条 + 双行 Add to Cart ── */
.ahq-pdp-purchase form.cart.ahq-pdp-cart-row--b2,
.ahq-pdp-purchase .woocommerce-variation-add-to-cart.ahq-pdp-cart-row--b2 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    align-items: stretch;
    gap: 10px;
    width: 100%;
}

.ahq-pdp-purchase form.cart.ahq-pdp-cart-row--b2 > *:not(.ahq-pdp-cart-toolbar):not(.single_add_to_cart_button),
.ahq-pdp-purchase .woocommerce-variation-add-to-cart.ahq-pdp-cart-row--b2 > *:not(.ahq-pdp-cart-toolbar):not(.single_add_to_cart_button) {
    grid-column: 1 / -1;
}

.ahq-pdp-purchase form.cart.ahq-pdp-cart-row--b2 .quantity,
.ahq-pdp-purchase form.cart.ahq-pdp-cart-row--b2 .ahq-wl-btn--pdp,
.ahq-pdp-purchase .woocommerce-variation-add-to-cart.ahq-pdp-cart-row--b2 .quantity,
.ahq-pdp-purchase .woocommerce-variation-add-to-cart.ahq-pdp-cart-row--b2 .ahq-wl-btn--pdp {
    grid-column: unset;
    grid-row: unset;
}

.ahq-pdp-purchase form.cart.ahq-pdp-cart-row--b2 .single_add_to_cart_button,
.ahq-pdp-purchase .woocommerce-variation-add-to-cart.ahq-pdp-cart-row--b2 .single_add_to_cart_button {
    grid-column: 1 / -1 !important;
    grid-row: 2;
    width: 100% !important;
    min-height: 48px;
}

.ahq-pdp-cart-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 46px;
    padding: 5px 10px 5px 8px;
    background: var(--ahq-pdp-cream);
    border: 1px solid var(--ahq-pdp-line);
    border-radius: 4px;
    box-sizing: border-box;
}

.ahq-pdp-cart-toolbar__actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.ahq-pdp-qty-group {
    display: inline-flex;
    align-items: center;
    gap: 0;
    height: 38px;
    padding: 0 0 0 10px;
    background: #fff;
    border: 1px solid rgba(26, 21, 9, 0.11);
    border-radius: 3px;
    overflow: hidden;
    flex-shrink: 0;
}

.ahq-pdp-qty-group__label {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ahq-pdp-ink3);
    line-height: 1;
    margin-right: 8px;
    user-select: none;
    white-space: nowrap;
}

.ahq-pdp-toolbar-qty-label {
    display: none;
}

/* B2 工具条内：数量 stepper 嵌入 Qty 组 */
.ahq-pdp-purchase .ahq-pdp-cart-toolbar .ahq-pdp-qty-group .quantity {
    height: 38px;
    border: none;
    border-radius: 0;
    background: transparent;
    margin: 0;
}

.ahq-pdp-purchase .ahq-pdp-cart-toolbar .quantity {
    height: 38px;
    border-color: rgba(26, 21, 9, 0.11);
    border-radius: 3px;
}

.ahq-pdp-purchase .ahq-pdp-cart-toolbar .ahq-pdp-qty-group .quantity .qty {
    width: 30px;
    height: 38px;
    font-size: 13px;
    line-height: 38px;
}

.ahq-pdp-purchase .ahq-pdp-cart-toolbar .quantity .qty {
    width: 30px;
    height: 38px;
    font-size: 13px;
    line-height: 38px;
}

.ahq-pdp-purchase .ahq-pdp-cart-toolbar .ahq-pdp-qty-group .quantity .ahq-qty-minus,
.ahq-pdp-purchase .ahq-pdp-cart-toolbar .ahq-pdp-qty-group .quantity .ahq-qty-plus,
.ahq-pdp-purchase .ahq-pdp-cart-toolbar .quantity .ahq-qty-minus,
.ahq-pdp-purchase .ahq-pdp-cart-toolbar .quantity .ahq-qty-plus,
.ahq-pdp-purchase .ahq-pdp-cart-toolbar .quantity .qty-btn,
.ahq-pdp-purchase .ahq-pdp-cart-toolbar .quantity button.minus,
.ahq-pdp-purchase .ahq-pdp-cart-toolbar .quantity button.plus {
    width: 28px;
    height: 38px;
    font-size: 14px;
    line-height: 1;
}

.ahq-pdp-purchase .ahq-pdp-cart-toolbar .ahq-wl-btn--pdp {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(26, 21, 9, 0.11);
    border-radius: 3px;
    background: #fff;
    flex-shrink: 0;
}

.ahq-pdp-purchase .ahq-pdp-cart-toolbar .ahq-wl-btn--pdp svg {
    width: 15px;
    height: 15px;
}

.ahq-pdp-cart-toolbar__meta {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    text-align: right;
    padding-left: 12px;
    transition: opacity 0.2s ease;
}

.ahq-pdp-cart-toolbar__meta.is-idle {
    justify-content: flex-end;
}

.ahq-pdp-cart-toolbar__meta.is-updating {
    opacity: 0.55;
}

.ahq-pdp-cart-toolbar__meta-inner {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 2px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.ahq-pdp-toolbar-ready-line {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    max-width: 100%;
    min-width: 0;
    flex-wrap: wrap;
}

.ahq-pdp-cart-toolbar__meta.is-ready .ahq-pdp-toolbar-ready-line {
    justify-content: flex-end;
}

.ahq-pdp-toolbar-stock-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
    padding: 3px 8px;
    border-radius: 2px;
    background: rgba(45, 122, 110, 0.08);
    font-size: 11px;
    font-weight: 500;
    color: var(--ahq-pdp-emerald);
    line-height: 1.2;
    white-space: nowrap;
}

.ahq-pdp-toolbar-stock-tag.is-low {
    background: rgba(201, 168, 76, 0.12);
    color: #9a7b2e;
}

.ahq-pdp-toolbar-detail {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    max-width: 100%;
    min-width: 0;
}

.ahq-pdp-toolbar-sep {
    display: none;
}

.ahq-pdp-toolbar-placeholder {
    font-size: 11px;
    line-height: 1.4;
    color: var(--ahq-pdp-ink3);
    font-style: italic;
}

.ahq-pdp-toolbar-placeholder--oos {
    color: var(--ahq-pdp-sale);
    font-style: normal;
}

.ahq-pdp-toolbar-stock {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 500;
    color: var(--ahq-pdp-emerald);
    line-height: 1.2;
    white-space: nowrap;
    flex-shrink: 0;
}

.ahq-pdp-toolbar-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--ahq-pdp-ink4);
    flex-shrink: 0;
}

.ahq-pdp-toolbar-dot.is-ready {
    background: var(--ahq-pdp-emerald);
}

.ahq-pdp-toolbar-dot.is-low {
    background: #c9a84c;
    animation: ahq-pdp-toolbar-pulse 2.4s ease-in-out infinite;
}

@keyframes ahq-pdp-toolbar-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.45; }
}

@media (prefers-reduced-motion: reduce) {
    .ahq-pdp-toolbar-dot.is-low {
        animation: none;
    }
}

.ahq-pdp-toolbar-selection {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
    color: var(--ahq-pdp-ink2);
}

.ahq-pdp-toolbar-line-total {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11px;
    line-height: 1.35;
    color: var(--ahq-pdp-ink3);
}

.ahq-pdp-purchase .quantity .ahq-qty-minus,
.ahq-pdp-purchase .quantity .ahq-qty-plus {
    border: none;
    background: transparent;
    font-size: 18px;
    color: #888;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s, background 0.2s;
    padding: 0;
}

.ahq-pdp-purchase .quantity .ahq-qty-minus:hover,
.ahq-pdp-purchase .quantity .ahq-qty-plus:hover {
    color: #c9a84c;
    background: #faf7f2;
}

.ahq-pdp-purchase .quantity {
    display: flex;
    align-items: center;
    border: 1px solid #d4cfc8;
    border-radius: 3px;
    overflow: hidden;
    background: #fff;
    flex-shrink: 0;
    height: 48px;
}

.ahq-pdp-purchase .quantity .qty {
    width: 44px;
    height: 48px;
    border: none !important;
    outline: none;
    text-align: center;
    font-family: var(--font-body, 'Jost', sans-serif);
    font-size: 14px;
    font-weight: 500;
    color: #1a1a1a;
    background: transparent;
    -moz-appearance: textfield;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

.ahq-pdp-purchase .quantity .qty::-webkit-outer-spin-button,
.ahq-pdp-purchase .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Qty +/- buttons injected by WooCommerce or theme JS */
.ahq-pdp-purchase .quantity .qty-btn,
.ahq-pdp-purchase .quantity button.minus,
.ahq-pdp-purchase .quantity button.plus {
    width: 36px;
    height: 48px;
    border: none;
    background: transparent;
    font-size: 18px;
    color: #888;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s, background 0.2s;
    padding: 0;
}

.ahq-pdp-purchase .quantity .qty-btn:hover,
.ahq-pdp-purchase .quantity button.minus:hover,
.ahq-pdp-purchase .quantity button.plus:hover {
    color: #c9a84c;
    background: #faf7f2;
}

.ahq-pdp-purchase table.variations {
    width: 100%;
    margin: 0 0 12px;
    border: none;
    border-collapse: separate;
    border-spacing: 0;
}

.ahq-pdp-purchase table.variations tbody {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ahq-pdp-purchase table.variations tr {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
}

.ahq-pdp-purchase table.variations th,
.ahq-pdp-purchase table.variations td {
    display: block;
    width: 100%;
    padding: 0;
    border: none;
    text-align: left;
    vertical-align: top;
}

.ahq-pdp-purchase table.variations th {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ahq-pdp-ink);
    border: none;
    background: none;
}
.ahq-pdp-purchase .variations select,
.ahq-pdp-purchase .variations .value select {
    width: 100%;
    max-width: none;
    padding: 10px 12px;
    border: 1px solid #d0d0d0;
    border-radius: 3px;
    background: #fff;
    font-family: var(--font-body, 'Jost', sans-serif);
    font-size: 13px;
}

.ahq-pdp-purchase .reset_variations {
    font-size: 11px;
    color: var(--ahq-pdp-emerald);
}

.ahq-pdp-purchase .ahq-pdp-cart-row .single_add_to_cart_button,
.ahq-pdp-purchase .woocommerce-variation-add-to-cart .single_add_to_cart_button,
.ahq-pdp-purchase .single_add_to_cart_button {
    flex: 1 1 auto;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 0;
    height: 48px;
    padding: 0 24px !important;
    background: #c9a84c !important;
    color: #fff !important;
    border: none !important;
    border-radius: 3px !important;
    font-family: var(--font-body, 'Jost', sans-serif) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    cursor: pointer;
    transition: background 0.25s;
    margin: 0 !important;
    transform: none !important;
    box-shadow: none !important;
}

.ahq-pdp-purchase .single_add_to_cart_button:hover {
    background: #b8960a !important;
    transform: none !important;
    box-shadow: none !important;
}

/* ── Cart 行：quantity + 心形收藏 + Add to Cart 同行（CSS Grid）── */
.ahq-pdp-purchase form.cart {
    display: grid !important;
    grid-template-columns: auto 48px 1fr;
    grid-template-rows: auto;
    align-items: center;
    gap: 10px;
    margin: 0;
}

/* 所有子元素默认跨全列（兜底，避免未知元素错位） */
.ahq-pdp-purchase form.cart > * {
    grid-column: 1 / -1;
}

.ahq-pdp-purchase form.cart .quantity {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
}

.ahq-pdp-purchase form.cart .single_add_to_cart_button {
    grid-column: 3;
    grid-row: 1;
    width: 100% !important;
}

/* 主题心形按钮（inc/wishlist.php 注入）— 第2列，数量与 Add to Cart 之间 */
.ahq-pdp-purchase form.cart .ahq-wl-btn--pdp {
    grid-column: 2;
    grid-row: 1;
    width: 48px !important;
    height: 48px;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #d4cfc8;
    border-radius: 3px;
    background: #fff;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s, background 0.2s;
    flex: unset;
    order: unset;
}

.ahq-pdp-purchase form.cart .ahq-wl-btn--pdp:hover {
    border-color: #c9a84c;
    background: #faf7f2;
}

.ahq-pdp-purchase form.cart .ahq-wl-btn--pdp svg {
    width: 19px;
    height: 19px;
    color: #999;
    transition: color 0.2s;
}

.ahq-pdp-purchase form.cart .ahq-wl-btn--pdp:hover svg,
.ahq-pdp-purchase form.cart .ahq-wl-btn--pdp.is-active svg {
    color: #c9a84c;
}

.ahq-pdp-purchase form.cart .ahq-wl-btn--pdp .ahq-wl-btn-label {
    display: none;
}

/* YITH 重复按钮隐藏 */
.ahq-pdp-purchase .ahq-wl-in-cart,
.ahq-pdp-purchase .yith-wcwl-add-to-wishlist,
.ahq-pdp-purchase .yith-add-to-wishlist-button-block {
    display: none !important;
}

/* 隐藏的 WC attribution 输入不占空间 */
.ahq-pdp-purchase form.cart .wc-order-attribution-inputs,
.ahq-pdp-purchase form.cart wc-order-attribution-inputs {
    display: none !important;
}

/* PayPal 容器独占一整行排在下方 */
.ahq-pdp-purchase form.cart .wc-ppcp-product-payments__container,
.ahq-pdp-pay-stack .wc-ppcp-product-payments__container {
    grid-column: 1 / -1;
    width: 100%;
    margin: 4px 0 0;
}

.ahq-pdp-pay-stack {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    margin-top: 10px;
}

.ahq-pdp-pay-stack .wc-ppcp-product-payment__methods {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ahq-pdp-pay-stack .wc-ppcp-product-button-container,
.ahq-pdp-pay-stack .paypal-buttons {
    width: 100% !important;
    min-height: 48px;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack .wc-ppcp-product-button-container,
.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack .paypal-buttons,
.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack div[class*="paypal-buttons"] {
    min-height: 0;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split:not(.ahq-paypal-ready) .wc-ppcp-product-button-container,
.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split:not(.ahq-paypal-ready) .paypal-buttons,
.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split:not(.ahq-paypal-ready) div[class*="paypal-buttons"] {
    min-height: var(--ahq-express-btn-h, 40px);
}

.ahq-pdp-pay-stack .wc-ppcp-product-payments__container.disabled,
.ahq-pdp-pay-stack .wc-ppcp-product-button-container.disabled {
    opacity: 0.45;
    pointer-events: none;
}

/* E3：PayPal iframe 已渲染且可购买时，覆盖插件/主题的 disabled 半透明，避免按钮发灰、显示不全 */
.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split.ahq-express-active .wc-ppcp-product-payments__container,
.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split.ahq-express-active .wc-ppcp-product-button-container,
.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split.ahq-express-active .paypal-buttons,
.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split.ahq-express-active div[class*="paypal-buttons"] {
    opacity: 1 !important;
    pointer-events: auto !important;
    filter: none !important;
}

/* ── Crypto 支付按钮 ─────────────────────────────────────── */
.ahq-pdp-btn-crypto {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    height: 48px;
    background: #1a1a2e;
    color: #fff;
    border: none;
    border-radius: 3px;
    font-family: var(--font-body, 'Jost', sans-serif);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.25s;
}

.ahq-pdp-btn-crypto:hover {
    background: #2d2d5e;
}

.ahq-pdp-btn-paypal {
    display: block;
    width: 100%;
    padding: 14px;
    background: #ffc439;
    color: #111;
    border: none;
    border-radius: 3px;
    font-family: var(--font-body, 'Jost', sans-serif);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.06em;
    cursor: pointer;
    text-align: center;
}

.ahq-pdp-btn-paypal:disabled {
    opacity: 0.85;
}

.ahq-pdp-size-helper {
    font-size: 11px;
    color: var(--ahq-pdp-emerald);
    margin-top: 6px;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
    background: none;
    border: none;
    padding: 0;
}

/* Social proof & payment */
.ahq-pdp-social-proof {
    background: #fef9f0;
    border: 1px solid rgba(168, 129, 58, 0.2);
    border-radius: 4px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 12px;
    color: var(--ahq-pdp-ink2);
}

.ahq-pdp-social-proof strong {
    color: var(--ahq-pdp-sale);
}

.ahq-pdp-variation-hint {
    width: 100%;
    margin: 4px 0 0;
    padding: 10px 14px 10px 36px;
    border-radius: 4px;
    border: 1px solid rgba(201, 168, 76, 0.28);
    background: #fef9f0;
    font-size: 12px;
    line-height: 1.5;
    color: var(--ahq-pdp-ink2);
    position: relative;
}

.ahq-pdp-variation-hint::before {
    content: 'i';
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1px solid rgba(201, 168, 76, 0.55);
    color: #a8813a;
    font-size: 10px;
    font-weight: 700;
    font-style: normal;
    line-height: 14px;
    text-align: center;
}

.ahq-pdp-variation-hint.is-hidden,
.ahq-pdp-variation-hint[hidden] {
    display: none !important;
}

.ahq-pdp-payment-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 12px 0;
    border-top: 1px solid var(--ahq-pdp-line);
    font-size: 11px;
    color: var(--ahq-pdp-ink4);
    background: #fff;
}

.ahq-pdp-payment-bar-items {
    display: contents;
}

.ahq-pdp-payment-bar-label {
    flex-shrink: 0;
}

.ahq-pdp-payment-badge {
    padding: 4px 9px;
    border: 1px solid #e0e0e0;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 500;
    color: #555;
    background: #fff;
}

.ahq-pdp-secure-note {
    margin-left: auto;
    font-size: 10px;
    color: var(--ahq-pdp-emerald);
}

.ahq-pdp-trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    text-align: center;
    padding: 14px 0;
    border-top: 1px solid var(--ahq-pdp-line);
    border-bottom: 1px solid var(--ahq-pdp-line);
    background: #fff;
}

.ahq-pdp-trust-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 4px 6px;
}

.ahq-pdp-trust-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid var(--ahq-pdp-line);
    color: var(--ahq-pdp-emerald);
}

.ahq-pdp-trust-card-icon svg {
    width: 18px;
    height: 18px;
}

.ahq-pdp-trust-card-title {
    display: block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ahq-pdp-ink);
}

.ahq-pdp-trust-card-text {
    display: block;
    font-size: 10px;
    color: var(--ahq-pdp-ink4);
    line-height: 1.4;
}

/* Trust badges as a full-width band under the hero. Keeping them inside the
   info column made it far taller than the square gallery, which left a large
   empty block beside the images. */
.ahq-pdp-trust-frame {
    width: 100%;
    margin: 0 0 18px;
}

@media (min-width: 1025px) {
    .ahq-pdp-trust-frame .ahq-pdp-trust-grid {
        text-align: left;
        padding: 12px 0;
    }

    .ahq-pdp-trust-frame .ahq-pdp-trust-card {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        grid-template-areas:
            "icon title"
            "icon text";
        align-items: center;
        column-gap: 12px;
        row-gap: 2px;
        padding: 2px 8px;
    }

    .ahq-pdp-trust-frame .ahq-pdp-trust-card-icon {
        grid-area: icon;
    }

    .ahq-pdp-trust-frame .ahq-pdp-trust-card-title {
        grid-area: title;
        align-self: end;
    }

    .ahq-pdp-trust-frame .ahq-pdp-trust-card-text {
        grid-area: text;
        align-self: start;
    }
}

/* Detail area — width framework, height auto */
.ahq-pdp-detail-frame {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-top: 8px;
}

.ahq-pdp-detail-frame .ahq-pdp-tabs,
.ahq-pdp-detail-frame .ahq-pdp-tab-content,
.ahq-pdp-detail-frame .ahq-pdp-tab-panel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: auto;
    min-height: 0;
    max-height: none;
}

.ahq-pdp-content-frame,
.ahq-pdp-desc-body {
    overflow-x: clip;
    overflow-y: visible;
    word-wrap: break-word;
    overflow-wrap: anywhere;
}

.ahq-pdp-content-frame :is(img, video, iframe, embed, object, svg),
.ahq-pdp-desc-body :is(img, video, iframe, embed, object, svg) {
    max-width: 100% !important;
    height: auto !important;
}

.ahq-pdp-content-frame :is(.elementor-section, .elementor-container, .elementor-column, .e-con, .e-con-inner, .wp-block-group, .wp-block-columns),
.ahq-pdp-desc-body :is(.elementor-section, .elementor-container, .elementor-column, .e-con, .e-con-inner, .wp-block-group, .wp-block-columns) {
    max-width: 100% !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
}

.ahq-pdp-content-frame table,
.ahq-pdp-desc-body table {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto;
}

.ahq-pdp-content-frame pre,
.ahq-pdp-desc-body pre {
    max-width: 100%;
    overflow-x: auto;
    white-space: pre-wrap;
}

/* Disclosure */
.ahq-pdp-disclosure {
    background: #fff;
    border: 1px solid var(--ahq-pdp-line);
    border-radius: 0;
    padding: 16px 0;
    margin: 0 0 16px;
    font-size: 12px;
    line-height: 1.7;
    color: var(--ahq-pdp-ink2);
}

.ahq-pdp-disclosure strong {
    color: var(--ahq-pdp-ink);
}

/* Tabs */
.ahq-pdp-tabs-nav {
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--ahq-pdp-line);
    overflow-x: auto;
}

.ahq-pdp-tab-btn {
    padding: 12px 24px;
    border: none;
    background: none;
    font-family: var(--font-body, 'Jost', sans-serif);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ahq-pdp-ink4);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    white-space: nowrap;
}

.ahq-pdp-tab-btn.is-active,
.ahq-pdp-tab-btn:hover {
    color: var(--ahq-pdp-ink);
    border-bottom-color: var(--ahq-pdp-gd);
}

.ahq-pdp-tab-content {
    padding: 32px 0;
    overflow-x: clip;
}

.ahq-pdp-tab-panel {
    height: auto;
    min-height: 0;
    max-height: none;
    overflow-x: clip;
    overflow-y: visible;
}

.ahq-pdp-tab-panel[hidden] {
    display: none !important;
}

.ahq-pdp-desc-intro {
    font-family: var(--font-display, 'Cormorant Garamond', serif);
    font-size: 1.1rem;
    font-style: italic;
    line-height: 1.8;
    color: var(--ahq-pdp-ink2);
    margin-bottom: 24px;
    padding: 0;
    border: none;
}

.ahq-pdp-desc-body {
    font-size: 14px;
    line-height: 1.75;
    color: var(--ahq-pdp-ink2);
    margin-bottom: 24px;
    overflow-wrap: anywhere;
}

/* Final description style (A framework + B/D typography) */
.ahq-desc-final {
    margin: 0 0 26px;
    border: 1px solid var(--ahq-pdp-line);
    background: linear-gradient(180deg, #fff 0%, #fcfaf7 100%);
    padding: 18px 18px 16px;
    position: relative;
}

.ahq-desc-final::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, rgba(168,129,58,.55) 0%, rgba(168,129,58,.08) 100%);
}

.ahq-desc-final-head {
    margin: 0 0 10px;
    max-width: 760px;
}

.ahq-desc-final-tag {
    display: inline-block;
    font-size: 10px;
    letter-spacing: .11em;
    text-transform: uppercase;
    color: #a8813a;
    margin-bottom: 5px;
}

.ahq-desc-final h3 {
    margin: 0;
    font-family: var(--font-body, 'Jost', sans-serif);
    font-size: 1.08rem;
    line-height: 1.32;
    font-weight: 600;
    color: var(--ahq-pdp-ink);
    letter-spacing: .01em;
}

.ahq-desc-final-lead {
    margin: 0 0 10px;
    font-family: var(--font-body, 'Jost', sans-serif);
    font-size: 14px;
    line-height: 1.78;
    font-weight: 500;
    color: #3b332c;
    max-width: 860px;
    padding-left: 10px;
    border-left: 1px dashed rgba(168,129,58,.35);
}

.ahq-desc-final-body {
    margin: 0 0 9px;
    font-family: var(--font-body, 'Jost', sans-serif);
    font-size: 13px;
    line-height: 1.78;
    color: var(--ahq-pdp-ink3);
    max-width: 860px;
    text-wrap: pretty;
}

.ahq-desc-final-chips {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 3px;
}

.ahq-desc-final-chips span {
    border: 1px solid rgba(168,129,58,.35);
    padding: 3px 8px;
    font-size: 10px;
    color: #a8813a;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-family: var(--font-body, 'Jost', sans-serif);
}

@media (max-width: 768px) {
    .ahq-desc-final {
        padding: 14px 12px 12px;
    }

    .ahq-desc-final h3 {
        font-size: 1rem;
    }

    .ahq-desc-final-lead,
    .ahq-desc-final-body {
        font-size: 12.5px;
        line-height: 1.72;
        max-width: none;
    }
}

/* AHQ Value Index — breakdown mode (ad-safe) */
.ahq-vi-disclaimer {
    margin: 0 0 12px;
    padding: 10px 12px;
    font-size: 11px;
    line-height: 1.5;
    color: var(--ahq-pdp-ink3, #6f6047);
    background: rgba(168, 129, 58, 0.08);
    border: 1px solid rgba(168, 129, 58, 0.22);
    border-radius: 4px;
}

.ahq-vi-expand-btn {
    appearance: none;
    border: 1px solid var(--ahq-pdp-line);
    background: #fff;
    color: var(--ahq-pdp-gd, #a8813a);
    padding: 6px 12px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    border-radius: 4px;
}

.ahq-vi--ads-collapsed .ahq-vi-body {
    display: none;
}

.ahq-vi-ref-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 12px;
}

.ahq-vi-ref-chip {
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 12px;
    background: #fff;
    border: 1px solid var(--ahq-pdp-line);
    border-radius: 4px;
    min-width: 110px;
}

.ahq-vi-ref-label {
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ahq-pdp-ink4, #9a9080);
}

.ahq-vi-ref-chip strong {
    font-size: 15px;
    color: var(--ahq-pdp-ink, #1a1509);
}

.ahq-vi-ref-note {
    font-size: 10px;
    color: var(--ahq-pdp-ink4, #9a9080);
}

.ahq-vi-bars {
    display: grid;
    gap: 8px;
    margin-bottom: 14px;
    padding: 12px;
    background: #fff;
    border: 1px solid var(--ahq-pdp-line);
    border-radius: 4px;
}

.ahq-vi-bar-row {
    display: grid;
    grid-template-columns: minmax(120px, 34%) 1fr;
    align-items: center;
    gap: 10px;
}

.ahq-vi-bar-label {
    font-size: 11px;
    color: var(--ahq-pdp-ink2, #473a26);
}

.ahq-vi-bar-track {
    height: 8px;
    background: rgba(26, 21, 9, 0.06);
    border-radius: 999px;
    overflow: hidden;
}

.ahq-vi-bar-track i {
    display: block;
    height: 100%;
    background: var(--ahq-vi-accent, #a8813a);
    border-radius: inherit;
    transition: width 0.35s ease;
}

.ahq-vi-bar-row.is-active .ahq-vi-bar-track i {
    opacity: 1;
}

.ahq-vi--breakdown .ahq-vi-ticker,
.ahq-vi--breakdown .ahq-vi-market,
.ahq-vi--breakdown .ahq-vi-live-meta,
.ahq-vi--breakdown .ahq-vi-hover-status {
    display: none !important;
}

/* AHQ Value Index */
.ahq-vi {
    margin: 26px 0 28px;
    border: 1px solid var(--ahq-pdp-line);
    background: var(--ahq-bg-secondary, #f7f4ef);
    padding: 14px;
    border-radius: 4px;
    --ahq-vi-accent: #8b5cf6;
    --ahq-vi-tint: rgba(139, 92, 246, .12);
    --ahq-vi-scan: rgba(139, 92, 246, .16);
}

.ahq-vi-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 10px;
}

.ahq-vi-pill {
    display: inline-flex;
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ahq-pdp-emerald);
    border: 1px solid rgba(122, 157, 145, 0.35);
    padding: 4px 8px;
}

.ahq-vi-title {
    margin: 8px 0 4px;
    font-size: 1.8rem;
    font-family: var(--font-display, 'Cormorant Garamond', serif);
}

.ahq-vi-sub {
    margin: 0;
    font-size: 13px;
    color: var(--ahq-pdp-ink3);
}

.ahq-vi-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
    font-size: 11px;
    color: var(--ahq-pdp-ink4);
}

.ahq-vi-live-meta {
    margin-top: 3px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ahq-vi-live-toggle {
    border: 1px solid var(--ahq-pdp-line);
    background: #fff;
    color: var(--ahq-pdp-ink2);
    padding: 3px 8px;
    font-size: 11px;
    cursor: pointer;
}

.ahq-vi-live-toggle[aria-pressed="true"] {
    border-color: var(--ahq-vi-accent);
    color: var(--ahq-vi-accent);
}

.ahq-vi-ticker {
    overflow: hidden;
    border: 1px solid var(--ahq-pdp-line);
    background: linear-gradient(180deg, #fff 0%, #f9f8f5 100%);
    margin-bottom: 10px;
}

.ahq-vi-ticker-marquee {
    display: flex;
    width: max-content;
    animation: ahq-vi-marquee-loop 22s linear infinite;
}

.ahq-vi-ticker:hover .ahq-vi-ticker-marquee {
    animation-play-state: paused;
}

.ahq-vi-ticker-track {
    display: flex;
    gap: 14px;
    white-space: nowrap;
    padding: 7px 10px;
}

@keyframes ahq-vi-marquee-loop {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

.ahq-vi-ticker-item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;
    border: 1px solid rgba(0, 0, 0, .08);
    background: #fff;
    padding: 3px 8px;
}

.ahq-vi-ticker-item .pulse-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--ahq-vi-accent);
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--ahq-vi-accent) 42%, transparent);
    animation: ahq-vi-dot 1.45s ease-out infinite;
}

@keyframes ahq-vi-dot {
    0% { transform: scale(.85); box-shadow: 0 0 0 0 color-mix(in srgb, var(--ahq-vi-accent) 42%, transparent); }
    70% { transform: scale(1.15); box-shadow: 0 0 0 6px color-mix(in srgb, var(--ahq-vi-accent) 0%, transparent); }
    100% { transform: scale(.85); box-shadow: 0 0 0 0 color-mix(in srgb, var(--ahq-vi-accent) 0%, transparent); }
}

.ahq-vi-ticker-item .sym { color: var(--ahq-pdp-ink4); }
.ahq-vi-ticker-item .px { font-weight: 600; }
.ahq-vi-ticker-item .ch.up { color: #1f7f5f; }
.ahq-vi-ticker-item .ch.down { color: #ae4b4b; }
.ahq-vi-ticker-item .vol { color: rgba(0, 0, 0, .56); font-size: 11px; }

.ahq-vi-market {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(260px, .9fr);
    gap: 10px;
    margin-bottom: 10px;
    align-items: stretch;
}

.ahq-vi-chart,
.ahq-vi-side {
    border: 1px solid var(--ahq-pdp-line);
    background: #fff;
    transition: border-color .25s ease, box-shadow .25s ease;
}

.ahq-vi-chart-head {
    padding: 8px 10px;
    border-bottom: 1px solid var(--ahq-pdp-line);
    display: flex;
    justify-content: space-between;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;
    font-size: 12px;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.ahq-vi-chart {
    display: flex;
    flex-direction: column;
    min-height: 292px;
}

.ahq-vi-chart-head .pair { color: var(--ahq-pdp-ink3); }
.ahq-vi-chart-head .mark { font-weight: 700; }
.ahq-vi-chart-head .arrow.up { color: #1f7f5f; }

.ahq-vi-scroll-toggle {
    margin-left: auto;
    border: 1px solid rgba(0, 0, 0, .16);
    background: #fff;
    color: rgba(0, 0, 0, .68);
    font-size: 10px;
    padding: 2px 7px;
    cursor: pointer;
}

.ahq-vi-scroll-toggle[aria-pressed="true"] {
    border-color: var(--ahq-vi-accent);
    color: var(--ahq-vi-accent);
}

.ahq-vi-candles {
    flex: 1 1 auto;
    height: auto;
    min-height: 242px;
    position: relative;
    cursor: crosshair;
    background:
        linear-gradient(to bottom, transparent 24%, rgba(0,0,0,.04) 24%, rgba(0,0,0,.04) 25%, transparent 25%) 0 0/100% 31px,
        linear-gradient(to right, rgba(0,0,0,.03) 1px, transparent 1px) 0 0/44px 100%;
    overflow: hidden;
}

.ahq-vi-candles::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 0%, var(--ahq-vi-scan) 50%, transparent 100%);
    width: 26%;
    transform: translateX(-35%);
    animation: ahq-vi-scan 5.2s linear infinite;
}

.ahq-vi-candles::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 58%;
    background: radial-gradient(85% 110% at 50% 100%, color-mix(in srgb, var(--ahq-vi-accent) 16%, transparent) 0%, transparent 70%);
    pointer-events: none;
}

.ahq-vi-guide,
.ahq-vi-price-axis {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
}

.ahq-vi-guide-line {
    position: absolute;
    left: 0;
    right: 0;
    border-top: 1px dotted rgba(0, 0, 0, .11);
    transform: translateY(-.5px);
}

.ahq-vi-price-axis {
    width: 56px;
    right: auto;
    border-right: 1px solid rgba(0, 0, 0, .09);
    background: linear-gradient(90deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.55) 100%);
}

.ahq-vi-price-label {
    position: absolute;
    left: 5px;
    transform: translateY(-50%);
    font-size: 9px;
    color: rgba(0, 0, 0, .55);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;
}

.ahq-vi-mini-panel {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 32%;
    pointer-events: none;
    border-top: 1px solid rgba(0, 0, 0, .08);
    background: linear-gradient(180deg, rgba(255,255,255,.35) 0%, rgba(0,0,0,.02) 100%);
}

.ahq-vi-mini-panel::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, color-mix(in srgb, var(--ahq-vi-accent) 6%, transparent) 0%, transparent 40%, color-mix(in srgb, var(--ahq-vi-accent) 6%, transparent) 100%);
    pointer-events: none;
}

.ahq-vi-time-axis {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 18px;
    pointer-events: none;
    border-top: 1px dotted rgba(0, 0, 0, .1);
    background: rgba(255, 255, 255, .88);
}

.ahq-vi-time-label {
    position: absolute;
    bottom: 2px;
    transform: translateX(-50%);
    font-size: 9px;
    color: rgba(0, 0, 0, .52);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;
}

.ahq-vi-time-meta {
    position: absolute;
    left: 4px;
    top: 1px;
    font-size: 9px;
    color: rgba(0, 0, 0, .46);
    letter-spacing: .03em;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;
}

.ahq-vi-mini-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.ahq-vi-mini-area {
    fill: color-mix(in srgb, var(--ahq-vi-accent) 20%, transparent);
}

.ahq-vi-mini-line {
    fill: none;
    stroke: color-mix(in srgb, var(--ahq-vi-accent) 85%, #fff);
    stroke-width: 1.4;
}

.ahq-vi-mini-bars {
    position: absolute;
    inset: 0;
}

.ahq-vi-mini-bar {
    position: absolute;
    bottom: 0;
    border-radius: 1px 1px 0 0;
    background: linear-gradient(180deg, color-mix(in srgb, var(--ahq-vi-accent) 45%, #fff) 0%, var(--ahq-vi-accent) 100%);
    opacity: .38;
    animation: ahq-vi-vol-breathe 2.8s ease-in-out infinite;
}

.ahq-vi-macd-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: .92;
}

.ahq-vi-macd-zero {
    stroke: rgba(0, 0, 0, .24);
    stroke-width: .6;
    stroke-dasharray: 2 2;
}

.ahq-vi-macd-bar.up {
    fill: rgba(36, 153, 115, .55);
}

.ahq-vi-macd-bar.down {
    fill: rgba(187, 80, 80, .45);
}

.ahq-vi-macd-dif,
.ahq-vi-macd-dea {
    fill: none;
    stroke-width: 1;
}

.ahq-vi-macd-dif {
    stroke: color-mix(in srgb, var(--ahq-vi-accent) 92%, #fff);
}

.ahq-vi-macd-dea {
    stroke: rgba(175, 90, 205, .88);
}

@keyframes ahq-vi-vol-breathe {
    0%, 100% { opacity: .35; filter: saturate(.92); }
    50% { opacity: .62; filter: saturate(1.12); }
}

@keyframes ahq-vi-scan {
    from { transform: translateX(-35%); }
    to { transform: translateX(420%); }
}

.ahq-vi-candle {
    position: absolute;
    top: 0;
    width: 12px;
    transform-origin: center bottom;
    transition: transform .22s ease, opacity .22s ease, filter .22s ease;
    animation: ahq-vi-candle-pulse 2.6s ease-in-out infinite;
    z-index: 2;
}

@keyframes ahq-vi-candle-pulse {
    0%, 100% { opacity: .75; }
    45% { opacity: 1; }
}

.ahq-vi-candle .wick {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    background: rgba(17,17,17,.58);
}

.ahq-vi-candle .body {
    position: absolute;
    left: 0;
    width: 100%;
    border: 1px solid;
}

.ahq-vi-candle.up .body {
    background: var(--ahq-vi-accent);
    border-color: var(--ahq-vi-accent);
    opacity: .86;
    box-shadow: 0 0 12px color-mix(in srgb, var(--ahq-vi-accent) 38%, transparent);
}

.ahq-vi-candle.down .body {
    background: rgba(255,255,255,.96);
    border-color: rgba(17,17,17,.36);
}

.ahq-vi-crosshair {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 4;
}

.ahq-vi-crosshair .line-x,
.ahq-vi-crosshair .line-y {
    position: absolute;
    background: color-mix(in srgb, var(--ahq-vi-accent) 72%, #fff);
    opacity: .85;
}

.ahq-vi-crosshair .line-x {
    top: 0;
    bottom: 0;
    width: 1px;
}

.ahq-vi-crosshair .line-y {
    left: 0;
    right: 0;
    height: 1px;
}

.ahq-vi-crosshair .label {
    position: absolute;
    min-width: 76px;
    padding: 2px 6px;
    border: 1px solid var(--ahq-vi-accent);
    background: #fff;
    color: var(--ahq-pdp-ink2);
    font-size: 10px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;
}

.ahq-vi-macd-readout {
    position: absolute;
    right: 8px;
    bottom: 22px;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 6px;
    border: 1px solid rgba(0, 0, 0, .14);
    background: rgba(255, 255, 255, .9);
    font-size: 10px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;
    color: rgba(0, 0, 0, .66);
}

.ahq-vi-macd-readout::before {
    content: attr(data-vi-point);
    margin-right: 4px;
    color: rgba(0, 0, 0, .44);
}

.ahq-vi-macd-readout .item {
    display: inline-flex;
    gap: 3px;
}

.ahq-vi-macd-readout .item strong {
    font-weight: 700;
}

.ahq-vi-macd-readout .item.dif strong {
    color: rgba(0, 0, 0, .65);
}

.ahq-vi-macd-readout .item.dea strong {
    color: rgba(0, 0, 0, .65);
}

.ahq-vi-macd-readout .item.hist strong {
    color: rgba(0, 0, 0, .65);
}

.ahq-vi-macd-readout strong.is-pos {
    color: rgba(36, 153, 115, .92);
}

.ahq-vi-macd-readout strong.is-neg {
    color: rgba(187, 80, 80, .92);
}

.ahq-vi-macd-readout .item.trend {
    padding-left: 5px;
    border-left: 1px dashed rgba(0, 0, 0, .18);
}

.ahq-vi[data-vi-band="high"] .ahq-vi-candles::after {
    height: 64%;
}

.ahq-vi[data-vi-band="low"] .ahq-vi-candles::after {
    height: 42%;
}

.ahq-vi-side {
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ahq-vi-side-stat {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
    border: 1px solid transparent;
    padding: 4px 6px;
}

.ahq-vi-side-stat span { color: var(--ahq-pdp-ink4); }
.ahq-vi-side-stat strong { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, monospace; }

.ahq-vi-side .arrow.up { color: #1f7f5f; }
.ahq-vi-side .arrow.down { color: #ae4b4b; }

.ahq-vi-depth {
    border: 1px solid var(--ahq-pdp-line);
    background: #fff;
    padding: 8px;
}

.ahq-vi-depth .row {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    margin: 0 0 4px;
    transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
    border: 1px solid transparent;
    padding: 3px 6px;
}

.ahq-vi-depth .bar {
    height: 6px;
    background: rgba(0,0,0,.06);
    margin-bottom: 7px;
}

.ahq-vi-depth .bar i {
    display: block;
    height: 6px;
    background: var(--ahq-vi-accent);
    opacity: .9;
    transition: width .35s ease, background-color .25s ease;
}

.ahq-vi-side [data-vi-metric].is-chart-active {
    border-color: var(--ahq-vi-accent);
    background: color-mix(in srgb, var(--ahq-vi-accent) 11%, #fff);
    transform: translateX(1px);
}

.ahq-vi-hover-status {
    margin-top: 6px;
    font-size: 11px;
    color: var(--ahq-pdp-ink3);
    border-top: 1px dashed var(--ahq-pdp-line);
    padding-top: 6px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;
}

.ahq-vi-breakdown {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px;
}

.ahq-vi-col {
    border: 1px solid var(--ahq-pdp-line);
    background: #fff;
    padding: 10px;
}

.ahq-vi-col h4 {
    margin: 0 0 5px;
    font-size: 28px;
    font-family: var(--font-display, 'Cormorant Garamond', serif);
}

.ahq-vi-col p {
    margin: 0 0 8px;
    font-size: 12px;
    color: var(--ahq-pdp-ink4);
}

.ahq-vi-rows {
    display: grid;
    gap: 5px;
}

.ahq-vi-row {
    border: 1px solid var(--ahq-pdp-line);
    background: #fff;
    padding: 8px 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, background-color .18s ease;
}

.ahq-vi-row:hover {
    transform: translateY(-1px);
    border-color: rgba(168,129,58,.45);
}

.ahq-vi-row.is-active {
    border-color: var(--ahq-vi-accent);
    background: var(--ahq-vi-tint);
}

.ahq-vi-row .left {
    font-size: 12px;
}

.ahq-vi-row .right {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;
    font-size: 12px;
    font-weight: 600;
}

.ahq-vi-total {
    margin-top: 8px;
    border-top: 1px solid var(--ahq-pdp-line);
    padding-top: 8px;
    display: flex;
    justify-content: space-between;
    font-size: 12px;
}

.ahq-vi-total strong {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;
    font-size: 13px;
}

.ahq-vi-insight {
    min-height: 66px;
    transition: opacity .2s ease;
}

.ahq-vi-lock-card {
    margin-top: 8px;
    border-top: 1px solid var(--ahq-pdp-line);
    padding-top: 8px;
    display: grid;
    gap: 6px;
}

.ahq-vi-lock-card .meta-row {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
}

.ahq-vi-lock-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    font-size: 11px;
    letter-spacing: .05em;
    text-transform: uppercase;
    border: 1px solid var(--ahq-vi-accent);
    color: var(--ahq-vi-accent);
    background: color-mix(in srgb, var(--ahq-vi-accent) 11%, #fff);
    padding: 4px 8px;
}

.ahq-vi-lock-btn {
    margin-top: 4px;
    width: 100%;
}

.ahq-vi.is-locked .ahq-vi-lock-btn {
    border-color: var(--ahq-vi-accent);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--ahq-vi-accent) 20%, transparent);
}

.ahq-vi.is-lock-hit .ahq-vi-lock-btn {
    animation: ahq-vi-lock-shake .34s ease;
}

@keyframes ahq-vi-lock-shake {
    0% { transform: translateX(0); }
    25% { transform: translateX(-2px); }
    50% { transform: translateX(2px); }
    75% { transform: translateX(-1px); }
    100% { transform: translateX(0); }
}

.ahq-vi-digit {
    display: inline-block;
    animation: ahq-vi-digit .7s ease;
}

@keyframes ahq-vi-digit {
    0% { transform: translateY(4px); opacity: .6; }
    100% { transform: translateY(0); opacity: 1; }
}

.ahq-vi-tip {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    margin-left: 4px;
    font-size: 10px;
    border: 1px solid rgba(0, 0, 0, .22);
    border-radius: 50%;
    color: var(--ahq-pdp-ink4);
    cursor: help;
    font-style: normal;
}

.ahq-vi-tip:hover::after {
    content: attr(data-vi-tip);
    position: absolute;
    z-index: 3;
    left: 50%;
    bottom: calc(100% + 8px);
    transform: translateX(-50%);
    width: 230px;
    padding: 8px;
    border: 1px solid var(--ahq-pdp-line);
    background: #fff;
    color: var(--ahq-pdp-ink2);
    font-size: 11px;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    line-height: 1.4;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .07);
    white-space: normal;
}

.ahq-vi.ahq-vi-replay .ahq-vi-chart,
.ahq-vi.ahq-vi-replay .ahq-vi-side {
    border-color: var(--ahq-vi-accent);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--ahq-vi-accent) 20%, transparent);
}

/* Never let legacy imported HTML bleed global styles into the PDP layout. */
.ahq-pdp-desc-body style,
.ahq-pdp-desc-body script,
.ahq-pdp-desc-body link,
.ahq-pdp-desc-body meta,
.ahq-pdp-disclosure style,
.ahq-pdp-disclosure script {
    display: none !important;
}

.ahq-pdp-kicker {
    font-family: var(--font-body, 'Jost', sans-serif);
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--ahq-pdp-emerald);
    margin: 0 0 12px;
}

.ahq-pdp-craft-grid,
.ahq-pdp-why-grid,
.ahq-pdp-styling-grid,
.ahq-pdp-care-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 0 0 24px;
}

.ahq-pdp-craft-card,
.ahq-pdp-why-card,
.ahq-pdp-styling-card {
    background: #fff;
    border: 1px solid var(--ahq-pdp-line);
    padding: 20px;
    border-radius: 3px;
}

.ahq-pdp-craft-num {
    font-family: var(--font-display, 'Cormorant Garamond', serif);
    font-size: 2rem;
    color: var(--ahq-pdp-emerald-light);
    opacity: 0.3;
    line-height: 1;
    margin-bottom: 8px;
}

.ahq-pdp-craft-card h4,
.ahq-pdp-why-card h4,
.ahq-pdp-styling-card h4 {
    font-family: var(--font-body, 'Jost', sans-serif);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ahq-pdp-ink);
    margin: 0 0 6px;
}

.ahq-pdp-craft-card p,
.ahq-pdp-why-card p,
.ahq-pdp-styling-card p {
    font-size: 12.5px;
    line-height: 1.65;
    color: var(--ahq-pdp-ink3);
    margin: 0;
}

.ahq-pdp-why-card,
.ahq-pdp-styling-card {
    text-align: center;
}

.ahq-pdp-emoji {
    font-size: 2rem;
    margin-bottom: 10px;
    display: block;
}

.ahq-pdp-why-card h4 {
    color: var(--ahq-pdp-emerald);
}

.ahq-pdp-styling-card h4 {
    color: var(--ahq-pdp-gd);
}

.ahq-pdp-quote {
    background: var(--ahq-pdp-velvet);
    color: #fff;
    padding: 28px 32px;
    border-radius: 4px;
    margin: 24px 0 0;
    text-align: center;
}

body.ahq-product-page .ahq-pdp-quote p {
    color: rgba(255, 255, 255, 0.88);
}

.ahq-pdp-quote-star {
    color: var(--ahq-pdp-gd3);
    font-size: 1.2rem;
}

.ahq-pdp-quote p {
    font-family: var(--font-display, 'Cormorant Garamond', serif);
    font-size: 1.15rem;
    font-style: italic;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.75);
    margin: 8px 0;
}

.ahq-pdp-quote-tags {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
}

.ahq-pdp-quote-tags span {
    font-size: 9px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: 4px 10px;
    border: 1px solid rgba(212, 176, 106, 0.25);
    color: var(--ahq-pdp-gd3);
}

.ahq-pdp-tab-heading {
    font-family: var(--font-display, 'Cormorant Garamond', serif);
    font-size: 1.3rem;
    font-weight: 300;
    margin: 0 0 16px;
}

.ahq-pdp-spec-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.ahq-pdp-spec-table tr {
    border-bottom: 1px solid var(--ahq-pdp-line);
}

.ahq-pdp-spec-table th {
    width: 30%;
    padding: 10px 12px;
    text-align: left;
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ahq-pdp-ink4);
    font-weight: 500;
    vertical-align: top;
    background: var(--ahq-pdp-cream);
}

.ahq-pdp-spec-table td {
    padding: 10px 12px;
}

.ahq-pdp-faq-item {
    border-bottom: 1px solid var(--ahq-pdp-line);
    padding: 16px 0;
}

.ahq-pdp-faq-q {
    width: 100%;
    border: none;
    background: none;
    font-family: var(--font-body, 'Jost', sans-serif);
    font-size: 13px;
    font-weight: 500;
    color: var(--ahq-pdp-ink);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    text-align: left;
    padding: 0;
}

.ahq-pdp-faq-q:hover {
    color: var(--ahq-pdp-emerald);
}

.ahq-pdp-faq-a {
    font-size: 13px;
    line-height: 1.7;
    color: var(--ahq-pdp-ink3);
    margin-top: 10px;
    display: none;
}

.ahq-pdp-faq-a.is-open {
    display: block;
}

.ahq-pdp-delivery {
    background: var(--ahq-pdp-cream);
    padding: 24px 28px 28px;
    border-radius: 4px;
}

.ahq-pdp-delivery-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
    align-items: stretch;
}

.ahq-pdp-delivery-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 14px 12px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(26, 21, 9, 0.06);
    border-radius: 6px;
}

.ahq-pdp-delivery-card .ahq-pdp-emoji {
    display: block;
    margin-bottom: 8px;
    font-size: 1.2rem;
    line-height: 1;
}

.ahq-pdp-delivery-card h4 {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ahq-pdp-emerald);
    margin: 0 0 6px;
}

.ahq-pdp-delivery-card p {
    font-size: 11px;
    color: var(--ahq-pdp-ink3);
    line-height: 1.5;
    margin: 0;
}

.ahq-pdp-delivery-note {
    font-size: 11px;
    color: var(--ahq-pdp-ink4);
    text-align: center;
    margin-top: 16px;
    line-height: 1.6;
}

.ahq-pdp-delivery-note a {
    color: var(--ahq-pdp-emerald);
}

/* Lower sections */
.ahq-pdp-section-title {
    font-family: var(--font-display, 'Cormorant Garamond', serif);
    font-size: clamp(1.35rem, 2.2vw, 1.65rem);
    font-weight: 300;
    color: var(--ahq-pdp-ink);
    text-align: center;
    margin: 36px 0 20px;
    letter-spacing: 0.02em;
}

.ahq-pdp-section-title--compact {
    margin-top: 28px;
}

.ahq-pdp-care-card {
    padding: 18px;
    background: #fff;
    border: 1px solid var(--ahq-pdp-line);
    border-radius: 3px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.ahq-pdp-care-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--ahq-pdp-emerald-light);
    flex-shrink: 0;
    margin-top: 5px;
}

.ahq-pdp-care-text {
    font-size: 12.5px;
    line-height: 1.65;
    color: var(--ahq-pdp-ink3);
}

.ahq-pdp-care-text strong {
    display: block;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ahq-pdp-ink2);
    margin-bottom: 4px;
}

/* ── Product page tail: CTA + related ── */
.ahq-pdp-tail {
    width: 100%;
    margin-top: 0;
}

.ahq-pdp-tail-container {
    padding-bottom: clamp(28px, 4vw, 36px);
}

.ahq-pdp-footer-cta {
    width: 100%;
    max-width: 100%;
    background: var(--ahq-pdp-velvet);
    color: #fff;
    text-align: center;
    padding: 28px 32px;
    margin: 24px 0 0;
    position: relative;
    overflow: hidden;
    border-radius: 4px;
}

/* typography.css .ahq-mode-light h3/p forces dark text — lock light colors here */
body.ahq-product-page .ahq-pdp-footer-cta,
body.ahq-product-page .ahq-pdp-footer-cta .ahq-pdp-footer-cta-title,
body.ahq-product-page .ahq-pdp-footer-cta .ahq-pdp-footer-cta-title-main,
body.ahq-product-page .ahq-pdp-footer-cta .ahq-pdp-footer-cta-kicker,
body.ahq-product-page .ahq-pdp-footer-cta .ahq-pdp-footer-cta-text {
    color: #f8f4ec;
}

body.ahq-product-page .ahq-pdp-footer-cta .ahq-pdp-footer-cta-title em {
    color: var(--ahq-pdp-gd4);
}

.ahq-pdp-footer-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--ahq-pdp-gd2), var(--ahq-pdp-gd3), var(--ahq-pdp-gd2), transparent);
}

.ahq-pdp-footer-cta-inner {
    max-width: 680px;
    margin: 0 auto;
}

.ahq-pdp-footer-cta-star {
    display: block;
    color: var(--ahq-pdp-gd4);
    font-size: 1.25rem;
    line-height: 1;
    margin-bottom: 10px;
    text-shadow: 0 0 12px rgba(237, 212, 154, 0.45);
}

.ahq-pdp-footer-cta-kicker {
    display: block;
    margin: 0 0 12px;
    font-family: var(--font-body, 'Jost', sans-serif);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.ahq-pdp-footer-cta-title {
    font-family: var(--font-display, 'Cormorant Garamond', serif);
    font-size: clamp(1.65rem, 3.4vw, 2.25rem);
    font-weight: 400;
    line-height: 1.25;
    margin: 0 0 14px;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
}

.ahq-pdp-footer-cta-title-main {
    color: #fff;
}

.ahq-pdp-footer-cta-title em {
    font-style: italic;
    font-weight: 400;
    color: var(--ahq-pdp-gd4);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.ahq-pdp-footer-cta-text {
    font-family: var(--font-display, 'Cormorant Garamond', serif);
    font-size: 1.12rem;
    font-style: italic;
    font-weight: 400;
    line-height: 1.6;
    color: #f8f4ec;
    margin: 0 auto 24px;
    max-width: 520px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}

.ahq-pdp-btn-gold {
    display: inline-block;
    padding: 13px 40px;
    background: linear-gradient(110deg, var(--ahq-pdp-gd4), var(--ahq-pdp-gd2), var(--ahq-pdp-gd));
    color: var(--ahq-pdp-velvet);
    text-decoration: none;
    font-family: var(--font-body, 'Jost', sans-serif);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    border-radius: 2px;
    transition: opacity 0.2s, transform 0.2s;
}

.ahq-pdp-btn-gold:hover {
    opacity: 0.92;
    transform: translateY(-1px);
    color: var(--ahq-pdp-velvet);
}

.ahq-pdp-footer-cta-tags {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
}

.ahq-pdp-footer-cta-tags span {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: 4px 10px;
    border: 1px solid rgba(237, 212, 154, 0.45);
    color: var(--ahq-pdp-gd4);
}

/* Related products */
.ahq-pdp-related-wrap {
    width: 100%;
    background: #fff;
    border-top: 1px solid var(--ahq-pdp-line);
    padding: 0;
}

.ahq-pdp-related-wrap .related.products {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 clamp(1rem, 3vw, 1.5rem);
    width: 100%;
}

.ahq-pdp-related-wrap .related.products > h2 {
    font-family: var(--font-display, 'Cormorant Garamond', serif);
    font-size: clamp(1.35rem, 2.2vw, 1.65rem);
    font-weight: 300;
    text-align: center;
    letter-spacing: 0.02em;
    color: var(--ahq-pdp-ink);
    margin: 0 0 clamp(20px, 3vw, 28px);
    padding-bottom: 16px;
    border-bottom: 1px solid var(--ahq-pdp-line);
}

.ahq-pdp-related-wrap ul.products {
    gap: clamp(1rem, 2vw, 1.5rem) !important;
}

.ahq-pdp-related-wrap ul.products li.product .woocommerce-loop-product__title,
.ahq-pdp-related-wrap ul.products li.product h2 {
    font-family: var(--font-display, 'Cormorant Garamond', serif) !important;
    font-size: 0.95rem !important;
    font-weight: 400 !important;
    color: var(--ahq-pdp-ink) !important;
    padding: 0.75rem 0 0.35rem !important;
    line-height: 1.35 !important;
}

.ahq-pdp-related-wrap ul.products li.product .woocommerce-loop-product__title a {
    color: inherit !important;
    text-decoration: none !important;
}

.ahq-pdp-related-wrap ul.products li.product .price ins .woocommerce-Price-amount {
    color: var(--ahq-pdp-sale) !important;
}

.ahq-pdp-related-wrap ul.products li.product .price .woocommerce-Price-amount {
    font-size: 0.875rem !important;
}

.ahq-pdp-related-wrap ul.products li.product .product-category,
.ahq-pdp-related-wrap ul.products li.product .posted_in,
.ahq-pdp-related-wrap ul.products li.product .star-rating {
    display: none !important;
}

/* Product page → site footer spacing */
body.ahq-product-page .ahq-footer {
    margin-top: 0;
    background: var(--ahq-bg-secondary);
    border-top: none;
}

body.ahq-product-page .ahq-trust-bar {
    border-top: none;
}

body.ahq-product-page .ahq-footer-divider {
    padding-top: clamp(1rem, 2vw, 1.25rem);
}

@media (max-width: 1024px) {
    body.ahq-product-page .ahq-trust-bar {
        padding-top: 0;
        padding-bottom: 8px;
    }

    body.ahq-product-page .ahq-trust-bar-inner {
        gap: clamp(0.65rem, 2vw, 0.85rem);
    }
}

@media (max-width: 768px) {
    .ahq-pdp-tab-content {
        padding: 20px 0 0;
    }

    .ahq-pdp-quote {
        margin-top: 16px;
        margin-bottom: 0;
    }

    .ahq-pdp-tail-container > .ahq-complete-look {
        padding-top: 1rem;
        padding-bottom: 1.25rem;
    }

    .ahq-pdp-related-wrap .ahq-related {
        padding: 1rem 0 0;
    }

    .ahq-pdp-tail-container {
        padding-bottom: 0;
    }

    body.ahq-product-page .ahq-footer-divider {
        padding-top: 0.65rem;
        padding-bottom: 0.25rem;
    }

    /* footer 进入视口：购买条已隐藏，取消 body 底部留白 */
    body.ahq-product-page.has-mobile-bar.footer-in-view {
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
    }

    body.ahq-product-page.footer-in-view,
    body.ahq-product-page.footer-in-view #page {
        background-color: var(--ahq-bg-secondary) !important;
    }

    body.ahq-product-page.footer-in-view .ahq-footer-bottom {
        padding-bottom: calc(0.5rem + env(safe-area-inset-bottom, 0px));
    }
}

/* Size guide modal */
.ahq-pdp-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 2000;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.ahq-pdp-modal.is-open {
    display: flex;
}

.ahq-pdp-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
}

.ahq-pdp-modal-panel {
    position: relative;
    background: #fff;
    border-radius: 6px;
    padding: 32px;
    max-width: 600px;
    width: 100%;
    max-height: 80vh;
    overflow-y: auto;
}

.ahq-pdp-modal-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.ahq-pdp-modal-head h3 {
    font-family: var(--font-display, 'Cormorant Garamond', serif);
    font-size: 1.3rem;
    font-weight: 300;
    margin: 0;
}

.ahq-pdp-modal-close {
    border: none;
    background: none;
    font-size: 20px;
    cursor: pointer;
    color: var(--ahq-pdp-ink3);
}

.ahq-pdp-size-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.ahq-pdp-size-table th,
.ahq-pdp-size-table td {
    padding: 8px;
    text-align: left;
    border-bottom: 1px solid var(--ahq-pdp-line);
}

.ahq-pdp-size-table th {
    font-size: 10px;
    letter-spacing: 0.1em;
    color: var(--ahq-pdp-ink4);
}

.ahq-pdp-size-table tr.is-highlight {
    background: var(--ahq-pdp-cream);
}

.ahq-pdp-size-tip {
    font-size: 10px;
    color: var(--ahq-pdp-ink4);
    margin-top: 14px;
    line-height: 1.5;
}

.ahq-pdp-size-prompt {
    font-size: 12px;
    color: var(--ahq-pdp-ink2, #3d3328);
    margin: 12px 0 0;
    line-height: 1.5;
}

.ahq-pdp-size-more {
    margin: 12px 0 0;
    font-size: 12px;
}

.ahq-pdp-size-more a {
    color: inherit;
    text-underline-offset: 3px;
}

@media (max-width: 1024px) {
    .ahq-pdp-section {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 16px 0 24px;
        align-items: start;
    }

    .ahq-pdp-title {
        font-size: clamp(1.32rem, 3.8vw, 1.62rem);
        line-height: 1.18;
    }

    .ahq-pdp-subtitle {
        font-size: clamp(0.72rem, 2.6vw, 0.8rem);
        line-height: 1.42;
    }

    .ahq-pdp-hero-lead {
        gap: clamp(0.3rem, 1vw, 0.45rem);
    }

    .ahq-pdp-gallery--legacy {
        flex-direction: column-reverse;
        gap: 10px;
    }

    .ahq-pdp-gallery-thumbs--vertical {
        flex-direction: row;
        flex-wrap: nowrap;
        width: 100%;
        max-height: none;
        overflow-x: auto;
        overflow-y: hidden;
        flex: none;
    }

    .ahq-pdp-gallery-thumb {
        width: 64px;
        height: 64px;
    }

    .ahq-pdp-gallery-nav {
        opacity: 1;
    }

    .ahq-pdp-gallery-main {
        aspect-ratio: 1 / 1;
    }

    .ahq-pdp-ugc {
        margin-top: 20px;
        padding-top: 14px;
    }

    .ahq-pdp-ugc-slide {
        flex: 0 0 calc((100% - 10px) / 2);
    }

    .ahq-pdp-ugc-head {
        margin-bottom: 10px;
    }

    .ahq-pdp-ugc-title {
        font-size: 1.05rem;
        letter-spacing: 0.1em;
    }

    .ahq-pdp-ugc-lead,
    .ahq-pdp-ugc-tag {
        font-size: 10px;
    }

    .ahq-pdp-ugc-upload {
        width: 100%;
    }

    .ahq-pdp-trust-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ahq-pdp-craft-grid,
    .ahq-pdp-why-grid,
    .ahq-pdp-styling-grid,
    .ahq-pdp-care-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ahq-pdp-delivery-grid,
    .ahq-pdp-trust-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .ahq-pdp-secure-note {
        margin-left: 0;
        width: 100%;
    }
}

@media (max-width: 640px) {
    body.ahq-product-page {
        padding-top: var(--ahq-header-height-mobile, 56px);
    }

    body.admin-bar.ahq-product-page {
        padding-top: calc(var(--ahq-admin-bar-height, 46px) + var(--ahq-header-height-mobile, 56px));
    }

    .ahq-pdp-container {
        padding-left: max(1rem, env(safe-area-inset-left, 0px));
        padding-right: max(1rem, env(safe-area-inset-right, 0px));
    }

    .ahq-pdp-title {
        font-size: clamp(1.22rem, 4.6vw, 1.45rem);
        line-height: 1.2;
    }

    .ahq-pdp-subtitle {
        font-size: clamp(0.7rem, 2.8vw, 0.76rem);
    }

    .ahq-pdp-hero-lead {
        gap: 0.3rem;
    }

    .ahq-pdp-delivery-grid {
        grid-template-columns: 1fr;
    }

    /* 手机端：信任徽章 2×2，节省纵向空间 */
    .ahq-pdp-trust-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding: 10px 0;
    }

    .ahq-pdp-trust-card {
        padding: 2px 4px;
        gap: 3px;
    }

    .ahq-pdp-trust-card-icon {
        width: 30px;
        height: 30px;
    }

    .ahq-pdp-trust-card-icon svg {
        width: 16px;
        height: 16px;
    }

    .ahq-pdp-trust-card-title {
        font-size: 10px;
        letter-spacing: 0.04em;
    }

    .ahq-pdp-trust-card-text {
        font-size: 9px;
        line-height: 1.3;
    }

    /* 支付方式 + SSL 同一行紧凑排列 */
    .ahq-pdp-payment-bar {
        flex-wrap: nowrap;
        align-items: flex-start;
        gap: 8px;
        padding: 8px 0;
    }

    .ahq-pdp-payment-bar-label {
        font-size: 10px;
        line-height: 1.6;
        padding-top: 3px;
    }

    .ahq-pdp-payment-bar-items {
        display: flex;
        flex: 1;
        flex-wrap: wrap;
        align-items: center;
        gap: 5px;
        min-width: 0;
    }

    .ahq-pdp-payment-badge {
        padding: 3px 7px;
        font-size: 9px;
        line-height: 1.2;
    }

    .ahq-pdp-secure-note {
        margin-left: 0;
        width: auto;
        flex: 0 1 auto;
        padding: 3px 7px;
        border: 1px solid rgba(46, 125, 96, 0.28);
        border-radius: 3px;
        background: rgba(46, 125, 96, 0.06);
        font-size: 9px;
        line-height: 1.2;
        white-space: nowrap;
    }
}

@media (max-width: 560px) {
    .ahq-pdp-craft-grid,
    .ahq-pdp-why-grid,
    .ahq-pdp-styling-grid,
    .ahq-pdp-care-grid {
        grid-template-columns: 1fr;
    }

    .ahq-pdp-modal-panel {
        padding: 1.25rem;
        max-height: 90vh;
    }
}

/* ── Mobile sticky add-to-cart bar ── */
.ahq-pdp-mobile-bar {
    display: none;
}

@media (max-width: 480px) {
    .ahq-pdp-cart-toolbar {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px;
        padding: 6px 8px;
        min-height: 0;
    }

    .ahq-pdp-cart-toolbar__actions {
        width: auto;
        flex: 0 0 auto;
        justify-content: flex-start;
        padding-bottom: 0;
    }

    .ahq-pdp-cart-toolbar__meta {
        flex: 1 1 120px;
        min-width: 0;
        align-items: center;
        text-align: right;
        padding-left: 4px;
        padding-top: 0;
        border-top: none;
    }

    .ahq-pdp-cart-toolbar__meta-inner,
    .ahq-pdp-toolbar-ready-line,
    .ahq-pdp-toolbar-detail {
        align-items: center;
        justify-content: flex-end;
    }

    .ahq-pdp-toolbar-ready-line {
        flex-wrap: nowrap;
        gap: 6px;
    }

    .ahq-pdp-toolbar-stock-tag {
        padding: 2px 6px;
        font-size: 10px;
    }

    .ahq-pdp-toolbar-selection {
        font-size: 11px;
    }

    .ahq-pdp-purchase .woocommerce-variation-add-to-cart.ahq-pdp-cart-row--b2 .single_add_to_cart_button {
        font-size: 11px !important;
        letter-spacing: 0.08em !important;
        padding: 0 12px !important;
    }
}

@media (max-width: 768px) {
    body.ahq-product-page.has-mobile-bar {
        padding-bottom: calc(52px + env(safe-area-inset-bottom, 0px));
    }

    .ahq-pdp-mobile-bar {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1200;
        background: #fff;
        border-top: 1px solid var(--ahq-pdp-line);
        box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.06);
        transform: translateY(110%);
        transition: transform 0.24s ease;
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }

    .ahq-pdp-mobile-bar.is-visible {
        transform: translateY(0);
    }

    .ahq-pdp-mobile-bar-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        min-height: 52px;
        padding: 0.4rem max(0.75rem, env(safe-area-inset-left, 0px)) 0.42rem max(0.75rem, env(safe-area-inset-right, 0px));
    }

    .ahq-pdp-mobile-bar-meta {
        flex: 0 1 auto;
        min-width: 0;
        max-width: 38%;
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .ahq-pdp-mobile-bar-price {
        font-family: var(--font-price, 'Lato', sans-serif);
        font-size: 0.92rem;
        font-weight: 700;
        color: var(--ahq-pdp-ink);
        line-height: 1.15;
        white-space: nowrap;
    }

    .ahq-pdp-mobile-bar-price del {
        font-size: 0.72rem;
        color: var(--ahq-pdp-ink4);
        margin-right: 0.3rem;
    }

    .ahq-pdp-mobile-bar-price ins {
        text-decoration: none;
    }

    .ahq-pdp-mobile-bar-title {
        display: none;
    }

    .ahq-pdp-mobile-bar-actions {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 0.42rem;
        flex: 1 1 auto;
        min-width: 0;
    }

    .ahq-pdp-mobile-bar-btn {
        flex: 0 1 auto;
        width: auto;
        min-width: 0;
        height: 36px;
        padding: 0 0.72rem;
        border-radius: 2px;
        font-family: var(--font-body, 'Jost', sans-serif);
        font-size: 0.58rem;
        font-weight: 600;
        letter-spacing: 0.07em;
        text-transform: uppercase;
        cursor: pointer;
        transition: transform 0.18s ease, opacity 0.18s ease;
        white-space: nowrap;
    }

    .ahq-pdp-mobile-bar-btn--cart {
        border: none;
        background: var(--ahq-pdp-velvet);
        color: #fff;
    }

    .ahq-pdp-mobile-bar-btn--buy {
        border: none;
        background: transparent;
        color: var(--ahq-pdp-ink);
        padding: 0 0.35rem;
        letter-spacing: 0.06em;
        text-decoration: underline;
        text-underline-offset: 2px;
    }

    .ahq-pdp-mobile-bar-btn:hover:not(:disabled) {
        transform: translateY(-1px);
        filter: saturate(1.05);
    }

    .ahq-pdp-mobile-bar-btn:active:not(:disabled) {
        transform: translateY(0);
    }

    .ahq-pdp-mobile-bar-btn:disabled {
        opacity: 0.45;
        cursor: not-allowed;
    }

    .ahq-pdp-mobile-bar-btn.is-loading {
        opacity: 0.7;
        pointer-events: none;
    }

    .ahq-pdp-back-top {
        position: fixed;
        right: max(0.72rem, env(safe-area-inset-right, 0px));
        bottom: calc(58px + env(safe-area-inset-bottom, 0px));
        z-index: 1195;
        width: 40px;
        height: 40px;
        border: 1px solid rgba(26, 21, 9, 0.12);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.96);
        color: var(--ahq-pdp-ink);
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        opacity: 0;
        visibility: hidden;
        transform: translateY(8px);
        transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
    }

    .ahq-pdp-back-top.is-visible {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .ahq-pdp-back-top:active {
        transform: translateY(1px);
    }

    body.ahq-product-page.purchase-bar-visible:not(.footer-in-view) .ahq-pdp-back-top {
        bottom: calc(58px + env(safe-area-inset-bottom, 0px));
    }

    body.ahq-product-page.footer-in-view .ahq-pdp-back-top,
    body.ahq-product-page:not(.purchase-bar-visible) .ahq-pdp-back-top {
        bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px));
    }

    .ahq-vi,
    .ahq-pdp-detail-frame,
    .ahq-pdp-section {
        scroll-margin-top: calc(var(--ahq-header-height-mobile, 56px) + 10px);
    }
}

/* ═══ E3 · 紧凑购买区 + 快捷支付并排（预览布局） ═══ */

.ahq-pdp-purchase.ahq-pdp-layout-e3 form.variations_form.cart {
    gap: 8px;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 table.variations {
    margin: 0;
    width: 100%;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 table.variations tbody {
    gap: 8px;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 table.variations tr {
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 table.variations th,
.ahq-pdp-purchase.ahq-pdp-layout-e3 table.variations td {
    display: block;
    width: 100%;
    flex: none;
    max-width: none;
    padding: 0;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 table.variations th label {
    display: block;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ahq-pdp-ink, #1a1410);
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .variations select,
.ahq-pdp-purchase.ahq-pdp-layout-e3 .variations .value select {
    width: 100%;
    max-width: none;
    min-height: 40px;
    padding: 8px 12px;
    font-size: 13px;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .single_variation_wrap {
    margin: 0;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .single_variation_wrap > .woocommerce-variation {
    display: none !important;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .reset_variations {
    display: inline-block;
    margin: 4px 0 0;
    font-size: 11px;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-variation-hint {
    display: none !important;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .woocommerce-variation-add-to-cart.ahq-pdp-cart-row--b2 {
    gap: 8px;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .single_add_to_cart_button {
    min-height: 44px !important;
    height: 44px;
    font-size: 12px !important;
    letter-spacing: 0.1em !important;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split {
    --ahq-express-btn-h: 48px;
    --ahq-express-btn-radius: 4px;
    display: grid;
    gap: 8px;
    margin-top: 8px;
    grid-template-columns: 1fr;
    grid-template-areas:
        "label"
        "crypto"
        "paypal";
    align-items: center;
    overflow: visible;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split::before {
    content: 'Express checkout';
    grid-area: label;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ahq-pdp-ink3);
    line-height: 1;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split > .ahq-pdp-btn-crypto,
.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split > .wc-ppcp-product-payments__container {
    width: 100%;
    margin: 0 !important;
    padding: 0;
    box-sizing: border-box;
    align-self: center;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split > .ahq-pdp-btn-crypto {
    grid-area: crypto;
    height: var(--ahq-express-btn-h) !important;
    min-height: var(--ahq-express-btn-h) !important;
    max-height: var(--ahq-express-btn-h) !important;
    border-radius: var(--ahq-express-btn-radius);
    flex-shrink: 0;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split > .wc-ppcp-product-payments__container {
    grid-area: paypal;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    min-height: 0;
    height: auto;
    overflow: visible;
    border-radius: var(--ahq-express-btn-radius);
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split .ahq-pdp-btn-crypto {
    height: var(--ahq-express-btn-h) !important;
    min-height: var(--ahq-express-btn-h) !important;
    max-height: var(--ahq-express-btn-h) !important;
    border-radius: var(--ahq-express-btn-radius);
    font-size: 11px;
    letter-spacing: 0.06em;
    padding: 0 10px;
    line-height: 1;
    box-sizing: border-box;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split .ahq-pdp-btn-crypto svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split .wc-ppcp-product-payment__methods,
.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split .wc-ppcp-product-payment__methods > li {
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%;
    height: auto;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split .wc-ppcp-product-payments__container {
    margin: 0 !important;
    width: 100% !important;
    min-width: 0;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split .wc-ppcp-product-button-container,
.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split .paypal-buttons,
.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split div[class*="paypal-buttons"] {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
    overflow: visible !important;
    min-height: 0;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split .wc-ppcp-product-payments__container iframe {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
    overflow: visible !important;
    max-height: none !important;
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split:not(.ahq-paypal-ready) > .wc-ppcp-product-payments__container:not(:has(iframe)) {
    position: relative;
    min-height: var(--ahq-express-btn-h);
    background: linear-gradient(90deg, #f3f3f3 25%, #ececec 50%, #f3f3f3 75%);
    background-size: 200% 100%;
    animation: ahq-paypal-skeleton 1.2s ease-in-out infinite;
    border-radius: var(--ahq-express-btn-radius);
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split > .wc-ppcp-product-payments__container:has(iframe) {
    min-height: 0;
    background: none;
    animation: none;
}

@keyframes ahq-paypal-skeleton {
    0% { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}

.ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-size-helper {
    margin-top: 4px;
    font-size: 10px;
}

@media (min-width: 768px) {
    .ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-areas:
            "label label"
            "crypto paypal";
        column-gap: 8px;
        row-gap: 8px;
        align-items: center;
    }

    .ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split > .ahq-pdp-btn-crypto,
    .ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split > .wc-ppcp-product-payments__container {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 767px) {
    .ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split {
        grid-template-columns: 1fr;
        grid-template-areas:
            "label"
            "crypto"
            "paypal";
    }

    .ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split > .ahq-pdp-btn-crypto,
    .ahq-pdp-purchase.ahq-pdp-layout-e3 .ahq-pdp-pay-stack--split > .wc-ppcp-product-payments__container {
        width: 100%;
    }
}

/* 640px 以下：移动底部导航栏可见，PDP 加车栏固定在其正上方 */
@media (max-width: 640px) {
    html:has(body.ahq-product-page) {
        scroll-padding-top: var(--ahq-header-height-mobile, 56px);
    }

    .ahq-pdp-mobile-bar {
        bottom: calc(60px + env(safe-area-inset-bottom, 0px));
        padding-bottom: 0;
    }

    .ahq-pdp-back-top {
        bottom: calc(60px + 58px + env(safe-area-inset-bottom, 0px));
    }

    body.ahq-product-page.purchase-bar-visible:not(.footer-in-view) .ahq-pdp-back-top {
        bottom: calc(60px + 58px + env(safe-area-inset-bottom, 0px));
    }

    body.ahq-product-page.footer-in-view .ahq-pdp-back-top,
    body.ahq-product-page:not(.purchase-bar-visible) .ahq-pdp-back-top {
        bottom: calc(60px + 0.75rem + env(safe-area-inset-bottom, 0px));
    }

    body.ahq-product-page.has-mobile-bar {
        padding-bottom: calc(60px + 52px + env(safe-area-inset-bottom, 0px));
    }
}

/* ═══════════════════════════════════════════════════════
   产品卡片共用组件（ahq-pc-*）
   规则已写死：任何商品的图片尺寸/标题长度/价格格式差异
   都由固定尺寸 + 自动空隙吸收，卡片永远像素级等高对齐。
   使用方：You May Also Like / Recently Viewed / 交叉销售 / Wishlist
═══════════════════════════════════════════════════════ */

.ahq-pc-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    align-items: stretch; /* 写死：同行卡片强制等高 */
    list-style: none;
    margin: 0;
    padding: 0;
}

.ahq-pc-grid--6 { grid-template-columns: repeat(6, 1fr); }

@media (max-width: 1100px) {
    .ahq-pc-grid--6 { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 1024px) {
    .ahq-pc-grid, .ahq-pc-grid--4 { grid-template-columns: repeat(2, 1fr); }
    .ahq-pc-grid--6 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 540px) {
    .ahq-pc-grid--6 { grid-template-columns: repeat(2, 1fr); }
}

/* 写死：网格项拉伸 + 卡片纵向弹性列 */
.ahq-pc-item {
    display: flex;
    min-width: 0;
    height: 100%;
}

.ahq-pc-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: #fff;
    border: 1px solid rgba(26, 21, 9, 0.08);
    border-radius: 4px;
    overflow: hidden;
    transition: box-shadow .2s ease;
}
.ahq-pc-card:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
}

/* 写死：媒体区恒为正方形，图片绝对定位填充
   —— 商品图无论什么比例/尺寸都不影响卡片高度 */
.ahq-pc-media {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f5f0e8;
}

.ahq-pc-media-link {
    display: block;
    position: absolute;
    inset: 0;
}

.ahq-pc-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}
.ahq-pc-card:hover .ahq-pc-img {
    transform: scale(1.04);
}

.ahq-pc-img--placeholder {
    background: #ede8df;
}

.ahq-pc-quickview-btn {
    position: absolute;
    bottom: .5rem;
    right: .5rem;
    z-index: 2;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(0, 0, 0, .1);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .2s ease, transform .2s ease;
    color: #1a1509;
}
.ahq-pc-card:hover .ahq-pc-quickview-btn,
.ahq-pc-item:focus-within .ahq-pc-quickview-btn {
    opacity: 1;
    transform: translateY(0);
}

/* 卡片信息区：弹性列，价格吸底 */
.ahq-pc-body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: .85rem 1rem 1rem;
    text-align: left;
}

/* 写死：分类标签恒占 1 行（无分类也保留节奏） */
.ahq-pc-cat {
    display: block;
    height: 1.35em;
    line-height: 1.35;
    overflow: hidden;
    white-space: nowrap;
    font-size: .7rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #a8813a;
    margin-bottom: .3rem;
}

/* 写死：标题恒占 2 行——1 行的补空位、3 行的截断省略 */
.ahq-pc-title {
    font-family: var(--font-display, 'Bodoni Moda', serif);
    font-size: .93rem;
    font-weight: 400;
    margin: 0 0 .4rem;
    line-height: 1.38;
    height: 2.76em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ahq-pc-title a {
    color: #1a1509;
    text-decoration: none;
}
.ahq-pc-title a:hover {
    color: #a8813a;
}

/* 写死：价格恒占 1 行 + 吸底，原价/现价强制同行 */
.ahq-pc-price {
    margin-top: auto;
    padding-top: .4rem;
    min-height: 1.8em;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    box-sizing: content-box;
    font-size: .9rem;
    color: #1a1509;
    display: flex;
    align-items: baseline;
    gap: .35em;
}

.ahq-pc-price del,
.ahq-pc-price ins {
    display: inline; /* 防 WooCommerce 块级换行撑高 */
}
.ahq-pc-price del {
    color: #9a8e84;
    margin-right: .35em;
}
.ahq-pc-price ins {
    text-decoration: none;
    font-weight: 600;
}

/* 屏幕阅读器文本绝不参与布局 */
.ahq-pc-price .screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

.ahq-pc-atc {
    display: inline-block;
    margin-top: .65rem;
    padding: .45rem .9rem;
    font-size: .8rem;
    text-decoration: none;
}

/* ═══ 推荐区 Section 包装（complete / related / recently-viewed 共用） ═══ */

.ahq-complete-look,
.ahq-related,
.ahq-recently-viewed {
    padding: clamp(2.5rem, 5vw, 4rem) 0;
}

.ahq-complete-look-inner,
.ahq-related-inner,
.ahq-recently-viewed-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 clamp(1rem, 3vw, 2rem);
}

.ahq-complete-look-head,
.ahq-related-head,
.ahq-recently-viewed-head {
    margin-bottom: 1.75rem;
}

.ahq-section-eyebrow {
    display: block;
    font-size: .75rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #a8813a;
    margin-bottom: .4rem;
}

.ahq-complete-look-head h2,
.ahq-related-head h2,
.ahq-recently-viewed-head h2 {
    font-family: var(--font-display, 'Bodoni Moda', serif);
    font-size: clamp(1.4rem, 2.5vw, 1.9rem);
    font-weight: 400;
    margin: 0;
    color: #1a1509;
}

/* complete-look 外层 wrap 的留白交给内部 section */
.ahq-pdp-tail-container > .ahq-complete-look {
    padding: clamp(36px, 5vw, 48px) 0 clamp(28px, 4vw, 40px);
}

/* related 外层 wrap 的留白交给内部 section */
.ahq-pdp-related-wrap .ahq-related {
    padding: clamp(24px, 4vw, 36px) 0 clamp(16px, 3vw, 24px);
}

/* 价格文字统一：无论 sale/regular 都使用同一字号与行高 */
.ahq-pc-price .woocommerce-Price-amount,
.ahq-pc-price ins .woocommerce-Price-amount,
.ahq-pc-price del .woocommerce-Price-amount {
    font-size: inherit;
    line-height: inherit;
}

/* 强制统一 Complete the Look / Recently Viewed 标题与卡片文字 */
.ahq-complete-look .ahq-section-eyebrow,
.ahq-recently-viewed .ahq-section-eyebrow {
    font-size: .74rem !important;
    letter-spacing: .18em !important;
    line-height: 1.2 !important;
}

.ahq-complete-look-head h2,
.ahq-recently-viewed-head h2 {
    font-family: var(--font-display, 'Bodoni Moda', serif) !important;
    font-size: clamp(2rem, 3.2vw, 2.5rem) !important;
    font-weight: 500 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
}

.ahq-complete-look .ahq-pc-cat,
.ahq-recently-viewed .ahq-pc-cat {
    font-size: .72rem !important;
    letter-spacing: .1em !important;
    line-height: 1.35 !important;
    height: 1.35em !important;
}

.ahq-complete-look .ahq-pc-title,
.ahq-recently-viewed .ahq-pc-title {
    font-size: .93rem !important;
    line-height: 1.38 !important;
    height: 2.76em !important;
    margin: 0 0 .4rem !important;
}

.ahq-complete-look .ahq-pc-price,
.ahq-recently-viewed .ahq-pc-price {
    font-size: .9rem !important;
    line-height: 1.4 !important;
    min-height: 1.8em !important;
}

/* 两个区块的网格与卡片高度再统一一次，避免上下看起来不齐 */
.ahq-complete-look .ahq-pc-grid,
.ahq-recently-viewed .ahq-pc-grid {
    align-items: stretch !important;
}

.ahq-complete-look .ahq-pc-card,
.ahq-recently-viewed .ahq-pc-card {
    height: 100% !important;
}

/* ── PDP rating + reviews tab ── */
.ahq-pdp-rating-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem 1rem;
    margin: 0;
}

.ahq-pdp-rating-wrap:empty {
    display: none;
}

.ahq-pdp-rating-wrap .star-rating {
    margin: 0;
}

.ahq-pdp-rating-link {
    font-size: .78rem;
    letter-spacing: .04em;
    color: rgba(26, 21, 9, .65);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ahq-pdp-tab-count {
    font-size: .85em;
    opacity: .75;
}

.ahq-pdp-reviews .commentlist {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ahq-pdp-reviews {
    background: var(--ahq-pdp-cream, #faf7f2);
    border: 1px solid rgba(26, 21, 9, 0.06);
    border-radius: 6px;
    padding: 24px 28px;
}

.ahq-pdp-reviews .woocommerce-Reviews-title,
.ahq-pdp-reviews #reviews > .woocommerce-Reviews > #comments > h2 {
    display: none;
}

.ahq-pdp-reviews .woocommerce-noreviews {
    margin: 0 0 1.25rem;
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px dashed rgba(168, 129, 58, 0.35);
    border-radius: 6px;
    font-size: 12px;
    color: var(--ahq-pdp-ink3, #6f6047);
    text-align: center;
}

.ahq-pdp-reviews .comment-reply-title {
    margin: 0 0 1rem;
    font-family: var(--font-display, 'Cormorant Garamond', serif);
    font-size: 1.15rem;
    font-weight: 400;
    line-height: 1.45;
    color: var(--ahq-pdp-ink, #1a1509);
}

.ahq-pdp-reviews .comment-reply-title em {
    font-style: italic;
    color: var(--ahq-pdp-gd, #a8813a);
}

.ahq-pdp-reviews .comment-form {
    margin-top: 0;
}

.ahq-pdp-reviews .comment-notes {
    margin: 0 0 1rem;
    font-size: 11px;
    line-height: 1.5;
    color: var(--ahq-pdp-ink4, #9a9080);
}

.ahq-pdp-reviews .comment-form-rating {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 10px 14px;
    margin: 0 0 1rem;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid rgba(26, 21, 9, 0.08);
    border-radius: 6px;
}

.ahq-pdp-reviews .comment-form-rating label {
    margin: 0;
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ahq-pdp-ink, #1a1509);
    white-space: nowrap;
}

.ahq-pdp-reviews .comment-form-rating .ahq-review-rating-select,
.ahq-pdp-reviews .comment-form-rating select#rating {
    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;
    white-space: nowrap !important;
    border: 0 !important;
}

.ahq-pdp-reviews .ahq-review-stars {
    display: inline-flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 4px;
    margin-left: auto;
}

.ahq-pdp-reviews .ahq-review-star {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    line-height: 1;
    cursor: pointer;
    color: #d8ccb8;
    font-size: 1.45rem;
    transition: color 0.15s ease, transform 0.15s ease;
}

.ahq-pdp-reviews .ahq-review-star span {
    display: block;
}

.ahq-pdp-reviews .ahq-review-star.is-on {
    color: var(--ahq-pdp-gd, #a8813a);
}

.ahq-pdp-reviews .ahq-review-star:focus-visible {
    outline: 2px solid var(--ahq-pdp-gd, #a8813a);
    outline-offset: 2px;
    border-radius: 2px;
}

.ahq-pdp-reviews .comment-form p,
.ahq-pdp-reviews .comment-form .comment-form-field-input-author,
.ahq-pdp-reviews .comment-form .comment-form-field-input-email,
.ahq-pdp-reviews .comment-form .comment-form-field-textarea {
    margin: 0 0 12px;
}

.ahq-pdp-reviews .comment-form label {
    display: block;
    margin: 0 0 6px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ahq-pdp-ink, #1a1509);
}

.ahq-pdp-reviews .comment-form input[type="text"],
.ahq-pdp-reviews .comment-form input[type="email"],
.ahq-pdp-reviews .comment-form textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid rgba(26, 21, 9, 0.12);
    border-radius: 4px;
    background: #fff;
    font-family: var(--font-body, 'Jost', sans-serif);
    font-size: 14px;
    color: var(--ahq-pdp-ink, #1a1509);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ahq-pdp-reviews .comment-form input:focus,
.ahq-pdp-reviews .comment-form textarea:focus {
    outline: none;
    border-color: var(--ahq-pdp-gd, #a8813a);
    box-shadow: 0 0 0 3px rgba(168, 129, 58, 0.12);
}

.ahq-pdp-reviews .comment-form textarea {
    min-height: 120px;
    resize: vertical;
}

.ahq-pdp-reviews .comment-form-cookies-consent {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 14px !important;
    font-size: 11px;
    line-height: 1.45;
    color: var(--ahq-pdp-ink3, #6f6047);
}

.ahq-pdp-reviews .comment-form-cookies-consent input {
    margin-top: 2px;
}

.ahq-pdp-reviews .form-submit {
    margin: 0;
}

.ahq-pdp-reviews .form-submit .submit {
    appearance: none;
    border: 0;
    border-radius: 4px;
    padding: 12px 28px;
    background: linear-gradient(180deg, #bf9a4e 0%, #a8813a 100%);
    color: #fff;
    font-family: var(--font-body, 'Jost', sans-serif);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.ahq-pdp-reviews .form-submit .submit:hover {
    opacity: 0.92;
    transform: translateY(-1px);
}

.ahq-pdp-reviews .commentlist .comment {
    padding: 16px 0;
    border-bottom: 1px solid rgba(26, 21, 9, 0.08);
}

.ahq-pdp-reviews .commentlist .comment:last-child {
    border-bottom: 0;
}

@media (min-width: 768px) {
    .ahq-pdp-reviews .comment-form.has-labels-outside {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0 16px;
    }

    .ahq-pdp-reviews .comment-form-rating,
    .ahq-pdp-reviews .comment-notes,
    .ahq-pdp-reviews .ahq-review-photo-upload,
    .ahq-pdp-reviews .comment-form-field-textarea,
    .ahq-pdp-reviews .comment-form-cookies-consent,
    .ahq-pdp-reviews .form-submit {
        grid-column: 1 / -1;
    }
}

.ahq-pdp-reviews .ahq-review-photo-upload,
.ahq-pdp-reviews .cr-upload-local-images {
    margin: 0 0 1rem;
    padding: 14px 16px;
    background: #fff;
    border: 1px dashed rgba(168, 129, 58, 0.38);
    border-radius: 6px;
}

.ahq-pdp-reviews .cr-upload-images-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 10px;
}

.ahq-pdp-reviews .cr-upload-images-preview .cr-upload-images-containers {
    width: 76px;
    height: 76px;
    margin: 0;
    border-radius: 4px;
    overflow: hidden;
    border: 1px solid rgba(26, 21, 9, 0.1);
}

.ahq-pdp-reviews .cr-upload-images-preview .cr-upload-images-thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1;
}

.ahq-pdp-reviews .cr-upload-images-status {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    margin: 0 !important;
    padding: 10px 14px !important;
    border-radius: 4px;
    background: rgba(168, 129, 58, 0.08);
    color: var(--ahq-pdp-gd, #a8813a) !important;
    font-size: 11px !important;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.2s ease;
}

.ahq-pdp-reviews .cr-upload-images-status::before {
    content: "+";
    font-size: 1rem;
    line-height: 1;
}

.ahq-pdp-reviews .cr-upload-images-status:hover {
    background: rgba(168, 129, 58, 0.14);
}

.ahq-pdp-reviews .cr-upload-images-status.cr-upload-images-status-error {
    background: rgba(220, 53, 69, 0.1) !important;
    color: #b42318 !important;
}

.ahq-pdp-reviews .cr-upload-local-images #cr_review_image {
    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;
    white-space: nowrap !important;
    border: 0 !important;
}

.ahq-pdp-reviews .cr-upload-images-preview .cr-upload-images-delete {
    background: rgba(26, 21, 9, 0.72);
    border: 0;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    padding: 0;
    top: 4px;
    right: 4px;
}

.ahq-pdp-reviews .cr-upload-images-preview .cr-upload-images-delete .cr-no-icon {
    fill: #fff;
}

.ahq-pdp-reviews .cr-comment-images {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 0;
}

.ahq-pdp-reviews .cr-comment-images .iv-comment-image img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid rgba(26, 21, 9, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ahq-pdp-reviews .cr-comment-images .iv-comment-image a:hover img {
    transform: scale(1.03);
    box-shadow: 0 4px 12px rgba(26, 21, 9, 0.12);
}

/* ── Journal internal links ── */
.ahq-pdp-journal {
    margin-top: 2.5rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(26, 21, 9, .08);
}

.ahq-pdp-journal-list {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
    display: grid;
    gap: .75rem;
}

.ahq-pdp-journal-list a {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem 1rem;
    border: 1px solid rgba(26, 21, 9, .08);
    border-radius: 4px;
    text-decoration: none;
    color: inherit;
}

.ahq-pdp-journal-list a:hover {
    border-color: rgba(168, 129, 58, .35);
}

.ahq-pdp-journal-title {
    font-weight: 500;
}

.ahq-pdp-journal-meta {
    font-size: .78rem;
    color: rgba(26, 21, 9, .55);
    white-space: nowrap;
}

.ahq-pdp-journal-all {
    font-size: .78rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #a8813a;
    text-decoration: none;
}

@media (max-width: 1100px) {
    .ahq-vi-head {
        flex-direction: column;
    }

    .ahq-vi-meta {
        align-items: flex-start;
    }

    .ahq-vi-market,
    .ahq-vi-breakdown {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .ahq-vi {
        padding: 10px;
        margin-bottom: 16px;
    }

    .ahq-vi-title {
        font-size: 1.4rem;
    }

    .ahq-vi-candles {
        min-height: 188px;
    }

    .ahq-vi-chart {
        min-height: 0;
    }

    .ahq-vi-chart-head {
        padding: 6px 8px;
        gap: 6px;
    }

    .ahq-vi-chart-head .pair,
    .ahq-vi-chart-head .mark {
        font-size: 11px;
    }

    .ahq-vi-side {
        padding: 8px;
        gap: 6px;
    }

    .ahq-vi-side-stat,
    .ahq-vi-depth .row {
        font-size: 11px;
    }

    .ahq-vi-depth {
        padding: 6px;
    }

    .ahq-vi-hover-status {
        font-size: 10px;
    }

    .ahq-vi-macd-readout {
        right: 6px;
        bottom: 20px;
        font-size: 9px;
        padding: 3px 5px;
        gap: 4px;
    }
}

@media (max-width: 1024px), (hover: none) {
    .ahq-pc-card:hover .ahq-pc-img {
        transform: none;
    }
}

/* ══════════════════════════════════════════════════════
   Meaning · Energy · Gift Intention  —  Ivory Luxe edition
══════════════════════════════════════════════════════ */
.ahq-meaning {
    --ahqm-gold: var(--ahq-gold, #a8813a);
    --ahqm-gold-light: var(--ahq-gold-light, #bf9a4e);
    --ahqm-gold-dark: var(--ahq-gold-dark, #8a6508);
    --ahqm-gold-soft: rgba(168, 129, 58, 0.14);
    --ahqm-emerald: var(--ahq-emerald, #2a9068);
    --ahqm-velvet: #171009;
    --ahqm-ink: var(--ahq-text-primary, #1a1509);
    --ahqm-ink2: var(--ahq-text-secondary, #473a26);
    --ahqm-ink3: var(--ahq-text-muted, #8a7254);
    --ahqm-line: rgba(26, 21, 9, 0.09);

    position: relative;
    margin: 34px 0 30px;
    padding: clamp(22px, 3vw, 44px);
    border: 1px solid var(--ahq-border-gold, rgba(168, 129, 58, 0.22));
    border-radius: var(--ahq-radius-lg, 12px);
    background:
        radial-gradient(120% 90% at 100% 0%, rgba(191, 154, 78, 0.10), transparent 46%),
        radial-gradient(90% 70% at 0% 100%, rgba(42, 144, 104, 0.06), transparent 50%),
        linear-gradient(158deg, #fdfbf6 0%, #f6f1e8 60%, #f1eadd 100%);
    color: var(--ahqm-ink);
    overflow: hidden;
}

/* 顶部金色发丝线 */
.ahq-meaning::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--ahqm-gold-light) 22%, var(--ahqm-gold) 50%, var(--ahqm-gold-light) 78%, transparent);
    opacity: 0.65;
}

.ahq-meaning-disclaimer {
    margin: 0 0 22px;
    padding: 0 0 0 14px;
    border: 0;
    border-left: 2px solid var(--ahqm-gold-soft);
    background: none;
    color: var(--ahqm-ink3);
    font-family: var(--ahq-font-body, 'DM Sans', sans-serif);
    font-size: 10.5px;
    font-style: italic;
    letter-spacing: 0.01em;
    line-height: 1.55;
    max-width: 620px;
}

.ahq-meaning-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 22px;
    padding-bottom: 22px;
    margin-bottom: 24px;
    border-bottom: 1px solid var(--ahqm-line);
}

/* 全大写小标签（Jost），前缀金色短线 */
.ahq-meaning-pill,
.ahq-meaning-card-kicker,
.ahq-meaning-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: max-content;
    color: var(--ahqm-gold-dark, #8a6508);
    font-family: var(--ahq-font-badge, 'Jost', sans-serif);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.2em;
    line-height: 1.2;
    text-transform: uppercase;
}

.ahq-meaning-pill::before,
.ahq-meaning-card-kicker::before,
.ahq-meaning-label::before {
    content: "";
    width: 18px;
    height: 1px;
    background: linear-gradient(90deg, var(--ahqm-gold), transparent);
}

.ahq-meaning-title {
    margin: 14px 0 8px;
    font-family: var(--ahq-font-display, 'Bodoni Moda', serif);
    font-size: clamp(2.1rem, 4vw, 3.1rem);
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: -0.02em;
    color: var(--ahqm-ink);
}

.ahq-meaning-sub {
    max-width: 640px;
    margin: 0;
    color: var(--ahqm-ink3);
    font-family: var(--ahq-font-body, 'DM Sans', sans-serif);
    font-size: 14px;
    line-height: 1.7;
}

.ahq-meaning-meta {
    flex-shrink: 0;
    min-width: 150px;
    padding: 14px 16px;
    border: 1px solid var(--ahqm-line);
    border-radius: var(--ahq-radius-sm, 4px);
    background: rgba(255, 255, 255, 0.6);
    color: var(--ahqm-ink3);
    font-family: var(--ahq-font-badge, 'Jost', sans-serif);
    font-size: 9.5px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    line-height: 1.5;
    text-align: right;
}

.ahq-meaning-meta strong {
    display: block;
    margin-top: 6px;
    font-family: var(--ahq-font-display, 'Bodoni Moda', serif);
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-transform: none;
    color: var(--ahqm-gold-dark, #8a6508);
}

.ahq-meaning-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(230px, 0.6fr);
    gap: 16px;
    margin-bottom: 16px;
}

.ahq-meaning-statement,
.ahq-meaning-card,
.ahq-meaning-intentions,
.ahq-meaning-wear {
    border: 1px solid var(--ahqm-line);
    border-radius: var(--ahq-radius-md, 8px);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: var(--ahq-shadow-sm, 0 2px 8px rgba(26, 18, 8, 0.06));
    transition: transform var(--ahq-transition-normal, 300ms ease), box-shadow var(--ahq-transition-normal, 300ms ease), border-color var(--ahq-transition-normal, 300ms ease);
}

.ahq-meaning-statement {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(22px, 3vw, 36px);
    overflow: hidden;
}

/* 装饰大引号 */
.ahq-meaning-statement::before {
    content: "\201C";
    position: absolute;
    top: -0.18em;
    right: 0.12em;
    font-family: var(--ahq-font-display, 'Bodoni Moda', serif);
    font-size: 9rem;
    line-height: 1;
    color: var(--ahqm-gold);
    opacity: 0.1;
    pointer-events: none;
}

.ahq-meaning-statement p {
    position: relative;
    margin: 14px 0 0;
    font-family: var(--ahq-font-elegant, 'Cormorant Garamond', serif);
    font-size: clamp(1.6rem, 2.7vw, 2.4rem);
    font-weight: 500;
    line-height: 1.24;
    letter-spacing: 0.005em;
    color: var(--ahqm-ink);
}

/* velvet 焦点卡：主意图 */
.ahq-meaning-symbol {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 190px;
    padding: clamp(22px, 2.6vw, 30px);
    border: 1px solid rgba(168, 129, 58, 0.4);
    border-radius: var(--ahq-radius-md, 8px);
    background:
        radial-gradient(120% 120% at 100% 0%, rgba(168, 129, 58, 0.28), transparent 55%),
        linear-gradient(155deg, #241a0e 0%, var(--ahqm-velvet) 100%);
    color: #f4ecd9;
    box-shadow: var(--ahq-shadow-gold, 0 4px 24px rgba(154, 122, 8, 0.16));
    overflow: hidden;
}

.ahq-meaning-symbol::after {
    content: "\2726";
    position: absolute;
    top: 14px;
    right: 16px;
    font-size: 16px;
    color: var(--ahqm-gold-light);
    opacity: 0.55;
}

.ahq-meaning-symbol span {
    font-family: var(--ahq-font-badge, 'Jost', sans-serif);
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(212, 176, 106, 0.85);
}

.ahq-meaning-symbol strong {
    display: block;
    margin-top: 14px;
    font-family: var(--ahq-font-display, 'Bodoni Moda', serif);
    font-size: clamp(1.9rem, 3vw, 2.6rem);
    font-weight: 500;
    line-height: 1.02;
    background: linear-gradient(92deg, #f0d99a, #d4b06a 55%, #bf9a4e);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.ahq-meaning-symbol em {
    margin-top: 12px;
    font-family: var(--ahq-font-elegant, 'Cormorant Garamond', serif);
    font-style: italic;
    font-size: 15px;
    color: rgba(244, 236, 217, 0.72);
}

.ahq-meaning-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 16px;
    counter-reset: ahqm-card;
}

.ahq-meaning-card {
    position: relative;
    min-height: 196px;
    padding: 22px 20px;
}

/* 卡片右上角序号 */
.ahq-meaning-card::after {
    counter-increment: ahqm-card;
    content: "0" counter(ahqm-card);
    position: absolute;
    top: 16px;
    right: 18px;
    font-family: var(--ahq-font-display, 'Bodoni Moda', serif);
    font-size: 1.4rem;
    color: var(--ahqm-gold);
    opacity: 0.22;
    line-height: 1;
}

.ahq-meaning-card:hover {
    transform: translateY(-4px);
    border-color: var(--ahq-border-gold, rgba(168, 129, 58, 0.28));
    box-shadow: var(--ahq-shadow-gold, 0 8px 40px rgba(154, 122, 8, 0.16));
}

.ahq-meaning-card h4,
.ahq-meaning-intentions h4,
.ahq-meaning-wear h4 {
    margin: 12px 0 10px;
    font-family: var(--ahq-font-display, 'Bodoni Moda', serif);
    font-size: 1.42rem;
    font-weight: 500;
    line-height: 1.14;
    letter-spacing: -0.005em;
    color: var(--ahqm-ink);
}

.ahq-meaning-card p,
.ahq-meaning-intentions p,
.ahq-meaning-price-note {
    margin: 0;
    color: var(--ahqm-ink3);
    font-family: var(--ahq-font-body, 'DM Sans', sans-serif);
    font-size: 12.5px;
    line-height: 1.7;
}

.ahq-meaning-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.ahq-meaning-tags span {
    padding: 7px 13px;
    border: 1px solid var(--ahq-border-gold, rgba(168, 129, 58, 0.28));
    border-radius: var(--ahq-radius-full, 9999px);
    background: var(--ahqm-gold-soft);
    color: var(--ahqm-ink2);
    font-family: var(--ahq-font-badge, 'Jost', sans-serif);
    font-size: 11px;
    letter-spacing: 0.03em;
    transition: background var(--ahq-transition-fast, 150ms ease), color var(--ahq-transition-fast, 150ms ease);
}

.ahq-meaning-tags span:hover {
    background: var(--ahqm-gold);
    color: #fff;
}

.ahq-meaning-lower {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
}

.ahq-meaning-intentions,
.ahq-meaning-wear {
    padding: 24px 22px;
}

.ahq-meaning-intentions p {
    margin-bottom: 6px;
}

.ahq-meaning-meter {
    display: grid;
    grid-template-columns: 82px 1fr 40px;
    gap: 12px;
    align-items: center;
    margin-top: 14px;
    font-family: var(--ahq-font-badge, 'Jost', sans-serif);
    font-size: 11px;
    letter-spacing: 0.04em;
}

.ahq-meaning-meter span {
    color: var(--ahqm-ink2);
    text-transform: uppercase;
    font-size: 10.5px;
    letter-spacing: 0.1em;
}

.ahq-meaning-meter i {
    display: block;
    height: 6px;
    overflow: hidden;
    border-radius: var(--ahq-radius-full, 999px);
    background: rgba(26, 21, 9, 0.06);
    box-shadow: inset 0 1px 2px rgba(26, 21, 9, 0.05);
}

.ahq-meaning-meter b {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--ahqm-emerald), var(--ahqm-gold) 92%);
    transform-origin: left center;
    animation: ahqm-grow 1.1s var(--ahq-ease-out, cubic-bezier(0.16, 1, 0.3, 1)) both;
}

@keyframes ahqm-grow {
    from { transform: scaleX(0); }
    to   { transform: scaleX(1); }
}

.ahq-meaning-meter strong {
    color: var(--ahqm-gold-dark, #8a6508);
    font-size: 12px;
    font-weight: 600;
    text-align: right;
}

.ahq-meaning-wear ul {
    display: grid;
    gap: 11px;
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
}

.ahq-meaning-wear li {
    position: relative;
    padding-left: 20px;
    color: var(--ahqm-ink2);
    font-family: var(--ahq-font-body, 'DM Sans', sans-serif);
    font-size: 13px;
    line-height: 1.5;
}

/* 金色小菱形项目符号 */
.ahq-meaning-wear li::before {
    content: "";
    position: absolute;
    top: 0.5em;
    left: 0;
    width: 6px;
    height: 6px;
    transform: rotate(45deg);
    background: var(--ahqm-gold);
}

.ahq-meaning-note {
    position: relative;
    padding: 16px 18px;
    border: 1px solid rgba(168, 129, 58, 0.4);
    border-radius: var(--ahq-radius-sm, 4px);
    background:
        radial-gradient(120% 130% at 100% 0%, rgba(168, 129, 58, 0.22), transparent 60%),
        linear-gradient(155deg, #241a0e, var(--ahqm-velvet));
}

.ahq-meaning-note span {
    display: block;
    margin-bottom: 8px;
    color: var(--ahqm-gold-light);
    font-family: var(--ahq-font-badge, 'Jost', sans-serif);
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.ahq-meaning-note p {
    margin: 0;
    font-family: var(--ahq-font-elegant, 'Cormorant Garamond', serif);
    font-size: 1.24rem;
    font-style: italic;
    line-height: 1.45;
    color: #f4ecd9;
}

.ahq-meaning-price-note {
    margin-top: 16px;
    font-size: 11.5px;
    font-style: italic;
    text-align: center;
    color: var(--ahqm-ink3);
    font-family: var(--ahq-font-body, 'DM Sans', sans-serif);
}

/* ── C · 产品图 × 寓意 editorial 图文并排 ── */
.ahq-meaning-editorial {
    display: grid;
    grid-template-columns: minmax(240px, 0.9fr) minmax(0, 1.1fr);
    gap: 18px;
    margin-bottom: 18px;
}

.ahq-meaning-figure {
    position: relative;
    margin: 0;
    min-height: 300px;
    border: 1px solid var(--ahqm-line);
    border-radius: var(--ahq-radius-md, 8px);
    background: #fff;
    overflow: hidden;
}

/* 图片底部柔和暗角，便于叠放五行徽标 */
.ahq-meaning-figure::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 42%;
    background: linear-gradient(0deg, rgba(23, 16, 9, 0.42), transparent);
    pointer-events: none;
}

.ahq-meaning-figure img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 300px;
    object-fit: cover;
    transition: transform 1.2s var(--ahq-ease-out, ease);
}

.ahq-meaning-figure:hover img {
    transform: scale(1.04);
}

.ahq-meaning-figure figcaption {
    position: absolute;
    z-index: 2;
    left: 14px;
    bottom: 14px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 7px 14px 7px 9px;
    border-radius: var(--ahq-radius-full, 999px);
    background: rgba(23, 16, 9, 0.7);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    color: #f4ecd9;
    font-family: var(--ahq-font-badge, 'Jost', sans-serif);
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

/* ── A · 五行 SVG 能量符号 + 微动画 ── */
.ahq-meaning-el-symbol {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--ahqm-accent, var(--ahqm-gold));
}

.ahq-meaning-figure figcaption .ahq-meaning-el-symbol {
    color: var(--ahqm-gold-light);
}

.ahq-meaning-el-symbol svg {
    animation: ahqm-breathe 3.8s ease-in-out infinite;
}

@keyframes ahqm-breathe {
    0%, 100% { opacity: 0.72; transform: translateY(0); }
    50%      { opacity: 1;    transform: translateY(-2px); }
}

.ahq-meaning-editorial .ahq-meaning-statement p {
    font-size: clamp(1.45rem, 2.3vw, 2rem);
    line-height: 1.28;
}

.ahq-meaning-statement-note {
    margin: 14px 0 0;
    font-family: var(--ahq-font-body, 'DM Sans', sans-serif);
    font-size: 13px;
    line-height: 1.7;
    color: var(--ahqm-ink3);
}

.ahq-meaning-primary-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--ahqm-line);
}

.ahq-meaning-el-symbol--sm svg { width: 28px; height: 30px; }

.ahq-meaning-primary-row em {
    display: block;
    font-style: normal;
    font-family: var(--ahq-font-badge, 'Jost', sans-serif);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--ahqm-gold-dark, #8a6508);
}

.ahq-meaning-primary-row strong {
    display: block;
    margin-top: 5px;
    font-family: var(--ahq-font-display, 'Bodoni Moda', serif);
    font-size: 1.12rem;
    font-weight: 500;
    line-height: 1.2;
    color: var(--ahqm-ink);
}

/* ── B · 动态雷达图 ── */
.ahq-meaning-radar-wrap {
    display: flex;
    justify-content: center;
    padding: 14px 0 4px;
}

.ahq-meaning-radar {
    width: 100%;
    max-width: 300px;
    height: auto;
    overflow: visible;
}

.ahq-radar-grid,
.ahq-radar-axis {
    fill: none;
    stroke: rgba(26, 21, 9, 0.1);
    stroke-width: 1;
}

.ahq-radar-area {
    fill: rgba(168, 129, 58, 0.16);
    fill: color-mix(in srgb, var(--ahqm-accent) 20%, transparent);
    stroke: var(--ahqm-accent, var(--ahqm-gold));
    stroke-width: 1.6;
    stroke-linejoin: round;
    fill-opacity: 0;
    stroke-dasharray: 760;
    stroke-dashoffset: 760;
    animation:
        ahqm-radar-draw 1.5s var(--ahq-ease-out, cubic-bezier(0.16, 1, 0.3, 1)) 0.15s forwards,
        ahqm-radar-fill 0.9s ease 1s forwards;
}

@keyframes ahqm-radar-draw {
    to { stroke-dashoffset: 0; }
}

@keyframes ahqm-radar-fill {
    to { fill-opacity: 1; }
}

.ahq-radar-dot {
    opacity: 0;
    animation: ahqm-dot-in 0.4s ease 1.3s forwards;
}

@keyframes ahqm-dot-in {
    to { opacity: 1; }
}

.ahq-radar-dot { fill: var(--ahqm-gold, #a8813a); }

.ahq-radar-label {
    font-family: var(--ahq-font-badge, 'Jost', sans-serif);
    font-size: 8.5px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    fill: var(--ahqm-ink2);
}

.ahq-radar-score {
    font-family: var(--ahq-font-badge, 'Jost', sans-serif);
    font-size: 8px;
    font-weight: 600;
    fill: var(--ahqm-gold-dark, #8a6508);
}

/* ── D · 情感氛围带 ── */
.ahq-meaning-emotions {
    margin-top: 16px;
    padding-top: 24px;
    border-top: 1px solid var(--ahqm-line);
}

.ahq-meaning-emotions-title {
    margin: 0 0 18px;
    font-family: var(--ahq-font-display, 'Bodoni Moda', serif);
    font-size: 1.4rem;
    font-weight: 500;
    text-align: center;
    color: var(--ahqm-ink);
}

.ahq-meaning-emotions-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
}

/* 平板：3 + 2（上排 3 张，下排 2 张居中加宽） */
@media (min-width: 768px) and (max-width: 920px) {
    .ahq-meaning-emotions-grid {
        grid-template-columns: repeat(6, 1fr);
    }

    .ahq-meaning-emotion:nth-child(-n+3) {
        grid-column: span 2;
    }

    .ahq-meaning-emotion:nth-child(4) {
        grid-column: 2 / span 2;
    }

    .ahq-meaning-emotion:nth-child(5) {
        grid-column: 4 / span 2;
    }
}

/* 手机：2 + 2 + 第 5 张全宽（内容居中竖排） */
@media (max-width: 767px) {
    .ahq-meaning-emotions-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ahq-meaning-emotion:nth-child(5):last-child {
        grid-column: 1 / -1;
    }
}

.ahq-meaning-emotion {
    position: relative;
    overflow: hidden;
    padding: 20px 14px 16px;
    border: 1px solid var(--ahqm-line);
    border-radius: var(--ahq-radius-md, 8px);
    background: rgba(255, 255, 255, 0.72);
    text-align: center;
    transition: transform var(--ahq-transition-normal, 300ms ease), box-shadow var(--ahq-transition-normal, 300ms ease), border-color var(--ahq-transition-normal, 300ms ease);
}

.ahq-meaning-emotion::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: var(--emo-fill, 0%);
    background: rgba(168, 129, 58, 0.1);
    background: linear-gradient(0deg, color-mix(in srgb, var(--ahqm-accent) 15%, transparent), transparent);
    z-index: 0;
}

.ahq-meaning-emotion:hover {
    transform: translateY(-4px);
    border-color: var(--ahq-border-gold, rgba(168, 129, 58, 0.28));
    box-shadow: var(--ahq-shadow-gold, 0 8px 40px rgba(154, 122, 8, 0.16));
}

.ahq-meaning-emotion > * { position: relative; z-index: 1; }

.ahq-meaning-emotion-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 12px;
    border-radius: 50%;
    color: var(--ahqm-accent, var(--ahqm-gold));
    border: 1px solid rgba(168, 129, 58, 0.35);
    border-color: color-mix(in srgb, var(--ahqm-accent) 40%, transparent);
    background: #fff;
    background: color-mix(in srgb, var(--ahqm-accent) 7%, #fff);
}

.ahq-meaning-emotion strong {
    display: block;
    font-family: var(--ahq-font-badge, 'Jost', sans-serif);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ahqm-ink2);
}

.ahq-meaning-emotion em {
    display: block;
    margin: 5px 0 9px;
    font-family: var(--ahq-font-display, 'Bodoni Moda', serif);
    font-style: normal;
    font-size: 1.55rem;
    font-weight: 500;
    color: var(--ahqm-ink);
}

.ahq-meaning-emotion p {
    margin: 0;
    font-family: var(--ahq-font-body, 'DM Sans', sans-serif);
    font-size: 11px;
    line-height: 1.5;
    color: var(--ahqm-ink3);
}

/* ── 佩戴肯定语横幅 ── */
.ahq-meaning-affirmation {
    position: relative;
    margin-bottom: 16px;
    padding: 26px clamp(22px, 4vw, 44px);
    border: 1px solid rgba(168, 129, 58, 0.4);
    border-radius: var(--ahq-radius-md, 8px);
    background:
        radial-gradient(120% 140% at 0% 0%, rgba(168, 129, 58, 0.16), transparent 55%),
        linear-gradient(155deg, #241a0e, var(--ahqm-velvet));
    text-align: center;
    overflow: hidden;
}

.ahq-meaning-affirmation .ahq-meaning-label {
    justify-content: center;
    margin: 0 auto 12px;
    color: var(--ahqm-gold-light);
}

.ahq-meaning-affirmation .ahq-meaning-label::before {
    background: linear-gradient(90deg, transparent, var(--ahqm-gold-light));
}

.ahq-meaning-affirmation p {
    margin: 0;
    font-family: var(--ahq-font-elegant, 'Cormorant Garamond', serif);
    font-size: clamp(1.5rem, 3vw, 2.15rem);
    font-style: italic;
    line-height: 1.35;
    color: #f4ecd9;
}

/* ── 东方文化能量组 ── */
.ahq-meaning-culture {
    margin-bottom: 16px;
    padding: clamp(20px, 2.6vw, 28px);
    border: 1px solid var(--ahqm-line);
    border-radius: var(--ahq-radius-md, 8px);
    background: rgba(255, 255, 255, 0.72);
}

.ahq-meaning-lore {
    margin: 0 0 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--ahqm-line);
    font-family: var(--ahq-font-elegant, 'Cormorant Garamond', serif);
    font-size: clamp(1.05rem, 1.8vw, 1.28rem);
    line-height: 1.5;
    color: var(--ahqm-ink2);
}

.ahq-meaning-facts {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.ahq-meaning-fact {
    position: relative;
    padding-left: 14px;
}

.ahq-meaning-fact::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    bottom: 2px;
    width: 2px;
    border-radius: 2px;
    background: var(--ahqm-accent, var(--ahqm-gold));
    opacity: 0.7;
}

.ahq-meaning-fact span {
    display: block;
    margin-bottom: 6px;
    font-family: var(--ahq-font-badge, 'Jost', sans-serif);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--ahqm-gold-dark, #8a6508);
}

.ahq-meaning-fact strong {
    display: block;
    font-family: var(--ahq-font-body, 'DM Sans', sans-serif);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--ahqm-ink);
}

/* ── 能量搭配建议 ── */
.ahq-meaning-pairing {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
    padding: 18px 22px;
    border: 1px solid var(--ahqm-line);
    border-left: 3px solid var(--ahqm-accent, var(--ahqm-gold));
    border-radius: var(--ahq-radius-md, 8px);
    background: rgba(255, 255, 255, 0.72);
}

.ahq-meaning-pairing .ahq-meaning-el-symbol { flex-shrink: 0; }

.ahq-meaning-pairing p {
    margin: 6px 0 0;
    font-family: var(--ahq-font-body, 'DM Sans', sans-serif);
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--ahqm-ink2);
}

/* ── 礼赠转化 CTA ── */
.ahq-meaning-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 14px;
    padding: clamp(20px, 2.6vw, 28px) clamp(22px, 3vw, 34px);
    border: 1px solid rgba(168, 129, 58, 0.4);
    border-radius: var(--ahq-radius-md, 8px);
    background:
        radial-gradient(120% 160% at 100% 0%, rgba(168, 129, 58, 0.2), transparent 55%),
        linear-gradient(155deg, #241a0e, var(--ahqm-velvet));
}

.ahq-meaning-cta-text strong {
    display: block;
    font-family: var(--ahq-font-display, 'Bodoni Moda', serif);
    font-size: clamp(1.25rem, 2.2vw, 1.6rem);
    font-weight: 500;
    color: #f4ecd9;
}

.ahq-meaning-cta-text p {
    margin: 6px 0 0;
    font-family: var(--ahq-font-body, 'DM Sans', sans-serif);
    font-size: 12.5px;
    line-height: 1.6;
    color: rgba(244, 236, 217, 0.72);
}

.ahq-meaning-cta-btn {
    flex-shrink: 0;
    padding: 13px 26px;
    border: none;
    border-radius: var(--ahq-radius-full, 999px);
    background: linear-gradient(110deg, #edd49a, #d4b06a 50%, #bf9a4e);
    color: #1a1509;
    font-family: var(--ahq-font-badge, 'Jost', sans-serif);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform var(--ahq-transition-fast, 150ms ease), box-shadow var(--ahq-transition-fast, 150ms ease);
}

.ahq-meaning-cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(168, 129, 58, 0.4);
}

/* 符号 hover 发光 */
.ahq-meaning-figure:hover .ahq-meaning-el-symbol svg,
.ahq-meaning-primary-row:hover .ahq-meaning-el-symbol svg {
    filter: drop-shadow(0 0 6px currentColor);
}

/* 进场 reveal（仅 JS + 允许动画时启用；无 JS 默认可见） */
.ahq-meaning--reveal [data-reveal] {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.7s var(--ahq-ease-out, ease), transform 0.7s var(--ahq-ease-out, ease);
    will-change: opacity, transform;
}

.ahq-meaning--reveal [data-reveal].is-in {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .ahq-meaning-meter b,
    .ahq-radar-area,
    .ahq-radar-dot,
    .ahq-meaning-el-symbol svg { animation: none; }
    .ahq-radar-area { fill-opacity: 1; stroke-dashoffset: 0; }
    .ahq-radar-dot { opacity: 1; }
    .ahq-meaning-card,
    .ahq-meaning-emotion,
    .ahq-meaning-figure img { transition: none; }
    .ahq-meaning--reveal [data-reveal] { opacity: 1; transform: none; }
}

@media (max-width: 920px) {
    .ahq-meaning-head,
    .ahq-meaning-hero,
    .ahq-meaning-editorial,
    .ahq-meaning-lower {
        grid-template-columns: 1fr;
    }

    .ahq-meaning-head {
        display: grid;
    }

    .ahq-meaning-meta {
        text-align: left;
    }

    .ahq-meaning-grid {
        grid-template-columns: 1fr;
    }

    .ahq-meaning-figure,
    .ahq-meaning-figure img {
        min-height: 220px;
    }

    .ahq-meaning-facts {
        grid-template-columns: repeat(2, 1fr);
    }

    .ahq-meaning-cta {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }

    .ahq-meaning-cta-btn {
        width: 100%;
    }
}

@media (max-width: 560px) {
    .ahq-meaning {
        padding: 18px 14px;
    }

    .ahq-meaning-statement,
    .ahq-meaning-symbol,
    .ahq-meaning-card,
    .ahq-meaning-intentions,
    .ahq-meaning-wear,
    .ahq-meaning-emotion {
        padding: 18px 16px;
    }

    .ahq-meaning-meter {
        grid-template-columns: 70px 1fr 34px;
        gap: 8px;
    }

    .ahq-meaning-facts {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }
}


/* Catalog dossier — two-column editorial (also inlined via demo_catalog_dossier_css()) */
.ahq-pdp-dossier {
    max-width: none;
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
    gap: 40px 64px;
    align-items: start;
    padding: 4px 0 8px;
    box-sizing: border-box;
}
.ahq-pdp-dossier-main { min-width: 0; }
.ahq-pdp-dossier-kicker {
    margin: 0 0 18px;
    font-family: var(--font-body, "Jost", sans-serif);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #8a8278;
}
.ahq-pdp-dossier-lead {
    margin: 0 0 28px;
    max-width: 22em;
    font-family: var(--font-display, "Cormorant Garamond", "Bodoni Moda", Georgia, serif);
    font-size: clamp(1.55rem, 2.2vw, 1.95rem);
    font-weight: 400;
    line-height: 1.32;
    color: #1c1914;
}
.ahq-pdp-dossier-spec {
    display: block;
    margin: 0;
    border-top: 1px solid #e6dfd4;
}
.ahq-pdp-dossier-row {
    display: grid !important;
    grid-template-columns: 140px minmax(0, 1fr);
    gap: 16px 24px;
    align-items: baseline;
    margin: 0;
    padding: 16px 0;
    border-bottom: 1px solid #e6dfd4;
}
.ahq-pdp-dossier-label,
.ahq-pdp-dossier-row dt {
    display: block;
    margin: 0 !important;
    padding: 0;
    font-family: var(--font-body, "Jost", sans-serif);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #8a8278;
}
.ahq-pdp-dossier-value,
.ahq-pdp-dossier-row dd {
    display: block;
    margin: 0 !important;
    padding: 0;
    font-size: 15px;
    line-height: 1.5;
    color: #1c1914;
}
.ahq-pdp-dossier-aside {
    min-width: 0;
    padding: 28px 32px 30px;
    background: #f7f3ec;
    border-top: 1px solid #a8813a;
}
.ahq-pdp-dossier-aside-kicker {
    margin: 0 0 10px;
    font-family: "Jost", sans-serif;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #8a8278;
}
.ahq-pdp-dossier-aside-lead {
    margin: 0 0 22px;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.45rem;
    line-height: 1.3;
    color: #1c1914;
}
.ahq-pdp-dossier-channels {
    list-style: none;
    margin: 0 0 24px;
    padding: 0;
}
.ahq-pdp-dossier-channels li {
    margin: 0;
    padding: 10px 0;
    border-bottom: 1px solid #e6dfd4;
}
.ahq-pdp-dossier-channels a {
    font-family: "Jost", sans-serif;
    font-size: 12px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #1c1914;
    text-decoration: none;
}
.ahq-pdp-dossier-inquire-btn {
    display: inline-block;
    margin: 0 0 22px;
    font-family: "Jost", sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #1c1914;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    padding-bottom: 3px;
}
.ahq-pdp-dossier-inquire {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding-top: 20px;
    border-top: 1px solid #a8813a;
}
.ahq-pdp-dossier-inquire p {
    margin: 0;
    font-size: 13px;
    letter-spacing: 0.04em;
    color: #5c564e;
}
.ahq-pdp-dossier-inquire a {
    font-family: var(--font-body, "Jost", sans-serif);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #1c1914;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    padding-bottom: 2px;
}
.ahq-pdp-dossier-note {
    margin: 0;
    font-size: 11px;
    line-height: 1.55;
    color: #8a8278;
}
@media (max-width: 900px) {
    .ahq-pdp-dossier {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .ahq-pdp-dossier-aside {
        padding: 24px 22px;
    }
}
@media (max-width: 640px) {
    .ahq-pdp-dossier-row {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 14px 0;
    }
    .ahq-pdp-dossier-lead {
        max-width: none;
    }
    .ahq-pdp-dossier-inquire {
        flex-direction: column;
        align-items: flex-start;
    }
}

