/** Copyright (c) 2026 DNA Genics, S.L. All rights reserved.
 * Opt-in Heritage layouts for account outcomes, data utilities and public reading.
 */
.hu-page { background: var(--hd-bg); color: var(--hd-ink); font-family: var(--hd-sans); min-width: 0; }
.hu-page *, .hu-page *::before, .hu-page *::after { box-sizing: border-box; }
.hu-page :is(p,li,dd,dt,strong,span,h1,h2,h3,label,button,a) { overflow-wrap: anywhere; }
.hu-page .badge { white-space: normal; text-align: left; }
.hu-page :is(h1,h2,h3,h4,h5) { font-family: var(--hd-serif); color: var(--hd-primary); font-weight: 500; text-wrap: balance; }
.hu-page h1 { font-size: clamp(2.1rem, 4vw, 3.5rem); line-height: 1.12; letter-spacing: -.025em; overflow-wrap: anywhere; }
.hu-page :is(a,button,input,textarea,select):focus-visible { outline: 3px solid var(--hd-primary); outline-offset: 3px; }
.hu-page :is(button,.btn,.drc-download-btn,.drc-secondary-btn,.btn-action,.unlock-btn) { min-height: 44px; white-space: normal; }
.hu-page :is(.btn-primary,.drc-download-btn,.btn-action-primary) { background: var(--hd-primary); background-image: none; border-color: var(--hd-primary); color: white; box-shadow: none; }
.hu-page :is(.btn-secondary,.btn-outline-secondary,.drc-secondary-btn,.btn-action-secondary) { background: var(--hd-sand); color: var(--hd-primary); border: 1px solid var(--hd-border); box-shadow: none; }
.hu-page :is(.btn,.btn-action,.drc-download-btn,.drc-secondary-btn):hover { transform: none; }
.hu-page :is(.card,.drc-card) { background: var(--hd-surface); border: 1px solid var(--hd-border); border-radius: 14px; box-shadow: none !important; }
.hu-page :is(.card-header,.drc-info-box,.drc-file-details) { background: var(--hd-sand); color: var(--hd-primary); border-color: var(--hd-border); }
.hu-page .card-header .text-white { color: var(--hd-primary) !important; }
.hu-page :is(.form-control,.custom-select) { min-height: 46px; background: var(--hd-surface); border: 1px solid var(--hd-border); border-radius: 8px; color: var(--hd-ink); }
.hu-page textarea.form-control { min-height: 120px; }
.hu-page :is(.text-muted,.drc-subtitle,.drc-footer-note,.drc-info-list) { color: var(--hd-muted) !important; }
.hu-page :is(.table-responsive,pre) { max-width: 100%; overflow-x: auto; }
.hu-page :is(th,td) { border-color: var(--hd-border); }
.hu-page th { background: var(--hd-sand); color: var(--hd-primary); }
.hu-page .table .thead-light th { background: var(--hd-sand); color: var(--hd-primary); border-color: var(--hd-border); }
.hu-page :is(.badge-success,.badge-info) { background: var(--hd-sage); color: var(--hd-primary); }
.hu-page .badge-warning { background: var(--hd-sand); color: var(--hd-primary); }
.hu-page :is(.dbc-scroll-animate,.rl-animate,.payment-failed-animate) { opacity: 1 !important; transform: none !important; animation: none !important; transition: none; }
.hu-page [hidden] { display: none !important; }
.hu-state { width: 100%; max-width: none; padding: calc(var(--nav-height,72px) + 32px) 24px 64px; min-height: 72vh; }
.hu-state > :is(.row,.card,.text-center,nav,.hu-state-card), .hu-state > .breadcrumb { max-width: 760px; margin-inline: auto; }
.hu-state > .row { margin-inline: auto; }
.hu-state > .row > :is([class*="col-"]) { flex: 0 0 100%; max-width: 100%; padding: 0; min-width: 0; }
.hu-state :is(.drc-card,.hu-state-card) { padding: clamp(24px,5vw,44px); text-align: left !important; }
.hu-state .hu-state-card { background: var(--hd-surface); border: 1px solid var(--hd-border); border-top: 4px solid var(--hd-gold); border-radius: 12px; }
.hu-state :is(.drc-card,.card) { border-top: 4px solid var(--hd-gold); }
.hu-state :is(.card-body,.card-body.p-5) { padding: clamp(24px,5vw,44px) !important; text-align: left !important; }
.hu-state :is(.drc-icon-wrapper,.bg-gradient-dnagenics-primary.rounded-circle,.bg-success.rounded-circle,.bg-danger.rounded-circle) { width: 48px; height: 48px; border-radius: 10px !important; background: var(--hd-sage) !important; color: var(--hd-primary); margin: 0 0 20px; box-shadow: none !important; font-size: 20px; }
.hu-state :is(.rounded-circle,.drc-icon-wrapper) .text-white { color: var(--hd-primary) !important; }
.hu-state :is(.fa-4x,.fa-3x) { font-size: 28px; color: var(--hd-primary); }
.hu-state :is(.drc-subtitle,.dnagenics-subtitle) { font: 400 1rem/1.75 var(--hd-sans); margin-bottom: 24px !important; }
.hu-state .drc-title { font: 500 clamp(2rem,4vw,3rem)/1.12 var(--hd-serif); color: var(--hd-primary); margin-bottom: 16px; }
.hu-state .drc-detail-row { align-items: start; gap: 16px; border-color: var(--hd-border); }
.hu-state .drc-detail-value { text-align: right; overflow-wrap: anywhere; color: var(--hd-primary); }
.hu-state .drc-detail-label { color: var(--hd-muted); }
.hu-state .drc-warning { background: var(--hd-sand); border-color: var(--hd-border); color: var(--hd-ink); font-size: .9rem; }
.hu-state .drc-info-list { font-size: .95rem; }
.hu-state :is(.drc-download-btn,.drc-secondary-btn) { border-radius: 8px; padding: 12px 22px; font-weight: 600; }
.hu-state .text-center > .card { text-align: left; }
.hu-state .text-center > .mb-4:has(> .btn) { display: flex; flex-wrap: wrap; gap: 12px; }
.hu-state .text-center > .mb-4 > .btn { margin: 0; }
.hu-state .hu-state-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.hu-state .hd-eyebrow { display: block; margin-bottom: 16px; }
.hu-data .hw-header { margin-block: 8px 24px; padding-block: 24px; }
.hu-data .dbc-container { max-width: 1440px; padding-top: 8px; padding-bottom: 32px; }
.hu-data .hw-header { max-width: none; }
.hu-data :is(.dbc-section,.dbc-category) { margin-bottom: 24px; }
.hu-data .dbc-section-header { margin-bottom: 20px; }
.hu-data .sample-detail-card { padding: 20px; }
.hu-data .detail-value { font: 600 .95rem/1.6 var(--hd-sans); }
.hu-data .detail-icon { border-radius: 10px; }
.hu-data.ancestry-json-view { max-width: 1440px; }
.hu-sample-detail .hw-header { padding-block: 20px; }
.hu-sample-detail .hw-header h1 { font-size: clamp(2.25rem,4vw,3rem); margin-bottom: 12px; }
.hu-sample-workspace { display: grid; grid-template-columns: minmax(240px,320px) minmax(0,1fr); gap: 24px; align-items: start; }
.hu-sample-workspace > .dbc-section { margin: 0; min-width: 0; }
.hu-sample-workspace > .dbc-section::before { display: none; }
.hu-sample-workspace .dbc-section-title { font-size: 2rem; }
.hu-sample-workspace .sample-details-grid { display: block; background: var(--hd-surface); border: 1px solid var(--hd-border); border-radius: 12px; padding: 4px 16px; }
.hu-sample-workspace .sample-details-grid .sample-detail-card { display: flex; gap: 12px; padding: 16px 0; border: 0; border-bottom: 1px solid var(--hd-border); border-radius: 0; box-shadow: none; }
.hu-sample-workspace .sample-details-grid .sample-detail-card:last-child { border-bottom: 0; }
.hu-sample-workspace .detail-icon { width: 32px; height: 32px; min-width: 32px; font-size: 14px; }
.hu-sample-workspace .detail-content { min-width: 0; }
.hu-sample-workspace .coordinates-header { padding: 16px 20px; flex-wrap: wrap; gap: 12px; background: var(--hd-sand); border-color: var(--hd-border); }
.hu-sample-workspace .coordinates-header h3 { margin: 0; font-size: 1.4rem; }
.hu-sample-workspace .coordinates-content { padding: 20px; }
.hu-sample-workspace .coordinates-textarea { min-height: 260px; font-size: .875rem; }
.hu-sample-workspace #coordinatesCopyStatus { margin: 0; padding: 0 20px; color: var(--hd-primary); }
.hu-sample-workspace #coordinatesCopyStatus:empty { display: none; }
.hu-data :is(.sample-detail-card,.sl-form-static,.sample-info-card,.master-info-card,.ancestry-json-view__card) { background: var(--hd-surface); border: 1px solid var(--hd-border); border-radius: 10px; box-shadow: none; }
.hu-data :is(.coordinates-content,.coordinates-display,.ancestry-json-view__pre) { min-width: 0; max-width: 100%; }
.hu-data :is(pre,textarea.coordinates-textarea,#coordinatesText,.coordinates-text) { font: .84rem/1.7 ui-monospace,Consolas,monospace; background: var(--hd-bg); color: var(--hd-ink); border-color: var(--hd-border); max-width: 100%; }
.hu-data .sl-form-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.hu-data .sl-form-col { min-width: 0; width: auto; padding: 0; }
.hu-data :is(.sl-table-controls,.sl-table-controls-left,.sl-table-controls-right) { flex-wrap: wrap; gap: 12px; }
.hu-data :is(.sl-modal-header,.sl-preview-url,.sl-preview-data) { background: var(--hd-sand); color: var(--hd-primary); }
.hu-data :is(.sl-form-label,.detail-label,.sl-preview-link) { color: var(--hd-primary); }
.hu-data .sl-url-preview[hidden] { display: none; }
.hu-affiliate { max-width: none; width: 100%; padding: calc(var(--nav-height,72px) + 24px) max(24px,calc((100% - 1280px)/2)) 56px; }
.hu-affiliate :is(.bg-gradient-dnagenics-primary,.card-header) { background: var(--hd-sand) !important; color: var(--hd-primary); box-shadow: none !important; }
.hu-affiliate .dnagenics-section-title { font-size: clamp(2rem,3vw,3rem); }
.hu-affiliate .dnagenics-subtitle { line-height: 1.7; }
.hu-affiliate .rounded-circle { border-radius: 10px !important; }
.hu-affiliate .rounded-circle .text-white { color: var(--hd-primary) !important; }
.hu-affiliate :is(.text-primary,.text-success) { color: var(--hd-primary) !important; }
.hu-affiliate :is(.card-body,.card-header) { padding: 20px 24px; }
.hu-affiliate :is(.font-weight-bold,.h3) { overflow-wrap: anywhere; }
.hu-affiliate-form { padding-inline: max(24px,calc((100% - 840px)/2)); }
.hu-affiliate .validation-summary-errors { display: block !important; }
.hu-affiliate .validation-summary-valid { display: none; }
.hu-editorial { --cream: var(--hd-bg); --white: var(--hd-surface); --ink: var(--hd-primary); --muted: var(--hd-muted); --gold: var(--hd-gold); --line: var(--hd-border); --serif: var(--hd-serif); --sans: var(--hd-sans); }
.hu-editorial :is(.pl-hero,.pl-section,.pg-preview) { background: var(--hd-bg); color: var(--hd-ink); }
.hu-editorial .pl-hero-inner { padding-block: 40px; min-height: 0; align-items: center; gap: 40px; }
.hu-editorial .pl-hero h1 { color: var(--hd-primary); font-size: clamp(2.5rem,5vw,4.25rem); }
.hu-editorial .pl-hero :is(p,.pe-meta) { color: var(--hd-muted); }
.hu-editorial :is(.pl-section,.pl-usage) { padding-block: 40px; border-color: var(--hd-border); }
.hu-editorial :is(.pg-card,.pg-preview,.pe-article-card) { border: 1px solid var(--hd-border); border-radius: 12px; background: var(--hd-surface); box-shadow: none; overflow: hidden; }
.hu-editorial .pg-preview-top { background: var(--hd-sand); color: var(--hd-primary); border-color: var(--hd-border); }
.hu-editorial .pg-preview-body { color: var(--hd-ink); }
.hu-editorial .pg-preview-body :is(p,li,span) { color: var(--hd-muted); }
.hu-editorial .pl-btn-primary { background: var(--hd-primary); color: white; border-color: var(--hd-primary); }
.hu-editorial .pl-btn-outline { background: var(--hd-sand); color: var(--hd-primary); border-color: var(--hd-border); }
.hu-editorial.public-guide .pl-hero .pl-btn-primary { color: #fff !important; }
.hu-editorial.public-guide .pl-hero .pl-btn-outline { color: var(--hd-primary) !important; }
.hu-editorial .pg-preview :is(ol,ul) { background: var(--hd-sand); color: var(--hd-ink); padding: 12px 20px; }
.hu-editorial .pg-preview :is(ol,ul) :is(strong,p,span) { color: var(--hd-primary); }
.hu-editorial .pg-preview li { padding-block: 12px; }
.hu-editorial .pl-section-nav { background: var(--hd-primary); border-color: var(--hd-gold); }
.hu-editorial.public-guide .pl-section-nav a { color: #fff; }
.hu-editorial :is(.pl-btn,.pg-pill,.blog-share-btn) { min-height: 44px; border-radius: 8px; }
.hu-editorial .pe-prose { max-width: 76ch; color: var(--hd-ink); font: 400 1.05rem/1.9 var(--hd-sans); }
.hu-editorial .pe-reading-layout { grid-template-columns: minmax(200px,260px) minmax(0,1fr); gap: 40px; align-items: start; }
.hu-editorial :is(.pe-article-title,.pg-card h3) { font-size: 1.6rem; line-height: 1.2; }
.hu-editorial .pe-article-grid { gap: 24px; }
.hu-editorial :is(input,select) { min-height: 46px; border-radius: 8px; border-color: var(--hd-border); }
.hu-editorial .glossary-category-section { scroll-margin-top: 100px; }
.hu-editorial :is(.learn-path-card,.learn-path-subtitle,.glossary-category-tab) { min-width: 0; max-width: 100%; white-space: normal; }
.hu-editorial .learn-timeline-era { white-space: normal; overflow-wrap: anywhere; }
.hu-checkout { padding: calc(var(--nav-height,72px) + 24px) 24px 56px; }
.hu-checkout > .container { max-width: 1120px; width: 100%; padding: 0; }
.hu-checkout :is(.cart-complete-tagline,.error-hero::before,.error-hero::after) { display: none; }
.hu-checkout :is(.success-hero,.error-hero) { padding: 28px 0; min-height: 0; text-align: left; background: none; }
.hu-checkout :is(.success-checkmark-circle,.error-icon-wrapper) { width: 48px; height: 48px; margin: 0 0 16px; background: var(--hd-sage); box-shadow: none; border-radius: 10px; animation: none; }
.hu-checkout :is(.success-title,.error-title) { font: 500 clamp(2.2rem,4vw,3.5rem)/1.15 var(--hd-serif); color: var(--hd-primary); }
.hu-checkout :is(.success-subtitle,.error-subtitle) { color: var(--hd-muted); max-width: 68ch; font: 400 1rem/1.7 var(--hd-sans); }
.hu-checkout :is(.receipt-card,.reassurance-card,.troubleshooting-section,.common-reasons-section,.action-section,.order-details-card) { background: var(--hd-surface); border: 1px solid var(--hd-border); border-radius: 12px; box-shadow: none; padding: 24px; margin-bottom: 24px; }
.hu-checkout :is(.section-title,.section-label,.total-value,.order-info-value,.step-title) { color: var(--hd-primary); }
.hu-checkout .section-marker { display: none; }
.hu-checkout .section-title { font: 500 1.8rem/1.2 var(--hd-serif); }
.hu-checkout .section-header { margin-bottom: 20px; padding: 0; }
.hu-checkout .order-number-badge { background: var(--hd-sand); color: var(--hd-primary); border-color: var(--hd-border); }
.hu-checkout .troubleshooting-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.hu-checkout .troubleshooting-step { min-width: 0; display: block; padding: 0; }
.hu-checkout .step-number { margin-bottom: 12px; background: var(--hd-sand); color: var(--hd-primary); }
.hu-checkout :is(.btn-print-receipt,.btn-action) { min-height: 44px; }
.hu-rate.rl-page { padding-top: calc(var(--nav-height,72px) + 32px); background: var(--hd-bg); }
.hu-rate :is(.rl-hero-bg,.rl-icon-circle) { display: none; }
.hu-rate .rl-hero { min-height: 0; padding: 0 24px 56px; background: none; }
.hu-rate .rl-container { max-width: 1000px; padding: 0; }
.hu-rate .rl-hero-content { text-align: left; }
.hu-rate .rl-icon-wrapper { margin: 0 0 20px; }
.hu-rate .rl-icon { width: 48px; height: 48px; background: var(--hd-sand); border-radius: 10px; }
.hu-rate :is(.rl-title,.rl-title-accent) { color: var(--hd-primary); -webkit-text-fill-color: currentColor; background: none; font-family: var(--hd-serif); }
.hu-rate :is(.rl-subtitle,.rl-trust,.rl-path-desc) { color: var(--hd-muted); }
.hu-rate :is(.rl-path-card,.rl-countdown,.rl-info-card) { background: var(--hd-surface); color: var(--hd-primary); border: 1px solid var(--hd-border); box-shadow: none; border-radius: 12px; }
.hu-rate .rl-path-card { min-height: 100px; }
.hu-rate .rl-path-card--disabled { opacity: .65; }
.hu-unlock { --unlock-accent: var(--hd-primary); --unlock-cta: var(--hd-primary); --unlock-paper: var(--hd-bg); --unlock-surface: var(--hd-surface); --unlock-ink: var(--hd-ink); --unlock-muted: var(--hd-muted); --unlock-line: var(--hd-border); background: var(--hd-bg); color: var(--hd-ink); }
.hu-unlock :is(.unlock-hero-card,.unlock-story,.unlock-pricing) { min-width: 0; grid-template-columns: minmax(0,1fr) minmax(0,1fr); box-shadow: none; }
.hu-unlock :is(.unlock-hero-text,.unlock-story-text,.unlock-pricing-content,.unlock-hero-media,.unlock-bundle) { min-width: 0; }
.hu-unlock :is(.unlock-display-title,.unlock-hero-desc,.unlock-link) { overflow-wrap: anywhere; max-width: 100%; }
.hu-unlock .unlock-hero-card { background: var(--hd-surface); border-color: var(--hd-border); }
.hu-unlock .unlock-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
.hu-unlock :is(.unlock-stat,.unlock-stat > div) { min-width: 0; }
.hu-unlock :is(.unlock-stat-value,.unlock-stat-label) { overflow-wrap: anywhere; }
.hu-unlock :is(.unlock-hero,.unlock-card,.unlock-bundle) { background: var(--hd-surface); border: 1px solid var(--hd-border); border-radius: 14px; box-shadow: none; }
.hu-unlock :is(.unlock-title,.unlock-heading,.unlock-bundle-name) { font-family: var(--hd-serif); color: var(--hd-primary); }
.hu-unlock .unlock-btn-primary { background: var(--hd-primary); border-color: var(--hd-primary); color: white; }
.hu-unlock :is(.unlock-eyebrow,.unlock-bundle-featured,.unlock-pill) { background: var(--hd-sand); border-color: var(--hd-border); color: var(--hd-primary); }
.hu-unlock .unlock-bundles-grid { align-items: stretch; }
.hu-unlock .unlock-bundle { display: flex; flex-direction: column; }
.hu-unlock .unlock-bundle-foot { margin-top: auto; }
.hu-unlock .unlock-bundle-head { flex-wrap: wrap; min-width: 0; }
.hu-unlock .unlock-bundle-badge { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 767px) {
 .hu-state { padding: calc(var(--nav-height,72px) + 20px) 16px 40px; }
 .hu-state :is(.drc-download-btn,.drc-secondary-btn,.hu-state-actions > .btn) { width: 100%; margin-inline: 0; }
 .hu-state .drc-detail-row { display: block; }
 .hu-state .drc-detail-value { display: block; text-align: left; margin-top: 4px; }
 .hu-data .sl-form-row,.hu-editorial .pe-reading-layout,.hu-checkout .troubleshooting-steps { grid-template-columns: minmax(0,1fr); }
 .hu-data .sample-details-grid { grid-template-columns: minmax(0,1fr); }
 .hu-sample-workspace { grid-template-columns: minmax(0,1fr); }
 .hu-data :is(.sl-table-controls-left,.sl-table-controls-right,.sl-search-input-wrap) { width: 100%; }
 .hu-data :is(.sl-form-static,.sl-form-input,.sample-detail-card) { overflow-wrap: anywhere; }
 .hu-affiliate,.hu-affiliate-form { padding: calc(var(--nav-height,72px) + 20px) 16px 40px; }
 .hu-affiliate .card-body { padding: 20px 16px; }
 .hu-affiliate :is(.input-group,.card-header) { flex-wrap: wrap; gap: 8px; }
 .hu-affiliate .btn { min-height: 44px; }
 .hu-editorial .pl-hero-inner { padding-block: 24px; gap: 24px; }
 .hu-editorial .pl-section { padding-block: 28px; }
 .hu-editorial .pe-prose { font-size: 1rem; }
 .hu-checkout { padding: calc(var(--nav-height,72px) + 20px) 16px 40px; }
 .hu-checkout :is(.receipt-card,.reassurance-card,.troubleshooting-section,.common-reasons-section,.action-section) { padding: 20px; }
 .hu-checkout :is(.receipt-footer-actions,.action-buttons,.product-line-item,.order-info-row) { flex-wrap: wrap; gap: 12px; }
 .hu-checkout :is(.btn-action,.btn-print-receipt) { width: 100%; justify-content: center; }
 .hu-rate .rl-hero { padding-inline: 16px; }
 .hu-rate .rl-paths { grid-template-columns: minmax(0,1fr); }
 .hu-unlock .unlock-btn { width: 100%; }
 .hu-unlock :is(.unlock-hero-card,.unlock-story,.unlock-pricing,.unlock-bundles-grid) { grid-template-columns: minmax(0,1fr); }
 .hu-unlock .unlock-stats { grid-template-columns: minmax(0,1fr); }
}
@media print { .hu-checkout { padding: 0; } .hu-checkout .receipt-card { break-inside: avoid; } }

/* Small presentation utilities shared by the selected views. */
.hu-page .hu-initially-hidden { display:none; }
.hu-page .hu-link-plain { text-decoration: none; }
.hu-page .hu-small-note { font-size: .875rem; color: var(--hd-muted); }
.hu-page .hu-detail-value { font-weight: 600; color: var(--hd-primary); }
.hu-page .hu-state-symbol { width: 48px; height: 48px; }
.hu-page .hu-checkout-help { font-size: 1rem; color: var(--hd-muted); margin-bottom: 1rem; }
.hu-page .hu-affiliate-symbol { width:48px;height:48px;min-width:48px; }
.hu-page .hu-accent-value { color: var(--hd-gold); }
.hu-page .hu-metric-note { font-size:0.75rem; }
.hu-page .hu-metric-caption { font-size:0.7rem; }
.hu-page .hu-local-25 { width: 0% }
