/* Shared identity: the original registry's directness with the Comodo layout. */
:root { --purple: #51408c; --deep: #29234e; --ink: #29263b; --muted: #6d697b; }
h1, h2, h3, h4, h5, h6, .brand, .footer-brand {
    font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-weight: 500;
}
.brand { font-size: 22px; font-weight: 500; letter-spacing: -.35px; }
.brand small { letter-spacing: 1.5px; }
.brand svg { color: #b9afe2; }
.site-header { background: #29234e; }
.site-header .navbar { min-height: 82px; }
.primary-button, .app-page .btn-primary, .app-page .btn-success {
    background: #58468f;
    color: #fff;
    border-color: transparent;
}
.primary-button:hover, .app-page .btn-primary:hover, .app-page .btn-success:hover {
    background: #473777;
    color: #fff;
    filter: none;
}
.site-header .primary-button { background: #f0edf9; color: #3e335f; }
.site-header .primary-button:hover { background: #fff; color: #3e335f; }
.site-header .nav-link.active, .site-header .nav-link:hover { color: #d4c9f2; }
.registry-stats strong { font-family: Roboto, sans-serif; font-weight: 500; }
.register-strip { background: #302752; }
.register-strip .primary-button { background: #fff; color: #45355f; }
.site-footer { background: #25203f; }
.footer-brand { font-size: 20px; }

/* Verification remains the first task on desktop and mobile. */
.home-page .hero {
    background: #30294f;
    padding: 30px 0 38px;
}
.home-page .hero-copy { text-align: center; margin-bottom: 27px; }
.home-page .hero h1 { font-size: 39px; line-height: 1.2; letter-spacing: -1px; margin: 0 0 7px; }
.home-page .hero-tagline { font-size: 17px; color: #d7cfee; letter-spacing: .2px; }
.home-page .hero-description { margin: 10px auto 0; max-width: 670px; font-size: 14px; line-height: 1.7; color: #d7d1e4; }
.home-page .verification-box {
    max-width: none;
    padding: 23px 28px 20px;
    border: 1px solid #e5e0ed;
    border-radius: 6px;
    box-shadow: 0 4px 16px #19142f14;
}
.home-page .verification-box h2 { font-size: 23px; line-height: 1.3; margin: 0 0 5px; }
.home-page .form-intro { font-size: 13px; margin: 0 0 17px; }
.lookup-grid { display: grid; grid-template-columns: 240px minmax(0, 1fr) 150px; gap: 16px; align-items: end; }
.lookup-grid label { font-size: 12px; margin: 0 0 7px; }
.lookup-grid .form-select, .lookup-grid .form-control { min-height: 48px; font-size: 13px; border-radius: 4px; }
.home-page .verify-button { margin: 0; min-height: 48px; padding: 13px 17px; border-radius: 4px; gap: 12px; white-space: nowrap; }
.lookup-hint { font-size: 11px; color: #797285; margin-top: 9px; }
.home-page .verification-note { margin-top: 12px; padding-top: 12px; font-size: 11px; }
.home-page .services-section { padding: 35px 0 42px; }
.home-page .section-intro { margin-bottom: 23px; }
.home-page .section-intro h2 { font-size: 26px; letter-spacing: -.5px; }
.home-page .section-intro > p { font-size: 12px; }
.home-page .service h3 { font-size: 19px; line-height: 1.35; }
.home-page .service-label { margin-bottom: 11px; }
.home-page .service p { font-size: 12px; }
.home-page .service-action { font-size: 12px; }
.home-page .how-section { padding: 38px 0 42px; }
.home-page .how-section h2 { font-size: 29px; line-height: 1.3; }
.home-page .step h3 { font-size: 18px; }
.home-page .step > span { font-family: Roboto, sans-serif; font-size: 22px; }
.home-page .register-strip h2 { font-size: 25px; }
.home-page .soon, .home-page .availability { font-size: 9px; }

/* A single shared sign-in surface, with clearly distinct account roles. */
.signin-page { min-height: 100vh; display: flex; flex-direction: column; background: #f5f4f8; }
.signin-navigation { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.signin-home { display: inline-flex; align-items: center; gap: 9px; color: #ded8ef; font-size: 13px; white-space: nowrap; }
.signin-home:hover { color: #fff; }
.signin-main { flex: 1; padding: 46px 22px 34px; }
.signin-container { width: 100%; max-width: 460px; margin: 0 auto; }
.signin-card { padding: 32px; border: 1px solid #dfdbe7; border-radius: 8px; background: #fff; box-shadow: 0 4px 16px #28203e05; }
.signin-context { color: #796991; font-size: 10px; letter-spacing: 1.4px; margin: 0 0 12px; font-weight: 500; }
.signin-card h1 { font-size: 29px; line-height: 1.25; letter-spacing: -.5px; margin: 0 0 12px; }
.signin-description { color: #746d7f; font-size: 13px; line-height: 1.8; margin: 0 0 28px; }
.signin-field { margin-bottom: 21px; }
.signin-field label { display: block; font-size: 13px; font-weight: 500; margin: 0 0 8px; color: #3b3449; }
.signin-field .form-control { min-height: 48px; padding: 12px 13px; border-radius: 4px; background: #fff; border-color: #d9d3e2; font-size: 14px; }
.signin-field .form-control::placeholder { font-size: 12px; color: #89818f; }
.signin-hint { font-size: 11px; line-height: 1.7; margin-top: 9px; color: #7d7586; }
.signin-label-row { display: flex; justify-content: space-between; align-items: baseline; gap: 15px; }
.signin-label-row a { font-size: 12px; color: #665184; }
.signin-submit { width: 100%; min-height: 48px; border-radius: 4px; justify-content: center; font-size: 14px; margin-top: 3px; }
.signin-secondary { margin-top: 25px; padding-top: 21px; border-top: 1px solid #ebe7ef; font-size: 12px; color: #7d7485; }
.signin-secondary a, .signin-role-switch a { color: #604c82; text-decoration: underline; text-underline-offset: 3px; }
.signin-transition { margin-top: 15px; font-size: 11px; line-height: 1.8; }
.signin-error { border: 1px solid #ebd4d9; background: #fff3f4; color: #923c50; padding: 12px 14px; font-size: 12px; line-height: 1.8; border-radius: 4px; margin-bottom: 23px; }
.signin-role-switch { margin: 21px 0 0; text-align: center; font-size: 12px; color: #807586; }
.signin-footer { text-align: center; padding: 15px 22px 27px; color: #8a8293; }
.signin-footer p { font-size: 12px; margin-bottom: 9px; }
.signin-footer small { font-size: 10px; line-height: 1.9; }
.signin-footer small span { margin: 0 6px; }
.signin-footer a { color: #7c7189; text-decoration: underline; }

@media (max-width: 991px) {
    .lookup-grid { grid-template-columns: 200px minmax(0, 1fr); }
    .home-page .verify-button { grid-column: 1 / -1; justify-content: center; gap: 20px; }
    .home-page .hero h1 { font-size: 35px; }
    .home-page .hero-copy { margin-bottom: 23px; }
}
@media (max-width: 575px) {
    .site-header .navbar, .signin-navigation { min-height: 74px; }
    .brand, .app-page .brand { font-size: 20px; gap: 9px; }
    .brand small { font-size: 7px; letter-spacing: 1.1px; }
    .brand svg { width: 27px; height: 33px; }
    .home-page .hero { padding: 24px 0 25px; }
    .home-page .hero h1 { font-size: 31px; margin-bottom: 5px; }
    .home-page .hero-tagline { font-size: 14px; }
    .home-page .hero-description { font-size: 12px; line-height: 1.7; margin-top: 9px; }
    .home-page .hero-copy { margin-bottom: 21px; }
    .home-page .verification-box { padding: 21px 20px 18px; }
    .home-page .verification-box h2 { font-size: 21px; }
    .home-page .form-intro { font-size: 12px; margin-bottom: 20px; }
    .lookup-grid { grid-template-columns: minmax(0, 1fr); gap: 17px; }
    .home-page .verify-button { margin-top: 1px; }
    .home-page .verification-note { font-size: 10px; line-height: 1.8; }
    .lookup-hint { font-size: 10px; line-height: 1.8; }
    .home-page .services-section { padding: 28px 0; }
    .home-page .section-intro h2 { font-size: 24px; }
    .home-page .section-intro > p { margin-top: 8px; }
    .home-page .service-list > div { width: 50%; }
    .home-page .service-list > div .service,
    .home-page .service-list > div:last-child .service,
    .home-page .service-list > div:nth-child(2) .service {
        padding: 18px 14px; border-left: 1px solid var(--line); border-bottom: 1px solid var(--line);
    }
    .home-page .service-list > div:nth-child(odd) .service { padding-left: 0; border-left: 0; }
    .home-page .service-list > div:nth-child(even) .service { padding-right: 0; }
    .home-page .service-list > div:nth-last-child(-n+2) .service { border-bottom: 0; }
    .home-page .service h3 { font-size: 17px; line-height: 1.35; }
    .home-page .service p { font-size: 11px; line-height: 1.8; margin-bottom: 17px; }
    .home-page .service-action { font-size: 10px; gap: 8px; }
    .home-page .availability { font-size: 7px; letter-spacing: .2px; }
    .home-page .section-intro { margin-bottom: 20px; }
    .home-page .how-section h2 { font-size: 26px; }
    .home-page .register-strip h2 { font-size: 24px; line-height: 1.3; }
    .signin-main { padding: 27px 20px 28px; }
    .signin-card { padding: 27px 23px; }
    .signin-card h1 { font-size: 26px; }
    .signin-description { font-size: 12px; }
    .signin-home { font-size: 11px; gap: 5px; }
    .signin-navigation { padding-left: 20px; padding-right: 20px; gap: 12px; }
    .signin-page .brand { font-size: 19px; }
    .signin-page .brand small { letter-spacing: .7px; font-size: 6px; }
}
@media (max-width: 360px) {
    .signin-home { font-size: 10px; }
    .signin-page .brand { font-size: 17px; }
    .signin-page .brand small { font-size: 5px; }
    .signin-card { padding: 25px 20px; }
}

/* Seller context stays on this page; the registry response never contains it. */
.home-page .lookup-grid { grid-template-columns: 240px minmax(0, 1fr); }
.seller-details { border-top: 1px solid #ebe7f0; padding: 16px 0 0; margin-top: 16px; min-width: 0; }
.seller-details legend { float: none; width: auto; font-size: 12px; font-weight: 500; margin: 0 0 12px; }
.seller-details legend span { color: #84798d; font-weight: 400; margin-left: 10px; font-size: 11px; }
.seller-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 150px; gap: 16px; align-items: end; }
.seller-grid label { font-size: 12px; margin: 0 0 7px; }
.seller-grid .form-control { min-height: 48px; font-size: 13px; border-radius: 4px; }
.seller-privacy { color: #766c80; font-size: 10px; line-height: 1.8; margin-top: 12px; max-width: 850px; }
.verification-context { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; border-top: 1px solid #00000012; padding-top: 14px; margin: 15px 0 0; overflow-wrap: anywhere; }
.verification-context dt { font-size: 10px; font-weight: 400; opacity: .8; margin-bottom: 4px; }
.verification-context dd { font-size: 12px; margin: 0; }
#result[data-state="ambiguous"], #result[data-state="pending"] { border-color: #a87717; background: #fff7e6; }
@media (max-width: 991px) {
    .seller-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .seller-grid .verify-button { grid-column: 1 / -1; }
}
@media (max-width: 575px) {
    .home-page .lookup-grid, .seller-grid { grid-template-columns: minmax(0, 1fr); }
    .seller-details legend span { display: block; margin: 5px 0 0; }
    .seller-details { padding-top: 14px; margin-top: 14px; }
    .seller-privacy { font-size: 10px; }
    .verification-context { grid-template-columns: minmax(0, 1fr); }
}
