.tcc-register-revisions {
    --tcc-register-green: #3f8186;
    --tcc-register-red: #bb2827;
    --tcc-register-orange: #fd780f;
    --tcc-register-text: #2f3133;
    --tcc-register-muted: #6b6f73;
    --tcc-register-line: #d9ddda;
    color: var(--tcc-register-text);
    margin: 0;
    padding: 0;
    width: 100%;
}

.tcc-register-revisions__head,
.tcc-register-revisions__item {
    column-gap: clamp(1.25rem, 4vw, 4rem);
    display: grid;
    grid-template-columns: minmax(5.5rem, 0.6fr) minmax(12rem, 1.15fr) minmax(0, 2.25fr);
}

.tcc-register-revisions__head {
    border-bottom: 2px solid var(--tcc-register-green);
    font-size: 0.82em;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 0 0 0.8rem;
}

.tcc-register-revisions__item {
    border-bottom: 1px solid var(--tcc-register-line);
    padding-block: 1.15rem;
}

.tcc-register-revisions__cell {
    min-width: 0;
    overflow-wrap: anywhere;
}

.tcc-register-revisions__version {
    border-left: 3px solid var(--tcc-register-red);
    font-weight: 700;
    padding-left: 0.75rem;
}

.tcc-register-revisions__note small {
    color: var(--tcc-register-orange);
    display: block;
    font-size: 0.78em;
    margin-top: 0.35rem;
}

.tcc-register-revisions__label { display: none; }

@media (max-width: 680px) {
    .tcc-register-revisions__head {
        border: 0;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        height: 1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        white-space: nowrap;
        width: 1px;
    }

    .tcc-register-revisions__item {
        display: block;
        padding-block: 1.35rem;
    }

    .tcc-register-revisions__cell {
        display: grid;
        gap: 0.25rem;
        grid-template-columns: minmax(5.5rem, 0.42fr) minmax(0, 1fr);
        margin-top: 0.7rem;
    }

    .tcc-register-revisions__cell:first-child { margin-top: 0; }
    .tcc-register-revisions__version { padding-left: 0.7rem; }

    .tcc-register-revisions__label {
        color: var(--tcc-register-muted);
        display: inline;
        font-size: 0.78em;
        font-weight: 700;
        letter-spacing: 0.06em;
    }

    .tcc-register-revisions__note small { grid-column: 2; }
}

/* Registered record list. */
.tcc-registry-records {
    --tcc-registry-green: #3f8186;
    --tcc-registry-red: #bb2827;
    --tcc-registry-orange: #fd780f;
    --tcc-registry-dark: #2f3133;
    --tcc-registry-line: #d9ddda;
    width: 100%;
}

.tcc-registry-records__item {
    border-bottom: 1px solid var(--tcc-registry-line);
    border-left: 3px solid var(--tcc-registry-orange);
    padding: 1.2rem 3rem 1.2rem 1.15rem;
    position: relative;
}

.tcc-registry-records__item.is-restricted { border-left-color: var(--tcc-registry-red); }
.tcc-registry-records__item.is-internal { border-left-color: var(--tcc-registry-dark); }
.tcc-registry-records__meta { color: var(--tcc-registry-green); font-size: .78em; font-weight: 700; letter-spacing: .08em; }
.tcc-registry-records__item.is-restricted .tcc-registry-records__meta { color: var(--tcc-registry-red); }
.tcc-registry-records__item.is-internal .tcc-registry-records__meta { color: var(--tcc-registry-dark); }
.tcc-registry-records__title { margin: .35rem 0 .45rem; }
.tcc-registry-records__description { margin: 0; max-width: 68rem; }
.tcc-registry-records__link { align-items: center; display: flex; font-size: 1.35rem; inset: 0 0 0 auto; justify-content: center; position: absolute; text-decoration: none; width: 3rem; }

/* v0.4.0: detail pages reproduce the approved REGISTRY fixed-page sample. */
.tcc-registry-detail {
    --tcc-registry-page: #ffffff;
    --tcc-registry-panel: #f7f7f7;
    --tcc-registry-dark: #313337;
    --tcc-registry-muted: #666a6d;
    --tcc-registry-line: #d9ddda;
    --tcc-registry-green: #3f8186;
    --tcc-registry-orange: #fd780f;
    --tcc-registry-red: #bb2827;
    background: var(--tcc-registry-page);
    box-sizing: border-box;
    color: var(--tcc-registry-dark);
    font-family: inherit;
    font-size: 16px;
    line-height: 1.8;
    margin: 0;
    max-width: none;
    padding: 0;
    width: 100%;
}

.tcc-registry-detail *,
.tcc-registry-detail *::before,
.tcc-registry-detail *::after { box-sizing: inherit; }

