/* A mesma marca e textura da página principal, em molduras suaves. */
body .rede-header { gap:24px; background:var(--ink) url('/cartaz-textura.svg') repeat; background-size:180px 180px; border:0; padding:26px max(24px,calc((100vw - 850px)/2)); border-radius:0 0 28px 28px; }
body .rede-header .brand { display:block; width:290px; max-width:65%; }
.rede-header .brand img { display:block; width:100%; height:auto; }
body .rede-header .back { display:inline-flex; align-items:center; min-height:44px; color:var(--paper); font:600 13px/1.4 Arial,sans-serif; text-decoration:none; }
body .rede-header a:focus-visible { outline:2px solid var(--paper); outline-offset:5px; border-radius:8px; }
body.rede-registration { isolation:isolate; background:var(--paper); color:var(--ink); }
body.rede-registration::before { content:''; position:fixed; inset:0; z-index:-1; background:url('/cartaz-textura.svg') repeat; background-size:180px 180px; opacity:.08; pointer-events:none; }
.form-page:has(#registration-form) { max-width:850px; padding-top:28px; }
#registration-content>.eyebrow { display:table; margin:0 0 14px; padding:9px 14px; border:1px solid #d6cfc2; border-radius:999px; background:#f0ebe1; color:var(--ink); letter-spacing:.06em; font-size:11px; line-height:1.4; }
body #registration-content>h1 { position:relative; isolation:isolate; overflow:hidden; background:var(--red); color:var(--paper); font:900 clamp(30px,4.6vw,46px)/1.06 var(--heading); text-transform:uppercase; padding:26px; margin:0 0 20px; border:0; border-radius:26px; box-shadow:0 6px 18px #210b0b0b; letter-spacing:-.02em; overflow-wrap:normal; text-wrap:pretty; }
body #registration-content>h1::before { content:''; position:absolute; inset:0; z-index:-1; background:url('/cartaz-textura.svg') repeat; background-size:180px 180px; opacity:.35; pointer-events:none; }
#registration-content .introduction { font:16px/1.5 Arial,sans-serif; margin:20px 4px; }
body #registration-form { position:relative; isolation:isolate; background:#f8f3e9; border:1px solid #d6cfc2; border-radius:28px; box-shadow:0 8px 24px #17171708; padding:28px; }
body #registration-form::before { content:''; position:absolute; inset:0; z-index:-1; border-radius:inherit; background:url('/cartaz-textura.svg') repeat; background-size:180px 180px; opacity:.1; pointer-events:none; }
#registration-form fieldset { min-width:0; background:#fbf7efb8; border:1px solid #d6cfc2; border-radius:20px; padding:18px; margin:26px 0; }
body #registration-form legend,body #registration-form .field>label { font:800 21px/1.15 var(--heading); letter-spacing:0; color:var(--ink); }
#registration-form legend { padding:0 8px; max-width:100%; }
#registration-form .hint { color:#544a3e; font:13px/1.45 Arial,sans-serif; }
body #registration-form input:not([type=checkbox]):not([type=radio]) { min-width:0; border:1px solid #a39b8e; border-radius:16px; background:#fffdf8; font:16px/1.4 Arial,sans-serif; color:var(--ink); min-height:48px; }
#registration-form .choice { box-sizing:border-box; background:#f0ebe1; padding:12px; min-height:48px; border:1px solid #d6cfc2; border-radius:14px; font:15px/1.4 Arial,sans-serif; align-items:center; }
#registration-form .choice:has(input:checked) { border-color:var(--red); background:#fff8ef; box-shadow:inset 3px 0 var(--red); }
#registration-form input[type=checkbox],#registration-form input[type=radio] { display:inline-block; width:20px; height:20px; min-height:20px; padding:0; flex:0 0 20px; accent-color:var(--red); margin:0; }
#registration-form input:focus-visible,#registration-form button:focus-visible { outline:2px solid var(--red); outline-offset:3px; }
#registration-form .choices { gap:8px; }
#registration-form .posting-choices { grid-template-columns:1fr; }
#registration-form .privacy { background:#eee8dc; border-radius:20px; padding:16px; }
#registration-form .privacy .choice { border:0; background:transparent; padding:4px; box-shadow:none; }
.contact-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; }
.contact-grid .field { margin:0; min-width:0; }
.neighborhood-add { display:flex; gap:8px; align-items:center; }
.neighborhood-add input { min-width:0; }
.neighborhood-add .button { flex-shrink:0; border-radius:999px; }
.selected-neighborhoods { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.neighborhood-chip { max-width:100%; overflow-wrap:anywhere; border:1px solid var(--ink); border-radius:999px; background:var(--ink) url('/cartaz-textura.svg') repeat; color:var(--paper); padding:10px 14px; min-height:44px; cursor:pointer; font:14px Arial,sans-serif; }
body #registration-form #submit-registration { width:100%; min-height:50px; border-radius:999px; background:var(--red) url('/cartaz-textura.svg') repeat; background-size:180px 180px; color:var(--paper); font:800 22px/1.2 var(--heading); padding:14px 20px; border:0; box-shadow:0 4px 12px #210b0b12; }
body.rede-registration #registration-success { background:var(--paper) url('/cartaz-textura.svg') repeat; border:1px solid #d6cfc2; border-top:4px solid var(--red); border-radius:28px; }
@media(max-width:600px) {
 body .rede-header { padding:22px 18px; gap:16px; border-radius:0 0 22px 22px; }
 body .rede-header .brand { width:230px; max-width:64%; }
 body .rede-header .back { font-size:12px; }
 .form-page:has(#registration-form) { padding:24px 16px 16px; }
 body #registration-content>h1 { padding:20px; border-radius:22px; }
 body #registration-form { padding:20px 16px; border-radius:24px; }
 #registration-form fieldset { padding:14px 12px; border-radius:18px; }
 #registration-form legend { padding:0 5px; }
 .contact-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
 .neighborhood-add .button { padding:12px; }
}
@media(max-width:380px) { .neighborhood-add { flex-wrap:wrap; } .neighborhood-add .button { width:100%; } }
