/*
 * CEI Registration v54 — robust dynamic publication title bands
 * Works with BOTH registration card markups used in v51 and v52+.
 * The colour is attached to real content rows, never a fixed-height gradient.
 * Scoped to .registration-modern so it cannot affect other site pages.
 */

.registration-modern .sample-publication-card {
    --pub-accent: #2878b5;
    --pub-band: #eef6fc;
    --pub-band-selected: #dfeef9;
    --pub-border: #cfe2f2;
    --pub-title: #155783;

    position: relative;
    box-sizing: border-box;
    overflow: hidden;
    padding: 0;
}

/* -------------------------------------------------------------------------
   NEW MARKUP (v52+): title band is a real full-width element.
   Its height follows the title automatically.
   ------------------------------------------------------------------------- */
.registration-modern .sample-publication-card > .sample-publication-title-band {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    align-items: center;
    width: 100%;
    height: auto;
    margin: 0;
    box-sizing: border-box;
    background: var(--pub-band);
}

.registration-modern .sample-publication-card.is-selected > .sample-publication-title-band {
    background: var(--pub-band-selected);
}

.registration-modern .sample-publication-title-band .sample-publication-check {
    position: relative;
    align-self: center;
    width: 22px;
    height: 22px;
    margin: 0;
    padding: 0;
    background: transparent;
}

.registration-modern .sample-publication-title-band .sample-publication-title {
    display: block;
    min-width: 0;
    margin: 0;
    padding: 0;
    color: var(--pub-title);
    font-weight: 700;
    background: transparent;
}

.registration-modern .sample-publication-checkbox:checked + .sample-publication-checkmark {
    border-color: var(--pub-accent);
    background: var(--pub-accent);
}

.registration-modern .sample-publication-checkbox:focus-visible + .sample-publication-checkmark {
    outline-color: var(--pub-accent);
}

@media (max-width: 680px) {
    .registration-modern .sample-publication-card > .sample-publication-title-band {
        min-height: 64px;
        padding: 14px 16px 14px 20px;
    }

}

/* -------------------------------------------------------------------------
   CEI Registration v59 — cleaner sample cards + reduced legal copy
   ------------------------------------------------------------------------- */

/* Make the opening credibility line feel like supporting copy, not another box. */
.registration-modern .registration-modern-trust {
    display: flex ;
    align-items: center ;
    gap: 7px ;
    width: auto ;
    padding: 0 ;
    border: 0 ;
    border-radius: 0 ;
    background: transparent ;
}

.registration-modern .registration-modern-trust-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #e8f2f8;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

/* Flatten the publication area so the colour-coded cards do the visual work. */
.page-template-page-registration .registration-modern .registration-publications {
    padding: 24px 26px 26px !important;
    border-color: #dde6ed !important;
    background: #fff !important;
}

.registration-modern .registration-publications .registration-section-heading {
    align-items: center !important;
    margin-bottom: 16px;
}

.registration-modern .registration-publications .registration-section-heading h2 {
    margin-bottom: 0 ;
}

.registration-modern .registration-publication-grid {
    align-items: stretch;
}

/* Cleaner, tighter publication cards. */
.registration-modern .sample-publication-card {
    height: 100%;
    min-height: 0;
    border-width: 1px;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.registration-modern .sample-publication-card > .sample-publication-title-band {
    min-height: 60px;
    padding: 11px 15px 11px 17px;
    column-gap: 11px !important;
}

.registration-modern .sample-publication-title-band .sample-publication-title {
    font-size: 15px;
    line-height: 1.36;
}

/* Keep selected cards calm: stronger band, not a wash over the whole card. */
.page-template-page-registration .registration-modern .sample-publication-card.is-selected {
    background: #fff;
}

/* Compact legal agreement with links to the full site policies. */
.page-template-page-registration .registration-modern .registration-agreement {
    margin: 0 0 18px !important;
    padding: 16px 18px !important;
    border-color: #dde6ed !important;
    border-radius: 9px !important;
    background: #f7f9fb !important;
}

.registration-modern .registration-agreement-title {
    margin-bottom: 9px !important;
}

.registration-modern .registration-legal-links {
    display: inline ;
    margin-left: 5px ;
    white-space: normal ;
}

.registration-modern .registration-legal-links a,
.registration-modern .registration-legal-links a:visited {
    color: #2874a6 ;
    font-weight: 500 ;
    text-decoration: none ;
}

.registration-modern .registration-legal-links a:hover,
.registration-modern .registration-legal-links a:focus {
    color: #153b5c !important;
    text-decoration: underline !important;
}


@media (max-width: 767px) {
    .registration-modern .registration-modern-trust {
        justify-content: flex-start ;
        width: 100% ;
        font-size: 13px ;
        text-align: left ;
    }

    .page-template-page-registration .registration-modern .registration-publications {
        padding: 20px 16px 22px !important;
    }

    .registration-modern .sample-publication-card > .sample-publication-title-band {
        min-height: 58px;
        padding: 11px 14px 11px 16px;
    }

    .page-template-page-registration .registration-modern .registration-agreement {
        padding: 14px 15px !important;
    }

    .registration-modern .registration-legal-links {
        display: block ;
        margin: 5px 0 0 ;
    }
}

/* ========================================================================== 
   CEI Sample Request — order-form visual system
   Keeps the sample-specific publication colours, but aligns the form shell,
   section cards, fields and actions with the main Order page.
   ========================================================================== */
.registration-modern {
    --cei-reg-navy: #153b5c;
    --cei-reg-blue: #2874a6;
    --cei-reg-text: #3f4f5e;
    --cei-reg-muted: #3f4f5e;
    --cei-reg-border: #d9e3ea;
    --cei-reg-surface: #f4f7fa;
    --cei-reg-surface-blue: #edf4f8;
    padding: 32px 0 52px ;
    background: var(--cei-reg-surface) ;
}

.registration-modern .registration-modern-header {
    max-width: 1120px ;
    margin: 0 auto 24px ;
    padding: 0 20px ;
    background: transparent ;
}

.registration-modern .registration-modern-header .entry-title {
    margin: 0 0 8px ;
    font-weight: 600 ;
    text-align: left ;
    text-transform: none ;
}

.registration-modern .registration-modern-intro {
    font-weight: 400 ;
    text-align: left ;
    white-space: normal ;
}

.registration-modern .registration-modern-trust {
    justify-content: flex-start ;
    font-weight: 400 ;
    text-align: left ;
}

.registration-modern .registration-steps {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 13px;
    color: #8aa0b2;
    font-size: 13px;
    line-height: 1.4;
}

.registration-modern .registration-steps span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.registration-modern .registration-steps span:not(:last-child)::after {
    content: "";
    width: 34px;
    height: 1px;
    margin-left: 6px;
    background: #d6e1e8;
}

.registration-modern .registration-steps b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    line-height: 1;
}

.registration-modern .registration-steps .is-active {
    color: var(--cei-reg-navy);
    font-weight: 600;
}

.registration-modern .registration-modern-container {
    width: 100% ;
    max-width: 1120px ;
    margin: 0 auto ;
    padding: 0 20px ;
    box-sizing: border-box ;
}

.registration-modern .registration-section,
.registration-modern .registration-publications,
.registration-modern .registration-details,
.registration-modern .registration-agreement {
    margin: 0 0 18px ;
    padding: 24px 26px 26px ;
    border: 1px solid var(--cei-reg-border) ;
    border-radius: 10px ;
    background: #fff ;
    box-sizing: border-box ;
}