.tcc-registry-detail a {
    color: inherit;
    text-decoration-color: var(--tcc-registry-green);
    text-decoration-thickness: 1px;
    text-underline-offset: .2em;
}

.tcc-registry-detail__page {
    background: var(--tcc-registry-panel);
    margin: 0;
    padding: 0;
}

.tcc-registry-detail__hero {
    margin-top: 0;
    min-height: 620.5px;
    padding: 124.8px 48px;
    position: relative;
}

.tcc-registry-detail__return {
    font-family: inherit;
    font-size: .9375rem;
    line-height: 1.8;
    font-weight: 500;
    letter-spacing: .025em;
    text-decoration: none;
    transition: color .15s ease;
}

.tcc-registry-detail__return:hover,
.tcc-registry-detail__return:focus-visible { color: var(--tcc-registry-orange); }

.tcc-registry-detail__return--top {
    border-left: 3px solid var(--tcc-registry-red);
    color: var(--tcc-registry-dark);
    font-size: 1rem;
    margin: 0;
    padding-left: 13px;
    position: absolute;
    right: 0;
    top: 19.2px;
}

.tcc-registry-detail__hero-layout {
    align-items: end;
    display: grid;
    gap: 48px;
    grid-template-columns: 240px minmax(0, 1fr);
}

.tcc-registry-detail__card {
    background: var(--tcc-registry-page);
    border-top: 3px solid var(--tcc-registry-orange);
    min-height: 371px;
    padding: 19.2px;
}

.tcc-registry-detail__card-label,
.tcc-registry-detail__eyebrow {
    color: var(--tcc-registry-orange);
    font-size: .92rem;
    letter-spacing: .025em;
    margin: 0;
}

.tcc-registry-detail__card-note {
    font-size: .94rem;
    line-height: 1.65;
    margin: 7px 0 30px;
}

.tcc-registry-detail__card dl,
.tcc-registry-detail__card dd,
.tcc-registry-detail__card dt { margin: 0; }
.tcc-registry-detail__card dl { display: grid; gap: 13px; }
.tcc-registry-detail__card dt { color: var(--tcc-registry-orange); font-size: .92rem; letter-spacing: .025em; }
.tcc-registry-detail__card dd { font-size: 1rem; line-height: 1.4; margin-top: 1px; }

.tcc-registry-detail__identity { min-width: 0; padding-bottom: 16px; }
.tcc-registry-detail__identity > h1 {
    color: var(--tcc-registry-dark);
    font-family: "G2サンセリフ-B", "Arial Black", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: clamp(2rem, 1.25rem + 3.5vw, 4rem);
    font-weight: 700;
    letter-spacing: .005em;
    line-height: 1.25;
    margin: 15px 0 12px;
    overflow-wrap: anywhere;
}

.tcc-registry-detail__type { font-size: 1rem; font-weight: 700; margin: 0 0 8px; }
.tcc-registry-detail__lead { font-size: 1rem; line-height: 1.8; margin: 0; max-width: 680px; }

.tcc-registry-detail__content-section,
.tcc-registry-detail__closing { padding: 76px 48px; }

.tcc-registry-detail__section-title {
    align-items: flex-start;
    border-left: 3px solid var(--tcc-registry-green);
    display: flex;
    justify-content: space-between;
    margin-bottom: 46px;
    padding-left: 33px;
}

.tcc-registry-detail__section-title p,
.tcc-registry-detail__section-title h2 { margin: 0; }

.tcc-registry-detail__section-title p,
.tcc-registry-detail__mini-label {
    color: var(--tcc-registry-green);
    font-size: .96rem;
    font-weight: 700;
    letter-spacing: .015em;
}

.tcc-registry-detail__section-title h2 { font-size: 1.02rem; margin-top: 8px; }
.tcc-registry-detail__linked-mark { color: var(--tcc-registry-green); font-size: .9rem; font-weight: 400; }

.tcc-registry-detail__authoritative-text {
    font-size: 1rem;
    line-height: 1.8;
    margin-left: 36px;
    max-width: 1020px;
}
.tcc-registry-detail__authoritative-text > p { margin: 0; }
.tcc-registry-detail__authoritative-text > p + p { margin-top: 1em; }

.tcc-registry-detail__info-table { margin: 0 24px; }
.tcc-registry-detail__info-table > div {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(0, 1.35fr);
    min-height: 74px;
}

