/* Registration layout; native validation and password controls keep their hooks. */
#tm-content .riko-signup { margin-bottom: 24px; color: var(--riko-ink); }
#tm-content .riko-signup__heading {
    --signup-welcome-image: url("/media/rikoooo/aviation/optimized/registration-aviation-welcome-wide.webp?v=ffe1de25b411");
    display: block;
    min-height: 300px;
    padding: clamp(24px, 3vw, 40px);
    margin-bottom: 24px;
    border: 1px solid var(--riko-line);
    border-radius: 14px;
    background-color: var(--riko-brand-deep);
    background-image: linear-gradient(90deg, color-mix(in srgb, var(--riko-brand-deep) 94%, transparent) 0%, color-mix(in srgb, var(--riko-brand-deep) 90%, transparent) 48%, color-mix(in srgb, var(--riko-brand-deep) 20%, transparent) 78%), var(--signup-welcome-image);
    background-position: center, center top;
    background-size: cover;
    color: var(--riko-inverse);
}
:root[data-riko-palette="forest"] #tm-content .riko-signup__heading {
    --signup-welcome-image: url("/media/rikoooo/aviation/optimized/registration-astra-welcome-wide.webp?v=6b8505545f36");
}
#tm-content .riko-signup__heading > div { max-width: 58%; }
#tm-content .riko-signup__eyebrow {
    margin: 0 0 10px;
    color: var(--riko-inverse);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
#tm-content .riko-signup .riko-signup__heading h1 {
    margin: 0;
    /* The legacy .tm-content h1 rule marks ordinary reading ink important. */
    color: var(--riko-inverse) !important;
    font-size: clamp(28px, 2.7vw, 42px);
    font-weight: 700;
    line-height: 1.14;
    letter-spacing: -.025em;
}
#tm-content .riko-signup__lead {
    max-width: 760px;
    margin: 14px 0 0;
    color: var(--riko-inverse);
    font-size: 16px;
    line-height: 1.65;
}
#tm-content .riko-signup__login {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin-top: 12px;
    flex-shrink: 0;
    padding: 10px 0;
    color: var(--riko-inverse);
    font-size: 14px;
    text-decoration: underline;
    text-underline-offset: 4px;
}
#tm-content .riko-signup__login:focus-visible {
    outline: 3px solid var(--riko-focus-on-brand);
    outline-offset: 5px;
}
#tm-content .riko-signup__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    gap: clamp(24px, 3vw, 48px);
    align-items: start;
}
#tm-content .riko-signup__form-panel {
    min-width: 0;
    padding: clamp(20px, 2.5vw, 32px);
    border: 1px solid var(--riko-line);
    border-radius: 14px;
    background: var(--riko-surface);
    box-shadow: 0 8px 24px color-mix(in srgb, var(--riko-brand-deep) 6%, transparent);
}
#tm-content .riko-signup__form-panel h2,
#tm-content .riko-signup__story h2 {
    margin: 0 0 20px;
    color: var(--riko-ink);
    font-size: clamp(21px, 1.8vw, 26px);
    line-height: 1.3;
}
#tm-content .riko-signup .riko-signup__google {
    width: 100%;
    gap: 12px;
    margin: 0;
    color: var(--riko-ink);
}
#tm-content .riko-signup__separator {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 24px 0;
    color: var(--riko-muted);
    font-size: 13px;
}
#tm-content .riko-signup__separator::before,
#tm-content .riko-signup__separator::after {
    flex: 1;
    height: 1px;
    background: var(--riko-line);
    content: "";
}
#tm-content .riko-signup__required {
    margin: 0 0 20px;
    color: var(--riko-muted);
    font-size: 12px;
    line-height: 1.5;
}
#tm-content .riko-signup .riko-register-fieldset { gap: 24px 20px; align-items: start; }
#tm-content .riko-signup .riko-register-fieldset-default:has(.riko-register-field-jform_riko_first_name) .riko-register-field-jform_username {
    grid-column: 1 / -1;
}
#tm-content .riko-signup .riko-register-fieldset-default:not(:has(.riko-register-field-jform_email2)) .riko-register-field-jform_email1 {
    grid-column: 1 / -1;
}
/* The required-field note already replaces Joomla's standalone spacer. */
#tm-content .riko-signup .riko-register-field-jform_spacer { display: none; }
#tm-content .riko-signup .riko-register-label { font-size: 14px; font-weight: 650; line-height: 1.5; }
#tm-content .riko-signup .riko-register-control input,
#tm-content .riko-signup .riko-register-control select { color: var(--riko-ink); font-weight: 400; }
#tm-content .riko-signup .riko-register-control input:is([type="text"], [type="email"], [type="password"]) {
    height: 50px;
    min-height: 50px !important;
    padding-block: 10px;
    font-size: 16px !important;
    line-height: 1.4 !important;
}
/* Both native password groups start beneath their labels; guidance follows the inputs. */
#tm-content .riko-signup :is(.riko-register-field-jform_password1, .riko-register-field-jform_password2) .riko-register-control {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
#tm-content .riko-signup .riko-register-control > .password-group { order: 0; width: 100%; }
#tm-content .riko-signup .riko-register-control > [id$="-rules"] {
    order: 1;
    margin: 0;
    color: var(--riko-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
}
#tm-content .riko-signup :is(.riko-register-field-jform_password1, .riko-register-field-jform_password2) .riko-register-control > .riko-register-helper { order: 2; margin: 0; }
/* Remove only the visual strength bar; Joomla keeps its rules and validation hooks. */
#tm-content .riko-signup .password-group meter { display: none; }
#tm-content .riko-signup .password-group .input-group { position: relative; }
#tm-content .riko-signup .password-group .input-group > input { padding-right: 54px !important; }
#tm-content .riko-signup .password-group .input-group > .input-password-toggle {
    position: absolute;
    top: 3px;
    right: 3px;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    color: var(--riko-action);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