.registration-modern .registration-section-heading {
    display: grid;
    grid-template-columns: 29px minmax(0, 1fr) auto;
    align-items: start;
    gap: 12px;
    margin: 0 0 19px;
    padding: 0;
    border: 0 !important;
}

.registration-modern .registration-section-heading-simple {
    grid-template-columns: 29px minmax(0, 1fr) ;
}

.registration-modern .registration-section-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-weight: 600;
    line-height: 1;
}

.registration-modern .registration-section-heading-copy {
    min-width: 0;
}

.registration-modern .registration-section-heading h2,
.registration-modern .registration-agreement-title {
    margin: 0 0 3px ;
    padding: 0 ;
    color: var(--cei-reg-navy) ;
    font-size: 23px ;
    font-weight: 600 ;
    line-height: 1.25 ;
    text-align: left ;
    text-transform: none ;
}

.registration-modern .registration-section-heading p {
    margin: 0 ;
    font-weight: 400 ;
    text-align: left ;
}

.registration-modern .registration-selection-tools {
    display: flex ;
    align-items: center ;
    justify-content: flex-end ;
    flex-wrap: wrap ;
    gap: 12px ;
    min-height: 29px;
}

.registration-modern .registration-selection-count,
.registration-modern .registration-select-all {
    color: var(--cei-reg-muted) ;
    font-size: 13px ;
    font-weight: 500 ;
}

.registration-modern .registration-select-all {
    color: var(--cei-reg-blue) ;
}

.registration-modern .registration-publication-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.registration-modern .registration-details-grid {
    display: grid;
}

.registration-modern .registration-field {
    float: none ;
    width: auto ;
    min-width: 0 ;
    min-height: 0 ;
    margin: 0 ;
    padding: 0 ;
}

.registration-modern .registration-field .control-label {
    display: block;
    margin: 0 0 6px;
    color: var(--cei-reg-text);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
    text-align: left;
}

.registration-modern .registration-field .required,
.registration-modern .registration-section-heading .required {
    margin-left: 2px;
    color: #b94b4b;
}

.registration-modern .registration-field .controls {
    width: 100% ;
}

.registration-modern .registration-field input[type="text"],
.registration-modern .registration-field input[type="email"],
.registration-modern .registration-field textarea {
    width: 100% ;
    max-width: none ;
    min-height: 39px ;
    margin: 0 ;
    padding: 8px 10px ;
    border: 1px solid #ccd9e2 ;
    border-radius: 7px ;
    background: #fff ;
    box-shadow: none ;
    color: var(--cei-reg-text) ;
    font-family: inherit ;
    font-size: 14px ;
    font-weight: 400 ;
    line-height: 1.4 ;
    box-sizing: border-box ;
}

.registration-modern .registration-field textarea {
    resize: vertical;
}

.registration-modern .registration-field input:focus-visible,
.registration-modern .registration-field select:focus-visible,
.registration-modern .registration-field textarea:focus-visible {
    outline: 2px solid #2874a6;
    outline-offset: 2px;
}

.registration-modern .registration-field.has-error input,
.registration-modern .registration-field.has-error textarea {
    border-color: #c46a6a !important;
    box-shadow: 0 0 0 3px rgba(196, 106, 106, .10);
}

.registration-modern .registration-field-error {
    min-height: 0 ;
    margin: 5px 0 0 ;
    font-size: 12.5px ;
    line-height: 1.35 ;
}

.registration-modern .registration-field-error:empty {
    display: none ;
}

.registration-modern .registration-agreement-row {
    position: relative;
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    margin: 0;
    cursor: pointer;
}

.registration-modern .registration-agreement-row > input {
    position: absolute;
    width: 20px;
    height: 20px;
    margin: 0;
    opacity: 0;
}

.registration-modern .registration-agreement-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    margin-top: 1px;
    border: 1px solid #aebdca;
    border-radius: 4px;
    background: #fff;
    box-sizing: border-box;
}

.registration-modern .registration-agreement-row > input:checked + .registration-agreement-box {
    border-color: var(--cei-reg-blue);
    background: var(--cei-reg-blue);
}

.registration-modern .registration-agreement-row > input:checked + .registration-agreement-box::after {
    content: "✓";
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

.registration-modern .registration-agreement-row > input:focus-visible + .registration-agreement-box {
    outline: 2px solid #7fb3d5;
    outline-offset: 2px;
}

.registration-modern .agreement-copyright-text,
.registration-modern .agreement-copyright-text p,
.registration-modern .agreement-copyright-text span {
    color: var(--cei-reg-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.55;
}


.registration-modern .registration-submit-row {
    padding: 0 ;
    border: 0 ;
    background: transparent ;
}

.registration-modern .registration-download-button,
.registration-modern .registration-download-button:visited {
    display: inline-flex ;
    align-items: center ;
    justify-content: center ;
    min-width: 210px ;
    min-height: 44px ;
    margin: 0 ;
    padding: 9px 20px ;
    border: 1px solid var(--cei-reg-navy) ;
    border-radius: 6px ;
    background: var(--cei-reg-navy) ;
    box-shadow: none ;
    color: #fff ;
    font-family: inherit ;
    font-size: 14px ;
    font-weight: 600 ;
    line-height: 1.2 ;
    text-transform: none ;
    cursor: pointer ;
    transition: transform .15s ease, background-color .15s ease, border-color .15s ease ;
}

.registration-modern .registration-download-button:hover,
.registration-modern .registration-download-button:focus {
    border-color: #153b5c !important;
    background: #153b5c !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
}

.registration-modern .registration-thankyou {
    max-width: 940px;
    margin: 28px auto 50px;
    padding: 0 20px;
}

.registration-modern .registration-thankyou-panel {
    padding: 38px clamp(20px, 5vw, 48px) 32px;
    border: 1px solid #d4e2ec;
    border-radius: 12px;
    background: #fff;
    text-align: left;
}

.registration-modern .registration-thankyou-header {
    margin-bottom: 30px;
    text-align: center;
}

.registration-modern .registration-thankyou-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 14px;
    border-radius: 50%;
    background: #eaf4fb;
    color: var(--cei-reg-blue);
    font-size: 23px;
    font-weight: 700;
}

.registration-modern .registration-thankyou-panel h2 {
    margin: 0 0 9px;
    color: var(--cei-reg-navy);
    font-size: clamp(26px, 3vw, 32px);
    font-weight: 600;
    line-height: 1.25;
}

.registration-modern .registration-thankyou-intro {
    max-width: 650px;
    margin: 0 auto;
    color: var(--cei-reg-text);
    font-size: 15.5px;
    font-weight: 400;
    line-height: 1.65;
}

.registration-modern .registration-thankyou-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.registration-modern .registration-thankyou-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-width: 0;
    padding: 18px 20px;
    border: 1px solid #d9e3ea;
    border-radius: 9px;
    background: #f7f9fb;
}

.registration-modern .registration-thankyou-document {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.registration-modern .registration-thankyou-pdf-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    height: 48px;
    border: 1px solid #c6dae8;
    border-radius: 7px;
    background: #eaf3f9;
    color: #17466a;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .035em;
}

