/* Product facts and verified size guides appear before embroidery configuration. */
.sme-product-details {
    clear: both;
    min-width: 0;
    padding: 2.5rem 0 3rem;
    border-top: 1px solid var(--line, #dfe4e2);
    font-size: var(--reading-body, 1.125rem);
    line-height: 1.75;
}
.sme-product-details-intro,
.sme-size-guide-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem 2rem;
    margin-bottom: 1.5rem;
}
.sme-product-details .eyebrow { margin: 0 0 .5rem; }
.sme-product-details h2 { margin: 0; font-size: clamp(1.75rem, 3vw, 2.2rem); line-height: 1.25; }
.sme-product-details h3 { margin: 0 0 .8rem; font-size: 1.5rem; line-height: 1.4; }
.sme-product-details p { max-width: 70ch; margin: 0 0 1rem; }
.sme-product-details a,
.sme-size-guide-shortcut a { color: var(--accent, #256c63); text-decoration: underline; text-underline-offset: .2em; }
.sme-details-sizing-link,
.sme-size-chart-source { font-size: var(--reading-control, 1rem); font-weight: 700; line-height: 1.6; }
.sme-details-sizing-link { display: inline-flex; align-items: center; gap: 1rem; min-height: 44px; }
.sme-size-guide-shortcut { margin: 1.25rem 0; font-size: var(--reading-control, 1rem); font-weight: 700; }
.sme-size-guide-shortcut a { display: inline-block; padding: .5rem 0; }
.sme-product-facts { min-width: 0; }
.sme-product-features { columns: 2; column-gap: 3.5rem; margin: 1rem 0 0; padding-left: 1.4rem; }
.sme-product-features li { break-inside: avoid; padding-left: .25rem; margin: 0 0 .65rem; overflow-wrap: anywhere; }
.sme-product-features li::marker { color: var(--accent, #256c63); }
.sme-supplier-introduction { max-width: 74ch; }
.sme-product-authored-copy { margin-top: 1.5rem; max-width: 74ch; overflow-wrap: anywhere; }
.sme-size-guide {
    min-width: 0;
    margin-top: 2rem;
    padding: 1.75rem;
    background: #f7f8f5;
    border: 1px solid var(--line, #dfe4e2);
    border-radius: 4px;
    scroll-margin-top: 1rem;
}
.sme-size-guide-heading h3 { margin-bottom: 0; }
.sme-size-chart-source {
    display: inline-block;
    max-width: 100%;
    padding: .6rem .9rem;
    background: #fff;
    border: 1px solid currentColor;
    border-radius: 3px;
    overflow-wrap: anywhere;
}
.sme-product-chart + .sme-product-chart { margin-top: 1.75rem; }
.sme-product-chart { min-width: 0; max-width: 100%; }
.sme-product-details .sme-chart-scroll-hint { margin-bottom: .5rem; color: var(--muted, #58655f); font-size: var(--reading-small, .875rem); }
.sme-size-chart-scroll {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    background: #fff;
    border: 1px solid var(--line, #dfe4e2);
    border-radius: 3px;
}
.sme-size-chart-scroll:focus-visible { outline: 3px solid #2e72d2; outline-offset: 3px; }
.sme-size-chart-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0;
    font-size: var(--reading-control, 1rem);
    line-height: 1.5;
}
.sme-size-chart-table caption {
    text-align: left;
    caption-side: top;
    color: var(--ink, #172d29);
    background: #fff;
    font-weight: 700;
    padding: 0;
}
.sme-chart-caption-text {
    display: block;
    position: sticky;
    left: 0;
    width: max-content;
    max-width: min(100%, calc(100vw - 6rem));
    padding: .9rem 1rem;
}
.sme-size-chart-table th,
.sme-size-chart-table td { border: 0; border-top: 1px solid var(--line, #dfe4e2); padding: .8rem 1rem; text-align: center; vertical-align: middle; }
.sme-size-chart-table thead th { background: #edf1ee; font-weight: 700; white-space: nowrap; }
.sme-size-chart-table th:first-child { position: sticky; left: 0; z-index: 1; text-align: left; min-width: 11rem; max-width: 18rem; }
.sme-size-chart-table tbody th { background: #fafbf9; font-weight: 600; }
.sme-size-chart-table td { min-width: 5rem; white-space: nowrap; }
.sme-product-details .sme-chart-note,
.sme-product-details .sme-size-help { font-size: var(--reading-note, .9375rem); margin-top: .8rem; }
.sme-product-details .sme-size-help { margin-bottom: 0; }
@media (max-width: 680px) {
    .sme-product-details { padding-top: 1.75rem; }
    .sme-product-features { columns: 1; }
    .sme-product-details-intro { gap: .75rem; }
    .sme-size-guide { padding: 1rem; margin-top: 1.5rem; }
    .sme-size-guide-heading { align-items: flex-start; gap: .8rem; }
    .sme-size-chart-table th,
    .sme-size-chart-table td { padding: .7rem .8rem; }
    .sme-size-chart-table th:first-child { min-width: 9rem; }
}