#tm-content .riko-signup .input-password-toggle .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}
#tm-content .riko-signup .riko-register-control .invalid {
    border-color: var(--riko-danger) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--riko-danger) 14%, transparent) !important;
}
#tm-content .riko-signup .riko-register-helper,
#tm-content .riko-signup__activation {
    color: var(--riko-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.6;
}
#tm-content .riko-signup__activation { margin: 0 0 12px; }
#tm-content .riko-signup .riko-register-control input:focus-visible {
    outline: 2px solid var(--riko-focus);
    outline-offset: 2px;
}
#tm-content .riko-signup .riko-signup__privacy {
    padding: 0 !important;
    margin: 14px 0 0 !important;
    border-radius: 0;
    background: transparent;
    font-weight: 400;
}
#tm-content .riko-signup .riko-register-privacy a {
    text-decoration: underline;
    text-underline-offset: 2px;
}
#tm-content .riko-signup .riko-register-submit { flex: 1; }
#tm-content .riko-signup .riko-register-cancel { min-width: 80px; }
#tm-content .riko-signup__story { min-width: 0; padding-top: 12px; }
#tm-content .riko-signup__preview { margin: 0 0 24px; }
#tm-content .riko-signup__preview img {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid var(--riko-line);
    border-radius: 12px;
}
#tm-content .riko-signup__preview figcaption {
    margin-top: 10px;
    color: var(--riko-muted);
    font-size: 12px;
    line-height: 1.5;
}
#tm-content .riko-signup__benefits { margin: 0; }
#tm-content .riko-signup__benefits > div {
    padding: 18px 0;
    border-top: 1px solid var(--riko-line);
}
#tm-content .riko-signup__benefits dt {
    margin: 0 0 6px;
    color: var(--riko-ink);
    font-size: 15px;
    font-weight: 700;
}
#tm-content .riko-signup__benefits dd {
    margin: 0;
    color: var(--riko-muted);
    font-size: 14px;
    line-height: 1.65;
}
/* Keep reading copy inside the separators on phone and tablet layouts. */
@media (max-width: 1024px) {
    #tm-content .riko-signup__story > h2,
    #tm-content .riko-signup__preview figcaption,
    #tm-content .riko-signup__benefits > div {
        box-sizing: border-box;
        padding-inline: clamp(16px, 2.5vw, 24px);
    }
}
@media (max-width: 1000px) {
    #tm-content .riko-signup__heading { display: block; }
    #tm-content .riko-signup__login { display: inline-block; margin-top: 12px; }
    #tm-content .riko-signup__layout { grid-template-columns: minmax(0, 1fr); }
    #tm-content .riko-signup__story { max-width: 680px; justify-self: center; padding-top: 0; }
    #tm-content .riko-signup__heading {
        padding-top: 180px;
        background-image: linear-gradient(180deg, color-mix(in srgb, var(--riko-brand-deep) 20%, transparent), var(--riko-brand-deep) 240px), var(--signup-welcome-image);
        background-size: cover, auto 240px;
        background-position: center, right top;
        background-repeat: no-repeat;
    }
    #tm-content .riko-signup__heading > div { max-width: none; }
}
@media (max-width: 600px) {
    #tm-content .riko-signup__heading { padding: 180px 20px 22px; border-radius: 12px; }
    #tm-content .riko-signup__lead { font-size: 15px; }
    #tm-content .riko-signup__form-panel { padding: 20px 16px; }
    #tm-content .riko-signup .riko-register-fieldset { grid-template-columns: minmax(0, 1fr); }
}
@media (forced-colors: active) {
    #tm-content .riko-signup__heading { background-image: none; }
}

