/*
 * styles.css — brand-agnostic layout for the "register is off" page.
 * All brand-specific values are design tokens defined in brands.css and
 * resolved per <html data-brand="...">. Fonts load via the Google Fonts
 * <link> in index.html and are selected through --font-family-*.
 */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    /* Stop iOS from inflating text on orientation change. */
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

/* Webview-friendly page shell. Fills the viewport and vertically centers the
   active screen, but the auto margins (below) keep it scrollable when the
   content is taller than a short webview — plain flex `center` would clip the
   top and make it unreachable. Safe-area padding keeps content clear of the
   notch / home indicator when the host uses viewport-fit=cover. */
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: white;
    padding: max(20px, env(safe-area-inset-top))
             max(20px, env(safe-area-inset-right))
             max(20px, env(safe-area-inset-bottom))
             max(20px, env(safe-area-inset-left));
    overflow-x: hidden;
    overscroll-behavior: none;                 /* no rubber-band / pull-to-refresh */
    -webkit-tap-highlight-color: transparent;  /* no grey flash on tap */
    touch-action: manipulation;                /* no 300ms tap delay / double-tap zoom */
    -webkit-user-select: none;                 /* app-like: don't select UI chrome... */
    user-select: none;
}

/* ...but inputs must stay selectable/editable. */
input, textarea {
    -webkit-user-select: text;
    user-select: text;
}

/* Vertically center the visible screen yet remain fully scrollable when tall.
   Full-width on a phone, capped to a card on wider screens. */
#formulario,
#sucesso {
    width: 100%;
    max-width: 460px;
    margin-top: auto;
    margin-bottom: auto;
}

h4, button {
    font-family: var(--font-family-title);
}

h4 {
    font-weight: 400;
    font-size: 24px;
    margin: 24px 0;
}

label,
p {
    font-family: var(--font-family-body) !important;
}


h1 {
    font-family: var(--font-family-title) !important;
    font-size: 2em !important;
    font-weight: 400;
}

p {
    font-size: 1.2em !important;
}

input:focus {
    outline: none!important;
}

.color-primary {
    color: var(--color-support);
}

.clickaBleSpan {
    cursor: pointer;
}

.btn-primary {
    width: auto;
    padding: 0px 20px;
}

.btn-primary,
.btn-primary:hover {
    background-color: var(--color-action) !important;
    margin: 24px 32px 40px 32px;
    min-width: 164px;
    width: auto;
    white-space: nowrap;
    height: 42px;
    padding: 0 24px;
    background: var(--color-action);
    border: none;
    border-radius: 100px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    text-transform: uppercase;
    box-shadow: 0px 4px 4px 0px color-mix(in srgb, var(--color-shadow) 6%, transparent);
    cursor: pointer;
    color: var(--color-on-primary-action);
    font-family: var(--font-family-title)!important;

}

.btn-primary.disabled {
    color: black;
    opacity: 0.4;
    background-color: var(--color-neutral-grey-lighter)!important;
}

.display-none {
    display: none !important;
}

.alt-form-row {
    margin: 2%;
    margin-bottom: 20px;
}

.alt-form-row label {
    margin-bottom: 1%;
    font-size: 12px;
}

.alt-form-row button {
    margin-top: 20px!important;
}

.alt-form-row.check {
    margin-bottom: 10px!important;
}

.alt-form-row .form-check label {
    font-size: 12px;
}

.alt-text-input {
    padding: 12px;
    font-family: var(--font-family-title) !important;
    border-radius: 4px;
    font-size: 14px;
}

.alt-text-input::placeholder {
    opacity: 0.4;
    font-size: 0.9em;
}

.header {
    margin: 30px;
    margin-top: 10px;
}

.header h1, .success-container h1 {
    font-size: 24px !important;
    margin-bottom: 20px;
}

.header p, .success-container p {
    font-size: 16px !important;
    font-family: var(--font-family-title) !important;
}

.form-check-input {
    border: 1px solid #000000;
    border-radius: 0 !important;
    width: 17px;
    height: 17px;
}

.form-check-input:checked {
    background-color: #ffffff;
    border: 2px solid #000000;
}

.form-check-input:checked[type=checkbox] {
    background-image: url("assets/check.png");
    background-size: 10px;
}

.box-checkbox {
    margin-top: 20px;
    margin-bottom: 20px;
    padding-left: 15px;
}

.successfullImage {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 150px;
}

.success-container {
    margin-top: 150px;
    padding: 10px;
}

.mb-30 {
    margin-bottom: 30px;
}

.loadingDiv {
    width: 100%;
    height: 100%;
    position: fixed;
    background-color: #FFFFFF;
    top: 0px;
    z-index: 9;
}

.loadingContainder {
    width: 33%;
    margin: auto;
    vertical-align: middle;
}

.loadingBox {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    bottom: 0;
    display: flex;
}

.loadingBox p {
    text-align: center;
    font-size: 0.8em!important;
    text-transform: uppercase;
}

.icon-image {
    text-align: center;
}

.icon-image svg {
    width: 130px;
    height: 130px;
}

.button-row {
    text-align: center;
    justify-content: center;
}

.success-container .button-row {
    margin-top: 0px;
}

.success-container .alt-form-row button {
    margin-top: 0px !important;
}