.registration-modern .registration-thankyou-document-copy {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.registration-modern .registration-thankyou-document-meta {
    color: #506679;
    font-size: 13px;
    line-height: 1.4;
}

.registration-modern .registration-thankyou-card strong {
    min-width: 0;
    color: var(--cei-reg-navy);
    font-size: 15.5px;
    font-weight: 650;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.registration-modern .registration-thankyou-card a,
.registration-modern .registration-thankyou-card a:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex: 0 0 auto;
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid #b7d3e9;
    border-radius: 7px;
    background: #fff;
    color: var(--cei-reg-blue);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.35;
    text-decoration: none;
    white-space: normal;
    text-align: center;
}

.registration-modern .registration-thankyou-card a:hover {
    background: #edf5fb;
    border-color: #7daed1;
}

.registration-modern .registration-thankyou-card a:focus-visible,
.registration-modern .registration-thankyou-actions a:focus-visible {
    outline: 2px solid #2874a6;
    outline-offset: 3px;
}

.registration-modern .registration-thankyou-next {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
    margin-top: 26px;
    padding: 22px 24px;
    border: 1px solid #d9e3ea;
    border-radius: 9px;
    background: #f5f8fb;
}

.registration-modern .registration-thankyou-next-copy {
    min-width: 0;
    flex: 1 1 0;
    text-align: left;
}

.registration-modern .registration-thankyou-next h3 {
    margin: 0 0 5px;
    color: var(--cei-reg-navy);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
}

.registration-modern .registration-thankyou-next p {
    margin: 0;
    color: var(--cei-reg-text);
    font-size: 14px;
    line-height: 1.55;
}

.registration-modern .registration-thankyou-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
}

.registration-modern .registration-thankyou-actions a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 46px;
    padding: 11px 17px;
    border-radius: 7px;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.35;
    text-decoration: none;
    text-align: center;
}

.registration-modern .registration-thankyou-primary,
.registration-modern .registration-thankyou-primary:visited {
    background: #193d5f;
    color: #fff;
}

.registration-modern .registration-thankyou-primary:hover {
    background: #275a80;
    color: #fff;
}

.registration-modern .registration-thankyou-secondary,
.registration-modern .registration-thankyou-secondary:visited {
    color: #1b628f;
    background: transparent;
}

.registration-modern .registration-thankyou-secondary:hover {
    color: #123f69;
    text-decoration: underline;
}

@media (max-width: 850px) {
    .registration-modern .registration-thankyou-next {
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
    }
    .registration-modern .registration-thankyou-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 767px) {
    .registration-modern {
        padding: 24px 0 40px ;
    }

    .registration-modern .registration-modern-header {
        margin-bottom: 20px ;
        padding: 0 16px ;
    }

    .registration-modern .registration-steps {
        font-size: 12px;
    }

    .registration-modern .registration-steps span:not(:last-child)::after {
        width: 18px;
        margin-left: 3px;
    }

    .registration-modern .registration-modern-container {
        padding: 0 16px ;
    }

    .registration-modern .registration-section,
    .registration-modern .registration-publications,
    .registration-modern .registration-details,
    .registration-modern .registration-agreement {
        margin-bottom: 14px ;
        padding: 20px 16px 22px ;
    }

    .registration-modern .registration-section-heading,
    .registration-modern .registration-section-heading-simple {
        grid-template-columns: 29px minmax(0, 1fr) ;
        gap: 10px ;
        margin-bottom: 16px ;
    }

    .registration-modern .registration-agreement-title {
        font-size: 20px ;
    }

    .registration-modern .registration-selection-tools {
        grid-column: 1 / -1;
        justify-content: space-between !important;
        margin-top: 3px;
    }

    .registration-modern .registration-publication-grid,
    .registration-modern .registration-details-grid {
        grid-template-columns: 1fr;
    }

    .registration-modern .registration-thankyou-panel {
        padding: 26px 18px;
    }

    .registration-modern .registration-thankyou-panel h2 {
        font-size: 24px;
    }

    .registration-modern .registration-thankyou-grid {
        grid-template-columns: 1fr;
    }

    .registration-modern .registration-thankyou-card {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
    }

    .registration-modern .registration-thankyou-card a {
        width: 100%;
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .registration-modern .registration-thankyou-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .registration-modern .registration-thankyou-actions a {
        width: 100%;
    }

    .registration-modern .registration-submit-row {
        justify-content: stretch !important;
    }

    .registration-modern .registration-download-button {
        width: 100% ;
        min-width: 0 ;
    }
}

/* ========================================================================== 
   CEI Sample Request v60 — final consistency polish
   Matches the refined Order page without changing the sample-request flow.
   ========================================================================== */
.registration-modern[data-cei-registration-template="v60"] {
    padding: 34px 0 58px ;
    background: #f4f7fa ;
}

/* Header and journey indicator */
.registration-modern[data-cei-registration-template="v60"] .registration-modern-header {
    max-width: 1170px ;
    margin-bottom: 12px ;
}

.registration-modern[data-cei-registration-template="v60"] .registration-modern-header .entry-title {
    max-width: 900px;
    margin-bottom: 10px !important;
    font-size: clamp(36px, 4vw, 48px) !important;
    font-weight: 650;
    letter-spacing: -.025em;
}

.registration-modern[data-cei-registration-template="v60"] .registration-modern-intro {
    max-width: 840px;
    margin-bottom: 8px;
    color: #587084;
}

.registration-modern[data-cei-registration-template="v60"] .registration-modern-trust {
    max-width: 840px;
    margin-bottom: 20px;
}

.registration-modern[data-cei-registration-template="v60"] .registration-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(760px, 100%);
    overflow: hidden;
    border: 1px solid #dbe5ed;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 7px 24px rgba(15, 54, 84, .055);
}

.registration-modern[data-cei-registration-template="v60"] .registration-steps span::after {
    display: none !important;
}

.registration-modern[data-cei-registration-template="v60"] .registration-steps > span {
    grid-template-columns: 32px minmax(0, 1fr);
    min-width: 0;
    padding: 13px 15px;
    color: #6f8393;
    background: #fff;
}

.registration-modern[data-cei-registration-template="v60"] .registration-steps > span + span {
    border-left: 1px solid #e2e9ef;
}

.registration-modern[data-cei-registration-template="v60"] .registration-steps > span.is-active {
    color: #153b5c;
    background: #f1f7fb;
}

.registration-modern[data-cei-registration-template="v60"] .registration-steps > span > b {
}

.registration-modern[data-cei-registration-template="v60"] .registration-steps > span.is-active > b {
}

.registration-modern[data-cei-registration-template="v60"] .registration-step-copy,
.registration-modern[data-cei-registration-template="v60"] .registration-step-copy strong {
    display: block;
    min-width: 0;
}

.registration-modern[data-cei-registration-template="v60"] .registration-step-copy strong {
    margin-bottom: 1px;
    color: #173f64;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
}

/* Main form surfaces — the form is the sole width owner. The legacy
   ordering #manageform .container selectors must not size the sample form. */
.registration-modern[data-cei-registration-template="v60"] > #manageform.registration-modern-form {
    display: block;
    width: calc(100% - 40px);
    max-width: 1120px;
    margin-inline: auto;
    box-sizing: border-box;
}
.registration-modern[data-cei-registration-template="v60"] > #manageform.registration-modern-form > .registration-modern-container {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding-inline: 0;
    box-sizing: border-box;
}
@media (max-width: 767px) {
    .registration-modern[data-cei-registration-template="v60"] > #manageform.registration-modern-form {
        width: calc(100% - 32px);
    }
}