/* Background delivery: same photographs and framing, bounded decode sizes.
   WebP/original fallback; one AVIF candidate when it is smaller. */
@media screen and (max-width: 980px) {
#tm-content .riko-signup__heading {
  --signup-welcome-image: url("/media/rikoooo/aviation/optimized/registration-aviation-welcome-mobile.webp?v=5cd8c1fb3940");
}

:root[data-riko-palette="forest"] #tm-content .riko-signup__heading {
  --signup-welcome-image: url("/media/rikoooo/aviation/optimized/registration-astra-welcome-mobile.webp?v=5ad2fd0fedd7");
}
}

@supports (background-image: image-set(url("data:,") type("image/avif"))) {
#tm-content .riko-signup__heading {
  --signup-welcome-image: image-set(url("/media/rikoooo/aviation/optimized/registration-aviation-welcome-wide.avif?v=33d662527178") type("image/avif"), url("/media/rikoooo/aviation/optimized/registration-aviation-welcome-wide.webp?v=ffe1de25b411") type("image/webp"));
}

:root[data-riko-palette="forest"] #tm-content .riko-signup__heading {
  --signup-welcome-image: image-set(url("/media/rikoooo/aviation/optimized/registration-astra-welcome-wide.avif?v=1e6b9ca24121") type("image/avif"), url("/media/rikoooo/aviation/optimized/registration-astra-welcome-wide.webp?v=6b8505545f36") type("image/webp"));
}
}

@supports (background-image: image-set(url("data:,") type("image/avif"))) {
@media screen and (max-width: 980px) {
#tm-content .riko-signup__heading {
  --signup-welcome-image: image-set(url("/media/rikoooo/aviation/optimized/registration-aviation-welcome-mobile.avif?v=2b51d3a60e07") type("image/avif"), url("/media/rikoooo/aviation/optimized/registration-aviation-welcome-mobile.webp?v=5cd8c1fb3940") type("image/webp"));
}

:root[data-riko-palette="forest"] #tm-content .riko-signup__heading {
  --signup-welcome-image: image-set(url("/media/rikoooo/aviation/optimized/registration-astra-welcome-mobile.avif?v=6627dac49e53") type("image/avif"), url("/media/rikoooo/aviation/optimized/registration-astra-welcome-mobile.webp?v=5ad2fd0fedd7") type("image/webp"));
}
}
}


/* The central dark role owns both night sizes; daylight and Astra retain their scenes. */
@media screen and (forced-colors: none) {
  :root[data-riko-mode="dark"]:is(:not([data-riko-palette]), [data-riko-palette="default"]) #tm-content .riko-signup__heading {
    --signup-welcome-image: var(--riko-ambience-registration-image);
  }
}