.tcc-registry-detail__info-table dt,
.tcc-registry-detail__info-table dd {
    align-items: center;
    display: flex;
    line-height: 1.55;
    margin: 0;
    padding: 15px 18px;
}
.tcc-registry-detail__info-table dt { color: #3b3d40; }
.tcc-registry-detail__info-table dd { font-size: 1rem; overflow-wrap: anywhere; }

.tcc-registry-detail__single-column {
    display: grid;
    gap: 76px;
    grid-template-columns: 1fr;
}

.tcc-registry-detail__text-block,
.tcc-registry-detail__evidence-block {
    border-left: 3px solid var(--tcc-registry-green);
    padding: 2px 0 2px 20px;
}
.tcc-registry-detail__text-block.is-orange,
.tcc-registry-detail__evidence-block.is-orange { border-left-color: var(--tcc-registry-orange); }

.tcc-registry-detail__text-block h2,
.tcc-registry-detail__evidence-block h2 { font-size: 1rem; margin: 6px 0 25px; }
.tcc-registry-detail__mini-label { margin: 0; }
.tcc-registry-detail__text-block > p:not(.tcc-registry-detail__mini-label) { line-height: 1.8; margin: 0; }
.tcc-registry-detail__text-block > p + p { margin-top: 1em; }
.tcc-registry-detail__text-block ul { margin: 0; padding-left: 1.25rem; }
.tcc-registry-detail__text-block li { line-height: 1.8; }

.tcc-registry-detail__evidence-block > a { display: block; line-height: 1.55; margin-top: 18px; }
.tcc-registry-detail__evidence-block > a span { color: var(--tcc-registry-orange); margin-left: 7px; }
.tcc-registry-detail__evidence-block > p:last-child:not(.tcc-registry-detail__mini-label) {
    color: var(--tcc-registry-muted);
    font-size: .9rem;
    line-height: 1.8;
    margin: 18px 0 0;
}

.tcc-registry-detail__matrix .tcc-registry-reference-matrix { margin: 0 24px; }
.tcc-registry-reference-matrix dt { color: var(--tcc-registry-dark); font-weight: 700; margin-top: 1.2rem; }
.tcc-registry-reference-matrix dt:first-child { margin-top: 0; }
.tcc-registry-reference-matrix dd { border-left: 3px solid var(--tcc-registry-orange); margin: .35rem 0 0; padding: .25rem 0 .25rem 1rem; }

.tcc-registry-detail__related { border-top: 1px solid var(--tcc-registry-line); }
.tcc-registry-detail__related > a {
    align-items: center;
    border-bottom: 1px solid var(--tcc-registry-line);
    display: grid;
    gap: 20px;
    grid-template-columns: 115px 1fr auto;
    min-height: 66px;
    padding: 12px 5px;
    text-decoration: none;
}
.tcc-registry-detail__related > a > span { color: var(--tcc-registry-green); font-family: Georgia, "Times New Roman", serif; letter-spacing: .045em; }
.tcc-registry-detail__related > a > strong { font-weight: 500; }
.tcc-registry-detail__related > a > i { color: var(--tcc-registry-orange); font-style: normal; }

.tcc-registry-detail__restriction {
    background: var(--tcc-registry-page);
    border-left: 3px solid var(--tcc-registry-red);
    padding: 1rem 1.2rem;
}
.tcc-registry-detail__restriction strong { color: var(--tcc-registry-red); font-size: .8rem; letter-spacing: .08em; }
.tcc-registry-detail__restriction p { margin: .35rem 0 0; }

.tcc-registry-detail__closing-copy { margin-left: 36px; }
.tcc-registry-detail__closing-copy > p { line-height: 1.8; margin: 0; max-width: 1000px; }
.tcc-registry-detail__closing-copy > p + p { margin-top: 28px; }
.tcc-registry-detail .tcc-registry-detail__return--bottom {
    color: var(--tcc-registry-green);
    display: block;
    font-size: 1.08rem;
    margin: 38px 0 0;
    text-align: right;
}

.tcc-registry-detail__footer {
    align-items: end;
    background: var(--tcc-registry-page);
    display: grid;
    gap: 28px;
    grid-template-columns: 1fr 2fr 1fr;
    padding: 10px 0 28.8px;
}

.tcc-registry-detail__footer-home {
    align-items: center;
    display: flex;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .78rem;
    gap: 10px;
}
.tcc-registry-detail__qr { display: block; height: 60px; object-fit: contain; width: 60px; }
.tcc-registry-detail__copyright { font-family: Georgia, "Times New Roman", serif; font-size: .98rem; letter-spacing: .02em; margin: 0; text-align: center; }
.tcc-registry-detail__barcode { aspect-ratio: 5 / 1; display: block; height: 50px; justify-self: end; object-fit: cover; width: min(250px, 100%); }

@media (max-width: 780px) {
    .tcc-registry-records__item { padding-right: 2.5rem; }

    .tcc-registry-detail {
        padding: 0;
        width: 100%;
    }

    .tcc-registry-detail__page { padding: 0; }
    .tcc-registry-detail__hero { margin-top: 0; min-height: auto; padding: 90px 22px 72px; }
    .tcc-registry-detail__return--top { font-size: .84rem; top: 19.2px; }
    .tcc-registry-detail__hero-layout { gap: 54px; grid-template-columns: 1fr; }
    .tcc-registry-detail__card { max-width: none; order: 2; }
    .tcc-registry-detail__identity { order: 1; }
    .tcc-registry-detail__identity > h1 {
        line-height: 1.25;
    }

    .tcc-registry-detail__content-section,
    .tcc-registry-detail__closing { padding: 62px 22px; }
    .tcc-registry-detail__section-title { gap: 18px; padding-left: 18px; }
    .tcc-registry-detail__linked-mark { font-size: .75rem; white-space: nowrap; }
    .tcc-registry-detail__authoritative-text,
    .tcc-registry-detail__closing-copy { font-size: 1rem; margin-left: 20px; }

    .tcc-registry-detail__info-table { margin-inline: 0; }
    .tcc-registry-detail__info-table > div { border-bottom: 1px solid var(--tcc-registry-line); display: block; padding: 14px 0; }
    .tcc-registry-detail__info-table dt,
    .tcc-registry-detail__info-table dd { padding: 3px 18px; }
    .tcc-registry-detail__info-table dt { font-size: .82rem; }
    .tcc-registry-detail__single-column { gap: 52px; }
    .tcc-registry-detail__related > a { gap: 5px 14px; grid-template-columns: 96px 1fr auto; }
    .tcc-registry-detail__matrix .tcc-registry-reference-matrix { margin-inline: 0; }

    .tcc-registry-detail__footer { align-items: center; grid-template-columns: 60px minmax(0, 1fr); }
    .tcc-registry-detail__footer-home { grid-column: 1; grid-row: 2; }
    .tcc-registry-detail__footer-home span { display: none; }
    .tcc-registry-detail__copyright { font-size: .76rem; grid-column: 1 / -1; grid-row: 1; }
    .tcc-registry-detail__barcode { grid-column: 2; grid-row: 2; width: min(220px, 100%); }
}

/* v0.4.1: WordPress/unitone owns placement; components own internal spacing. */
:where(.tcc-registry-records, .tcc-registry-description, .tcc-registry-empty,
       .tcc-registry-reference-matrix) { margin: 0; padding: 0; }
.tcc-registry-description > :first-child { margin-top: 0; }
.tcc-registry-description > :last-child { margin-bottom: 0; }
.tcc-registry-records { color: #333; font-family: inherit; line-height: 1.8; }
.tcc-registry-records, .tcc-registry-records * { box-sizing: border-box; min-width: 0; }
.tcc-registry-records__item { margin: 0; background: #f7f7f7; overflow-wrap: anywhere; }
.tcc-registry-records__title { font-family: inherit; font-size: clamp(1.125rem, 1rem + .5vw, 1.5rem); font-weight: 700; line-height: 1.5; }
.tcc-registry-records__meta { font-size: .8125rem; line-height: 1.6; }
.tcc-registry-records__description { font-size: 1rem; }
.tcc-registry-records__link { color: #fd780f; min-width: 44px; }
.tcc-registry-records__link:focus-visible { outline: 2px solid #3f8186; outline-offset: -3px; }
.tcc-registry-detail__card dl > div:nth-child(2) dt { color: var(--tcc-registry-red); }
.tcc-registry-detail__card dl > div:nth-child(3) dt { color: #123247; }
.tcc-registry-detail__card dl > div:nth-child(4) dt { color: var(--tcc-registry-green); }
.tcc-registry-detail .tcc-registry-detail__return { font-size: .9375rem; }
.tcc-registry-detail__return--top { right: 22px; }
.tcc-registry-detail__footer { padding: 16px 22px; }
/* Host adapter applies only to virtual record pages, never the REGISTRY main page.
   Low specificity leaves block styles and site custom CSS free to add spacing. */
:where(body.tcc-registry-record-page .wp-block-post-content) > .tcc-registry-detail {
    max-width: 1024px;
    margin-inline: auto;
}
@media (max-width: 780px) {
    :where(body.tcc-registry-record-page .wp-block-post-content) {
        padding-inline: 0;
    }
    :where(body.tcc-registry-record-page .wp-block-post-content) > .tcc-registry-detail {
        max-width: none;
        margin: 0;
    }
    .tcc-registry-detail__section-title { flex-wrap: wrap; }
    .tcc-registry-detail__related > a { overflow-wrap: anywhere; grid-template-columns: 80px minmax(0, 1fr) auto; }
}