.registration-modern[data-cei-registration-template="v60"] .registration-section,
.registration-modern[data-cei-registration-template="v60"] .registration-publications,
.registration-modern[data-cei-registration-template="v60"] .registration-details,
.registration-modern[data-cei-registration-template="v60"] .registration-agreement {
    margin-bottom: 22px;
    padding: 28px 30px 30px;
    border-color: #d9e3ea;
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(18, 55, 80, .04);
}

.registration-modern[data-cei-registration-template="v60"] .registration-section-heading {
    grid-template-columns: 32px minmax(0, 1fr) auto;
    gap: 12px;
    margin-bottom: 22px !important;
}

.registration-modern[data-cei-registration-template="v60"] .registration-section-heading-simple {
    grid-template-columns: 32px minmax(0, 1fr);
}

.registration-modern[data-cei-registration-template="v60"] .registration-section-number {
    width: 32px;
    height: 32px;
    background: #153b5c;
    font-size: 13px;
}

.registration-modern[data-cei-registration-template="v60"] .registration-section-heading h2,
.registration-modern[data-cei-registration-template="v60"] .registration-agreement-title {
    font-size: 24px ;
    letter-spacing: -.012em;
}

.registration-modern[data-cei-registration-template="v60"] .registration-section-heading p {
    max-width: 760px;
}

/* Selection controls */
.registration-modern[data-cei-registration-template="v60"] .registration-selection-tools {
    gap: 9px ;
}

.registration-modern[data-cei-registration-template="v60"] .registration-selection-count {
    display: inline-flex;
    align-items: center;
    border: 1px solid #d9e3ea;
    border-radius: 999px;
    background: #f7f9fb;
    color: #607587 ;
    font-weight: 600 ;
}

.registration-modern[data-cei-registration-template="v60"] .registration-select-all {
    border: 1px solid #bfd6e6;
    border-radius: 999px;
    background: #edf6fb;
    color: #1b669d ;
    font-weight: 650 ;
    cursor: pointer;
}

.registration-modern[data-cei-registration-template="v60"] .registration-select-all:hover {
    border-color: #9fc5dd;
    background: #e4f1f8;
}

/* Publication cards: keep family colour, reduce visual weight */
.registration-modern[data-cei-registration-template="v60"] .registration-publication-grid {
    gap: 14px;
}

.registration-modern[data-cei-registration-template="v60"] .sample-publication-card {
    min-height: 126px;
    border-color: #d9e3ea;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

/* Detail fields */
.registration-modern[data-cei-registration-template="v60"] .registration-details-grid {
    gap: 18px 20px;
}

.registration-modern[data-cei-registration-template="v60"] .registration-field .control-label {
    margin-bottom: 7px;
    color: #31485b;
    font-weight: 600;
}

.registration-modern[data-cei-registration-template="v60"] .registration-field input[type="text"],
.registration-modern[data-cei-registration-template="v60"] .registration-field input[type="email"],
.registration-modern[data-cei-registration-template="v60"] .registration-field textarea {
    min-height: 44px;
    padding: 10px 12px;
    border-color: #c9d7e1;
    border-radius: 7px;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.registration-modern[data-cei-registration-template="v60"] .registration-field textarea {
    min-height: 88px;
}

.registration-modern[data-cei-registration-template="v60"] .registration-field input:focus,
.registration-modern[data-cei-registration-template="v60"] .registration-field textarea:focus {
    border-color: #5d9bc5 ;
    box-shadow: 0 0 0 3px rgba(39, 118, 185, .11) ;
}

/* Agreement and final action */
.registration-modern[data-cei-registration-template="v60"] .registration-agreement {
    border-color: #d5e3ec;
    background: #f1f6f9;
}

.registration-modern[data-cei-registration-template="v60"] .registration-agreement-row {
    padding: 14px 16px;
    border: 1px solid #d7e3eb;
    border-radius: 9px;
    background: #fff;
}

.registration-modern[data-cei-registration-template="v60"] .registration-download-button,
.registration-modern[data-cei-registration-template="v60"] .registration-download-button:visited {
    min-width: 190px ;
    min-height: 44px ;
    padding: 10px 20px ;
    border-radius: 7px ;
    font-weight: 650 ;
    box-shadow: 0 5px 14px rgba(1, 50, 93, .16) ;
}

.registration-modern[data-cei-registration-template="v60"] .registration-download-button:hover,
.registration-modern[data-cei-registration-template="v60"] .registration-download-button:focus {
    box-shadow: 0 7px 17px rgba(1, 50, 93, .20) !important;
}

/* Thank-you state */
.registration-modern[data-cei-registration-template="v60"] .registration-thankyou-panel {
    border-radius: 12px ;
    box-shadow: 0 6px 20px rgba(18, 55, 80, .05) ;
}

@media (max-width: 767px) {
    .registration-modern[data-cei-registration-template="v60"] {
        padding-top: 28px ;
        padding-bottom: 46px ;
    }

    .registration-modern[data-cei-registration-template="v60"] .registration-modern-header .entry-title {
        font-size: 34px !important;
    }

    .registration-modern[data-cei-registration-template="v60"] .registration-steps {
        grid-template-columns: 1fr;
    }

    .registration-modern[data-cei-registration-template="v60"] .registration-steps > span + span {
        border-left: 0;
        border-top: 1px solid #e2e9ef;
    }

    .registration-modern[data-cei-registration-template="v60"] .registration-section,
    .registration-modern[data-cei-registration-template="v60"] .registration-publications,
    .registration-modern[data-cei-registration-template="v60"] .registration-details,
    .registration-modern[data-cei-registration-template="v60"] .registration-agreement {
        padding: 22px 18px 24px;
        border-radius: 11px;
    }

    .registration-modern[data-cei-registration-template="v60"] .registration-section-heading,
    .registration-modern[data-cei-registration-template="v60"] .registration-section-heading-simple {
        grid-template-columns: 32px minmax(0, 1fr);
    }

    .registration-modern[data-cei-registration-template="v60"] .registration-selection-tools {
        grid-column: 1 / -1;
        justify-content: flex-start ;
        margin-top: 5px;
    }

    .registration-modern[data-cei-registration-template="v60"] .sample-publication-card {
        min-height: 0;
    }

    .registration-modern[data-cei-registration-template="v60"] .registration-agreement-row {
        padding: 13px 14px;
    }
}

/* ======================================================================
   CEI v61 — Sample publication cards: equal height + clean corners
   Keeps the faded family-colour bands, removes the left accent rail that
   could distort the lower-left radius, and equalises all 8 cards.
   ====================================================================== */
@media (min-width: 681px) {
    .registration-modern[data-cei-registration-template="v60"] .registration-publication-grid {
        align-items: stretch ;
    }
}

.registration-modern[data-cei-registration-template="v60"] .sample-publication-card {
    box-shadow: none;

    overflow: hidden ;
    border: 1px solid #d9e3ea;
    border-radius: 9px;
}

@media (max-width: 680px) {
    .registration-modern[data-cei-registration-template="v60"] .registration-publication-grid {
        grid-auto-rows: auto;
    }

    .registration-modern[data-cei-registration-template="v60"] .sample-publication-card {
        height: auto;
        max-height: none;
    }
}

/* ======================================================================
   CEI v63 — Sample cards: tighter equal-height layout
   Reduces the remaining empty space while keeping all 8 cards aligned.
   ====================================================================== */
@media (min-width: 681px) {
    .registration-modern[data-cei-registration-template="v60"] .registration-publication-grid {
        grid-auto-rows: minmax(122px, auto);
    }

    .registration-modern[data-cei-registration-template="v60"] .sample-publication-card {
        height: auto;
        min-height: 122px;
        max-height: none;
    }

}

/* ==========================================================================
   CEI — sample request premium refinement
   Editorial hierarchy, quieter grouping and less card-heavy presentation.
   ========================================================================== */
.registration-modern .registration-modern-header {
    text-align: left ;
}
.registration-modern .registration-modern-header > * {
    max-width: 1160px;
    margin-left: auto;
    margin-right: auto;
}
.registration-modern .registration-modern-eyebrow {
    display: block;
    color: #2874a6;
    font-weight: 800;
    text-transform: uppercase;
}
.registration-modern .registration-modern-header .entry-title {
    color: #153b5c;
    letter-spacing: -.035em;
}
.registration-modern .registration-modern-intro {
    margin: 0 ;
    color: #3f4f5e ;
}
.registration-modern .registration-modern-trust {
    margin: 13px 0 0 ;
}

/* Stepper: a navigation cue, not a SaaS dashboard component. */
.registration-modern .registration-steps {
    margin: 34px 0 0 ;
    padding: 17px 0 0 ;
    border-top: 1px solid #d9e3ea ;
    background: transparent ;
    box-shadow: none ;
}
.registration-modern .registration-steps > span {
    padding: 0 28px 0 0 ;
    background: transparent ;
    border: 0 ;
}
.registration-modern .registration-steps b {
    border-radius: 50% ;
    background: #f7f9fb ;
    border: 1px solid #c9d7e2 ;
    color: #173f5e ;
}
.registration-modern .registration-steps .is-active b {
    background: #153b5c ;
    border-color: #153b5c ;
    color: #fff ;
}
.registration-modern .registration-step-copy strong {
    color: #173f5e ;
}
/* Main form sections: whitespace and rules instead of large framed panels. */
.registration-modern .registration-section {
    padding: 0 ;
    border: 0 ;
    border-radius: 0 ;
    background: transparent ;
    box-shadow: none ;
}
.registration-modern .registration-section-heading {
    border-bottom: 1px solid #d9e3ea;
}
.registration-modern .registration-section-number {
    background: #153b5c;
    color: #fff;
    box-shadow: none;
}

.registration-modern .sample-publication-card {
    border: 1px solid #d9e3ea;
    background: #fff;
    box-shadow: none;
    transform: none;
}
.registration-modern .sample-publication-card:hover {
    transform: translateY(-1px);
}
.registration-modern .sample-publication-title-band {
    background: transparent;
    border-bottom: 0;
}

/* Details and agreement remain functional but visually secondary. */
.registration-modern .registration-details-grid,
.registration-modern .registration-agreement {
    background: transparent ;
}
.registration-modern .registration-field input,
.registration-modern .registration-field select,
.registration-modern .registration-field textarea {
    border-radius: 7px ;
    background: #fff ;
    box-shadow: none ;
}
.registration-modern .registration-field input:focus,
.registration-modern .registration-field select:focus,
.registration-modern .registration-field textarea:focus {
    border-color: #2874a6 !important;
    box-shadow: 0 0 0 3px rgba(40,116,166,.10) !important;
}
.registration-modern .registration-submit-row {
    border-top: 1px solid #d9e3ea ;
}
.registration-modern #btnsubmit {
    box-shadow: none ;
}

@media (max-width: 767px) {
    .registration-modern .registration-steps {
        display: grid ;
        grid-template-columns: 1fr ;
        gap: 12px ;
    }
    .registration-modern .registration-steps > span {
        padding-right: 0 ;
    }
}


/* ==========================================================================
   CEI — registration scale, spacing and colour refinement
   Smaller, tighter and quieter: institutional form rather than landing page.
   ========================================================================== */

/* Hero: reduce promotional scale and tighten vertical rhythm. */
.registration-modern .registration-modern-header {
    padding-top: 48px ;
    padding-bottom: 8px ;
}
.registration-modern .registration-modern-eyebrow {
    margin-bottom: 10px;
    font-size: 10.5px;
    letter-spacing: .13em;
}
.registration-modern .registration-modern-header .entry-title {
    max-width: 720px !important;
    margin-bottom: 14px;
    font-size: clamp(42px, 4.4vw, 52px);
    line-height: 1.04;
}
.registration-modern .registration-modern-intro {
    max-width: 720px ;
    font-size: 17px ;
    line-height: 1.68 ;
}
.registration-modern .registration-modern-trust {
    max-width: 720px ;
    margin-top: 11px ;
    color: #5d6f7d ;
    font-size: 12.5px ;
    line-height: 1.5 ;
}
.registration-modern .registration-modern-trust-icon {
    color: #2874a6 ;
}

/* Stepper: compact and subordinate to the main task. */
.registration-modern .registration-steps {
    max-width: 860px ;
    margin-top: 26px ;
    padding-top: 14px ;
}
.registration-modern .registration-steps > span {
    padding-right: 24px ;
}
.registration-modern .registration-steps b {
    width: 24px ;
    height: 24px ;
    font-size: 10.5px ;
}
.registration-modern .registration-step-copy strong {
    font-size: 14px ;
    font-weight: 600 ;
}
/* Overall form rhythm: less vertical travel. */
.registration-modern .registration-modern-container {
    padding-top: 12px ;
    padding-bottom: 62px ;
}
.registration-modern .registration-section {
    margin-bottom: 46px ;
}
.registration-modern .registration-section-heading {
    margin-bottom: 18px;
    padding-bottom: 17px;
}
.registration-modern .registration-section-heading h2 {
    font-size: 29px ;
    line-height: 1.16 ;
}
.registration-modern .registration-section-heading p {
    margin-top: 7px ;
    color: #5d6f7d ;
    font-size: 14px ;
    line-height: 1.55 ;
}
.registration-modern .registration-section-number {
    width: 29px !important;
    height: 29px !important;
    font-size: 12px !important;
}

/* Utility row: visually quiet. */
.registration-modern .registration-selection-tools {
    color: #5d6f7d ;
    font-size: 12.5px ;
}
.registration-modern .registration-selection-tools a,
.registration-modern .registration-selection-tools button {
    color: #2874a6;
    font-weight: 600;
}

.registration-modern .sample-publication-card {
    border-color: #d9e3ea;
    border-radius: 6px;
}
.registration-modern .sample-publication-card:hover {
    border-color: #b7cad8;
    background: #fbfcfd;
    box-shadow: 0 6px 18px rgba(21,59,92,.05);
}
.registration-modern .sample-publication-card.is-selected {
    border-color: #2874a6;
    background: #fbfdff;
    box-shadow: inset 2px 0 0 #2874a6;
}
.registration-modern .sample-publication-title-band {
    padding-top: 15px;
    padding-bottom: 6px;
}
.registration-modern .sample-publication-title {
    color: #173f5e;
    font-size: 15.5px;
    font-weight: 600;
    line-height: 1.3;
}

/* Form fields: compact, legible, consistent. */
.registration-modern .registration-field {
    margin-bottom: 0 ;
}
.registration-modern .registration-field label {
    margin-bottom: 6px ;
    color: #173f5e ;
    font-size: 13px ;
    font-weight: 600 ;
}
.registration-modern .registration-field input,
.registration-modern .registration-field select,
.registration-modern .registration-field textarea {
    min-height: 44px ;
    padding: 9px 11px ;
    color: #3f4f5e ;
    font-size: 14px ;
    border-color: #d9e3ea ;
}
.registration-modern .registration-field textarea {
    min-height: 96px;
}
.registration-modern .registration-field input::placeholder,
.registration-modern .registration-field textarea::placeholder {
    color: #8795a0;
}

/* Agreement section: retain seriousness without visual bulk. */
.registration-modern .registration-agreement {
    padding-top: 2px ;
}
.registration-modern .registration-agreement,
.registration-modern .registration-agreement label,
.registration-modern .registration-agreement p:not(.registration-agreement-error) {
    color: #3f4f5e ;
    font-size: 13.5px ;
    line-height: 1.6 ;
}

/* CTA: compact and decisive. */
.registration-modern .registration-submit-row {
    padding-top: 22px ;
}
.registration-modern #btnsubmit {
    min-height: 46px ;
    padding: 0 24px ;
    background: #153b5c ;
    border-color: #153b5c ;
    border-radius: 5px ;
    font-size: 14px ;
    font-weight: 700 ;
}
.registration-modern #btnsubmit:hover,
.registration-modern #btnsubmit:focus {
    background: #173f5e !important;
    border-color: #173f5e !important;
}

/* Palette discipline. */
.registration-modern {
    --cei-heading: #153b5c;
    --cei-strong: #173f5e;
    --cei-accent: #2874a6;
    --cei-body: #3f4f5e;
    --cei-muted: #5d6f7d;
    --cei-border: #d9e3ea;
    --cei-soft: #f7f9fb;
}

@media (max-width: 767px) {
    .registration-modern .registration-modern-header {
        padding-top: 38px ;
        padding-bottom: 8px ;
    }
    .registration-modern .registration-modern-header .entry-title {
        font-size: 36px ;
    }
    .registration-modern .registration-modern-intro {
        font-size: 16px ;
    }
    .registration-modern .registration-section-heading h2 {
        font-size: 26px ;
    }
    .registration-modern .registration-modern-container {
        padding-top: 12px ;
        padding-bottom: 50px ;
    }
    .registration-modern .registration-section {
        margin-bottom: 38px ;
    }
    .registration-modern .sample-publication-title {
        font-size: 15px;
    }
}


/* Checkbox/radio accent aligns with order form. */
.registration-modern input[type="checkbox"],
.registration-modern input[type="radio"] {
    accent-color: #2874a6 ;
}

/* 2026-09 sample page palette refinement: calmer, more editorial family accents */
.registration-modern .publication-colour-g7 {
    --pub-accent: #5f88a6; --pub-band: #f4f8fb; --pub-band-selected: #eaf2f7;
    --pub-border: #d9e5ed; --pub-title: #315b78;
}
.registration-modern .publication-colour-asia {
    --pub-accent: #9a7d91; --pub-band: #faf7f9; --pub-band-selected: #f2ebef;
    --pub-border: #e7dce2; --pub-title: #6f5365;
}
.registration-modern .publication-colour-eastern {
    --pub-accent: #6f98a3; --pub-band: #f4f9fa; --pub-band-selected: #eaf3f5;
    --pub-border: #d7e7ea; --pub-title: #446f79;
}
.registration-modern .publication-colour-latin {
    --pub-accent: #78927f; --pub-band: #f5f8f6; --pub-band-selected: #ebf2ed;
    --pub-border: #dbe5de; --pub-title: #516b58;
}
.registration-modern .publication-colour-fx {
    --pub-accent: #9b836f; --pub-band: #faf7f4; --pub-band-selected: #f2ece7;
    --pub-border: #e7ddd5; --pub-title: #715c4d;
}
.registration-modern .publication-colour-energy {
    --pub-accent: #9b7e73; --pub-band: #fbf7f5; --pub-band-selected: #f3ebe8;
    --pub-border: #e8ddd8; --pub-title: #70584f;
}
.registration-modern .publication-colour-usa {
    --pub-accent: #8d7676; --pub-band: #faf7f7; --pub-band-selected: #f2eaea;
    --pub-border: #e5dada; --pub-title: #685151;
}
.registration-modern .publication-colour-current {
    --pub-accent: #877f74; --pub-band: #f9f8f6; --pub-band-selected: #efede9;
    --pub-border: #e3dfd8; --pub-title: #625b52;
}

.registration-modern[data-cei-registration-template="v60"] .sample-publication-card > .sample-publication-title-band {
}

.registration-modern[data-cei-registration-template="v60"] .sample-publication-card.is-selected > .sample-publication-title-band {
}

/* ======================================================================
   CEI sample report selector — clean 3 / 3 / 2 layout
   Compact cards with clear hover/selected states and publication-colour rail.
   ====================================================================== */
.registration-modern[data-cei-registration-template="v60"] .registration-sample-grid {
    display: grid ;
    grid-template-columns: repeat(2, minmax(0, 1fr)) ;
    gap: 12px 30px ;
    align-items: stretch ;
}

.registration-modern[data-cei-registration-template="v60"] .registration-sample-grid > .sample-publication-card {
    grid-column: auto;
    --pub-accent: #2878b5;
    min-width: 0;
    min-height: 122px;
    margin: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 88px;
    align-items: center ;
    overflow: hidden ;
    border: 1px solid #d6e1e9;
    border-left: 4px solid var(--pub-accent);
    border-radius: 8px;
    background: #fff;
    box-shadow: none;
}

.registration-modern[data-cei-registration-template="v60"] .sample-publication-card.publication-colour-g7 { --pub-accent: #2878b5; }
.registration-modern[data-cei-registration-template="v60"] .sample-publication-card.publication-colour-asia { --pub-accent: #d85c9f; }
.registration-modern[data-cei-registration-template="v60"] .sample-publication-card.publication-colour-eastern { --pub-accent: #36b7d3; }
.registration-modern[data-cei-registration-template="v60"] .sample-publication-card.publication-colour-latin { --pub-accent: #3da668; }
.registration-modern[data-cei-registration-template="v60"] .sample-publication-card.publication-colour-fx { --pub-accent: #d86a3d; }
.registration-modern[data-cei-registration-template="v60"] .sample-publication-card.publication-colour-energy { --pub-accent: #e56f4d; }
.registration-modern[data-cei-registration-template="v60"] .sample-publication-card.publication-colour-usa { --pub-accent: #b54848; }
.registration-modern[data-cei-registration-template="v60"] .sample-publication-card.publication-colour-current { --pub-accent: #8a5a3b; }

.registration-modern[data-cei-registration-template="v60"] .sample-publication-card > .sample-publication-title-band {
    width: 100%;
    min-height: 122px;
    padding: 12px 4px 12px 12px;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: center ;
    column-gap: 12px ;
    background: #fff;
    box-sizing: border-box ;
}

.registration-modern[data-cei-registration-template="v60"] .sample-publication-card.is-selected > .sample-publication-title-band {
    background: var(--pub-band-selected);
}

.registration-modern[data-cei-registration-template="v60"] .sample-publication-title-band .sample-publication-title {
    min-width: 0;
    display: grid;
    grid-template-rows: auto auto ;
    align-content: center;
    gap: 3px;
    color: #01325d;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
}

.registration-modern[data-cei-registration-template="v60"] .sample-publication-title-primary,
.registration-modern[data-cei-registration-template="v60"] .sample-publication-title-secondary {
    display: block;
    color: #01325d;
    font-weight: 700;
    white-space: nowrap;
}

.registration-modern[data-cei-registration-template="v60"] .sample-publication-card:hover {
    border-color: #b9cbd8;
    background: #fff;
    border-left-color: var(--pub-accent);
    box-shadow: 0 3px 10px rgba(1, 50, 93, .06);
    transform: translateY(-1px);
}

.registration-modern[data-cei-registration-template="v60"] .sample-publication-card.is-selected {
    border-color: #9eb9cc;
    border-left-color: var(--pub-accent);
    outline: none;
    background: var(--pub-band-selected);
    box-shadow: 0 3px 10px rgba(1, 50, 93, .07);
}


/* Mini document silhouettes are an honest, visible fallback when server PDF rendering is unavailable. */
.registration-modern[data-cei-registration-template="v60"] .sample-publication-preview-fallback {
    display: flex;
    width: 66px;
    height: 86px;
    flex-direction: column;
    gap: 5px;
    padding: 9px 7px;
    overflow: hidden;
    border: 1px solid #dce4eb;
    border-radius: 2px;
    background: #fff;
    box-shadow: 0 3px 8px rgba(1, 40, 70, .09);
}
.registration-modern[data-cei-registration-template="v60"] .sample-publication-preview-heading {
    color: #123859;
    font-size: 5px;
    font-weight: 800;
    line-height: 1.2;
}
.registration-modern[data-cei-registration-template="v60"] .sample-publication-preview-caption {
    color: #526b7d;
    font-size: 5px;
    line-height: 1.2;
}
.registration-modern[data-cei-registration-template="v60"] .sample-publication-preview-rule {
    height: 2px;
    flex: 0 0 2px;
    background: var(--pub-accent);
}
.registration-modern[data-cei-registration-template="v60"] .sample-publication-preview-line {
    height: 3px;
    flex: 0 0 3px;
    background: #e8eef3;
}
.registration-modern[data-cei-registration-template="v60"] .sample-publication-preview-line:last-child {
    width: 72%;
}

/* Sample publication miniatures: supplement the existing selector, not its state. */
.registration-modern[data-cei-registration-template="v60"] .sample-publication-card .sample-publication-preview {
    display: block;
    padding: 12px 10px 12px 0;
    pointer-events: none;
}
.registration-modern[data-cei-registration-template="v60"] .sample-publication-card .sample-publication-preview img {
    display: block;
    width: 66px;
    height: 86px;
    object-fit: contain;
    object-position: top center;
    background: #fff;
    border: 1px solid #dce4eb;
    border-radius: 2px;
    box-shadow: 0 3px 8px rgba(1, 40, 70, .09);
}

@media (max-width: 960px) {
    .registration-modern[data-cei-registration-template="v60"] .registration-sample-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) ;
    }
    .registration-modern[data-cei-registration-template="v60"] .registration-sample-grid > .sample-publication-card,
    .registration-modern[data-cei-registration-template="v60"] .registration-sample-grid > .sample-publication-card:nth-last-child(2),
    .registration-modern[data-cei-registration-template="v60"] .registration-sample-grid > .sample-publication-card:last-child {
        grid-column: auto ;
    }
}

@media (max-width: 620px) {
    .registration-modern[data-cei-registration-template="v60"] .registration-sample-grid {
        grid-template-columns: 1fr ;
    }
    .registration-modern[data-cei-registration-template="v60"] .sample-publication-title-primary,
    .registration-modern[data-cei-registration-template="v60"] .sample-publication-title-secondary {
        white-space: normal;
    }
}


/* ==========================================================================
   CEI sample request — validation consistency + simplified details
   ========================================================================== */
.registration-modern .registration-selection-error,
.registration-modern .registration-agreement-error,
.registration-modern .registration-field-error {
    color: #c62828;
    font-weight: 700;
}

.registration-modern .registration-selection-error {
    margin: 5px 0 0;
    font-size: 13px;
    line-height: 1.35;
}

.registration-modern .registration-selection-error:empty,
.registration-modern .registration-agreement-error:empty {
    display: none;
}

.registration-modern .registration-agreement-error {
    margin: 8px 0 0 30px;
    font-size: 12.5px;
    line-height: 1.35;
}

.registration-modern .registration-details-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 20px;
    align-items: start;
}

.registration-modern .registration-field-email {
    grid-column: auto;
}

@media (max-width: 760px) {
    .registration-modern .registration-details-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .registration-modern .registration-agreement-error {
        margin-left: 0;
    }
}


/* ==========================================================================
   CEI sample request — balanced final actions
   ========================================================================== */
.registration-modern .registration-final-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
    padding-top: 6px;
    border-top: 0;
}


.registration-modern .registration-submit-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    flex-wrap: nowrap;
    margin: 0;
}

.registration-modern .registration-submit-captcha,
.registration-modern .registration-submit-captcha .g-recaptcha,
.registration-modern .registration-download-button {
    flex: 0 0 auto;
    margin: 0;
}

@media (max-width: 900px) {
    .registration-modern .registration-final-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
    }

    .registration-modern .registration-submit-row {
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 14px;
    }
}

@media (max-width: 430px) {
    .registration-modern .registration-submit-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
}

/* Registration sample selection controls: larger, easier-to-read/click desktop controls. */
.registration-modern[data-cei-registration-template="v60"] .registration-selection-count,
.registration-modern[data-cei-registration-template="v60"] .registration-select-all {
    min-height: 38px ;
    padding: 8px 14px ;
    font-size: 14px ;
    line-height: 1.2 ;
}


/* Registration readability: slightly larger supporting copy. */
.registration-modern[data-cei-registration-template="v60"] .registration-modern-intro {
    font-size: 16px ;
    line-height: 1.55 ;
}

.registration-modern[data-cei-registration-template="v60"] .registration-section-heading-copy > p {
    font-size: 14px ;
    line-height: 1.45 ;
}

.registration-modern[data-cei-registration-template="v60"] .registration-agreement-row {
    font-size: 14px ;
    line-height: 1.5 ;
}

/* Select-all control: keep native checkbox inside the pill and aligned with the label. */
.registration-modern[data-cei-registration-template="v60"] .registration-select-all input[type="checkbox"] {
    position: static ;
    inset: auto ;
    float: none ;
    display: block ;
    width: 17px ;
    height: 17px ;
    min-width: 17px ;
    margin: 0 ;
    padding: 0 ;
    flex: 0 0 17px ;
    transform: none ;
    vertical-align: middle ;
}

.registration-modern[data-cei-registration-template="v60"] .registration-select-all {
    display: inline-flex ;
    align-items: center ;
    justify-content: center ;
    gap: 8px ;
    padding-left: 13px ;
    padding-right: 14px ;
    white-space: nowrap ;
}

.registration-modern[data-cei-registration-template="v60"] .registration-select-all > span {
    display: block ;
    line-height: 1.2 ;
}

/* Final action area: remove legacy divider left by older registration rules. */
.registration-modern[data-cei-registration-template="v60"] .registration-final-actions,
.registration-modern[data-cei-registration-template="v60"] .registration-submit-row {
    border-top: 0 ;
}

.registration-modern[data-cei-registration-template="v60"] .registration-submit-row {
    padding-top: 0 ;
}


/* Registration trust line: improve readability and spacing. */
.registration-modern[data-cei-registration-template="v60"] .registration-modern-trust {
    box-sizing: border-box ;
    padding: 8px 12px ;
    font-size: 15px ;
    line-height: 1.5 ;
}

.registration-modern[data-cei-registration-template="v60"] .registration-modern-trust-icon {
    width: 20px;
    height: 20px;
    font-size: 13px;
}

/* Trust statement links to the testimonials without changing its resting appearance. */
.registration-modern[data-cei-registration-template="v60"] a.registration-modern-trust,
.registration-modern[data-cei-registration-template="v60"] a.registration-modern-trust:visited {
    color: #5d6f7d;
    text-decoration: none;
}
.registration-modern[data-cei-registration-template="v60"] a.registration-modern-trust:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}
.registration-modern[data-cei-registration-template="v60"] a.registration-modern-trust:focus-visible {
    outline: 2px solid #2874a6;
    outline-offset: 3px;
    text-decoration: underline;
}

/* Registration validation summary, alongside the existing field messages. */
.registration-modern .registration-validation-summary:not([hidden]) {
    margin: 0 0 22px;
    padding: 14px 18px;
    border: 1px solid #c46a6a;
    border-radius: 6px;
    background: #fff6f5;
    color: #963b3b;
    font-size: 14px;
    line-height: 1.5;
}
.registration-modern .registration-validation-summary ul { margin: 7px 0 0 20px; padding: 0; }

/* Registration journey — match the Order page's spacious segmented stepper.
   Scoped last so earlier compact-stepper !important rules cannot undo it. */
.registration-modern[data-cei-registration-template="v60"] .registration-steps {
    box-sizing: border-box ;
    display: grid ;
    grid-template-columns: repeat(3, minmax(0, 1fr)) ;
    align-items: stretch ;
    gap: 0 ;
    width: min(1120px, 100%) ;
    max-width: 100% ;
    margin: 26px auto 0 ;
    padding: 0 ;
    overflow: hidden;
    border: 1px solid #dce5ec ;
    border-radius: 12px ;
    background: #fff ;
    box-shadow: none ;
}

.registration-modern[data-cei-registration-template="v60"] .registration-steps > span {
    box-sizing: border-box;
    display: grid ;
    grid-template-columns: 32px minmax(0, 1fr);
    align-items: center ;
    gap: 10px ;
    min-width: 0;
    padding: 13px 15px ;
    border: 0 ;
    background: #fff ;
}

.registration-modern[data-cei-registration-template="v60"] .registration-steps > span + span {
    border-left: 1px solid #e2e9ef ;
}

.registration-modern[data-cei-registration-template="v60"] .registration-steps > span.is-active {
    background: #edf5fa ;
}

.registration-modern[data-cei-registration-template="v60"] .registration-steps > span > b {
    width: 32px ;
    height: 32px ;
    margin: 0 ;
    border: 0 ;
    border-radius: 50% ;
    background: #e8f0f6 ;
    color: #6c8294 ;
    font-size: 12px ;
}

.registration-modern[data-cei-registration-template="v60"] .registration-steps > span.is-active > b {
    background: #01325d ;
    color: #fff ;
}

.registration-modern[data-cei-registration-template="v60"] .registration-step-copy strong {
    margin: 0 ;
    color: #173f64 ;
    font-size: 13px ;
    font-weight: 700 ;
    line-height: 1.25 ;
}

@media (max-width: 767px) {
    .registration-modern[data-cei-registration-template="v60"] .registration-steps {
        grid-template-columns: 1fr ;
    }

    .registration-modern[data-cei-registration-template="v60"] .registration-steps > span + span {
        border-left: 0 ;
        border-top: 1px solid #e2e9ef ;
    }
}


/* Sample registration: quiet payment reassurance below the introduction. */
.registration-modern[data-cei-registration-template="v60"] .registration-modern-no-card {
    display: flex;
    align-items: center;
    gap: 9px;
    max-width: 840px;
    margin: 10px 0 0;
    color: #244366;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
}

.registration-modern[data-cei-registration-template="v60"] .registration-modern-no-card-icon {
    display: inline-flex;
    flex: 0 0 18px;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #244366;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

/* Sample-request responsive rhythm — mobile/tablet component owner.
   No changes to selection, validation or form submission. */
@media screen and (max-width: 767px) {
    .registration-modern[data-cei-registration-template="v60"] {
        padding-top: 16px;
        padding-bottom: 36px;
    }
    .registration-modern[data-cei-registration-template="v60"] .registration-modern-header {
        box-sizing: border-box;
        width: min(100% - 32px, 1120px);
        margin: 0 auto 14px;
        padding: 8px 0 0;
    }
    .registration-modern[data-cei-registration-template="v60"] .registration-modern-header .entry-title {
        font-size: clamp(30px, 8vw, 36px);
        line-height: 1.13;
        overflow-wrap: normal;
    }
    .registration-modern[data-cei-registration-template="v60"] .registration-modern-intro {
        font-size: 15px;
        line-height: 1.55;
    }
    .registration-modern[data-cei-registration-template="v60"] .registration-steps {
        width: 100%;
        max-width: 100%;
        margin-top: 16px;
        padding-top: 0;
    }
    .registration-modern[data-cei-registration-template="v60"] > #manageform.registration-modern-form {
        width: calc(100% - 32px);
        margin-top: 0;
    }
    .registration-modern[data-cei-registration-template="v60"] > #manageform.registration-modern-form > .registration-modern-container {
        padding: 12px 0 0;
    }
    .registration-modern[data-cei-registration-template="v60"] .registration-section {
        margin-bottom: 16px;
    }
    /* Keep mobile form text readable and prevent iOS focus zoom. */
    .registration-modern .registration-field input:not([type="checkbox"]):not([type="radio"]),
    .registration-modern .registration-field select,
    .registration-modern .registration-field textarea {
        font-size: 16px;
    }
}
@media screen and (min-width: 768px) and (max-width: 1099px) {
    .registration-modern[data-cei-registration-template="v60"] {
        padding-top: 24px;
        padding-bottom: 46px;
    }
    .registration-modern[data-cei-registration-template="v60"] .registration-modern-header {
        box-sizing: border-box;
        width: min(100% - 48px, 1120px);
        margin: 0 auto 18px;
        padding: 16px 0 0;
    }
    .registration-modern[data-cei-registration-template="v60"] .registration-steps {
        width: 100%;
        max-width: 100%;
        margin-top: 18px;
        padding-top: 0;
    }
    .registration-modern[data-cei-registration-template="v60"] > #manageform.registration-modern-form {
        width: min(100% - 48px, 1120px);
    }
    .registration-modern[data-cei-registration-template="v60"] > #manageform.registration-modern-form > .registration-modern-container {
        padding-top: 16px;
    }
}
