:root { --center-nudge: 0px; } /* Force 115% scale */ html { zoom: 1.00; } @supports not (zoom: 1) { body { transform: scale(1.00); transform-origin: top center; } } /* Minimal styles for the requested new form classes */ .vxnEW { background: rgba(20,20,20,0.85); border: 1px solid rgba(255,255,255,0.08); border-radius: 20px; padding: 16px; box-shadow: 0 20px 60px rgba(0,0,0,0.5); margin-left: auto; margin-right: auto; overflow: hidden; } .hEI1S { position: absolute; top: 8px; right: 8px; color: #9ca3af; background: transparent; border: 0; padding: 8px; border-radius: 8px; } .hEI1S:hover { background: rgba(255,255,255,0.06); color: #fff; } .input-group { position: relative; margin-bottom: 10px; } .group.hasLabel.placeh .label { display: block; color: #9ca3af; font-size: .8rem; margin-bottom: 6px; } /* Prevent mobile zoom on focus (iOS zooms if font-size < 16px) */ html, body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; overflow-x: hidden; width: 100%; } input, select, textarea { font-size: 17px; } input[type="text"], input[type="email"], input[type="password"], input[type="tel"], select, textarea { font-size: 17px !important; line-height: 1.45; } ::placeholder { font-size: 17px; } button, input, select, textarea { -webkit-tap-highlight-color: transparent; touch-action: manipulation; } /* iOS-specific safeguard */ @supports (-webkit-touch-callout: none) { input, select, textarea { font-size: 17px !important; } } .peer.input { width: 100%; padding: 12px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); color: #fff; border-radius: 10px; font-size: 17px; min-height: 56px; } .peer.input:focus { outline: none; border-color: #08d4ff; box-shadow: 0 0 0 3px rgba(8,212,255,.15); background: rgba(255,255,255,0.08); } .btn-submit { width: 100%; background: linear-gradient(135deg,#08d4ff,#05bfe6); color: #000; font-weight: 700; padding: 12px 14px; border-radius: 12px; border: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; box-shadow: 0 8px 24px rgba(8,212,255,.25); } .btn-submit:hover { transform: translateY(-1px); box-shadow: 0 12px 32px rgba(8,212,255,.35); } .buttonBox { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; } .text-auth-texts { color: #9ca3af; align-items: center; text-align: center;} .text-auth-links, .text-primary { color: #08d4ff; } /* Password field: flex row keeps input and icon aligned on the same level */ .password-field .input-group.has-suffix { position: relative; display: flex; align-items: center; } .password-field .input-group.has-suffix label.group { flex: 1 1 auto; } /* Suffix inline, inside the input visual area via negative margin */ .password-field .input-group.has-suffix .suffix { position: static; width: 40px; height: 36px; display: flex; align-items: center; justify-content: center; margin-left: -40px; } .password-field .input-group.has-suffix .password-show { cursor: pointer; color: #9ca3af; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; } .password-field .input-group.has-suffix .password-show:hover { color: #ffffff; } .password-field .input-group.has-suffix .password-show .cdn-icon { transform: translateY(-1px); } .registerImageBanner { border-radius: 16px; } .imageContainerRegisterDiv { overflow: hidden; } .tabs.default button, .tabs.default a { color: #9ca3af; } .tabs.default .text-primary { color: #08d4ff; } /* Phone DDI layout adjustments */ .ddi.default .absolute { position: absolute; top: 0; bottom: 0; left: 12px; display: flex; align-items: center; z-index: 5; } /* Phone DDI + positioning inside the input (legacy .phone-field support) */ .phone-field { position: relative; } /* DDI aligned to same text line */ .phone-field .ddi-wrapper { position: absolute; left: 12px; top: calc(12px + 0.725em); transform: translateY(-50%); height: 36px; display: flex; align-items: center; z-index: 5; } /* padding-left widened to comport longer DDIs (e.g., +351, +598) */ label[for="phone"] .peer.input { padding-left: 148px; min-height: 58px; } /* Visual divider to integrate DDI inside the input */ .phone-field::after { content: ""; position: absolute; left: 120px; top: calc(12px + 0.725em); transform: translateY(-50%); height: 32px; width: 1px; background: rgba(255,255,255,0.12); pointer-events: none; } .phone-field:focus-within::after { background: rgba(8,212,255,0.35); } .phone-field:focus-within .ddi-button { color: #fff; } /* New input-group.ddi structure support to match snippet */ .input-group.ddi { position: relative; } .input-group.ddi .ddi-wrapper { position: absolute; left: 12px; top: calc(20px + 0.725em); transform: translateY(-50%); height: 36px; display: flex; align-items: center; z-index: 5; } .input-group.ddi .ddi-button { height: 100%; padding-top: 0; padding-bottom: 0; } .input-group.ddi::after { content: ""; position: absolute; left: 120px; top: calc(12px + 0.725em); transform: translateY(-50%); height: 32px; width: 1px; background: rgba(255,255,255,0.12); pointer-events: none; } .input-group.ddi:focus-within::after { background: rgba(8,212,255,0.35); } .input-group.ddi:focus-within .ddi-button { color: #fff; } .password-field label.group { position: relative; } .password-field .input-group.has-suffix .group .peer.input { padding-right: 40px; min-height: 58px; } /* Divider no longer needed in flex layout */ .password-field .input-group.has-suffix::after { content: none; } .ddi-button { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; background: transparent; border: none; color: #e5e7eb; } .ddi-button:focus { outline: none; } .ddi-button .nuxt-icon svg { width: 20px; height: 20px; border-radius: 50%; display: block; } /* Dropdown positioning */ .ddi-wrapper { position: relative; display: inline-block; } .country-dropdown { z-index: 1000; min-width: 260px; max-width: 95vw; } /* Ultra-small screens: tighten left padding/divider to prevent overflow */ @media (max-width: 360px) { label[for="phone"] .peer.input { padding-left: 128px; } .phone-field::after { left: 100px; } .input-group.ddi::after { left: 100px; } } /* Ultra-narrow phones */ @media (max-width: 340px) { .vxnEW{ margin: 0 8px; } label[for="phone"] .peer.input { padding-left: 120px; } .input-group.ddi::after { left: 94px; } } @media (max-width: 320px) { .vxnEW{ margin: 0 6px; } label[for="phone"] .peer.input { padding-left: 112px; } .input-group.ddi::after { left: 88px; } } @media (max-width: 640px){ .vxnEW{ margin: 0 12px; } } /* Page Styles */ .cadastro-section { margin-top: 100px; padding: 4rem 0; background: #0a0a0a; min-height: calc(100vh - 100px); position: relative; display: flex; justify-content: center; } .cadastro-container { max-width: 1200px; width: 100%; margin: 0 auto; padding: 0 2rem; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; min-height: calc(100vh - 200px); } /* Left Section */ .left-section { display: flex; flex-direction: column; justify-content: center; position: relative; } .brand-content { position: relative; z-index: 2; } .brand-logo { width: 120px; height: 120px; background: linear-gradient(135deg, #08d4ff, #05bfe6); border-radius: 24px; margin-bottom: 2rem; display: flex; align-items: center; justify-content: center; font-size: 3rem; color: white; font-weight: 900; box-shadow: 0 20px 40px rgba(8, 212, 255, 0.3); position: relative; } .brand-logo::after { content: ''; position: absolute; inset: -4px; background: linear-gradient(135deg, #08d4ff, #05bfe6); border-radius: 28px; z-index: -1; opacity: 0.3; animation: pulse 3s infinite; } @keyframes pulse { 0%, 100% { transform: scale(1); opacity: 0.3; } 50% { transform: scale(1.05); opacity: 0.1; } } .brand-title { font-size: 3rem; font-weight: 900; margin-bottom: 1rem; background: linear-gradient(135deg, #ffffff, #9ca3af); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; line-height: 1.1; } .brand-subtitle { font-size: 1.3rem; color: #6b7280; line-height: 1.6; margin-bottom: 3rem; } .highlight-text { color: #08d4ff; font-weight: 700; } .benefits-list { display: flex; flex-direction: column; gap: 1.5rem; } .benefit-item { display: flex; align-items: center; gap: 1rem; color: #e5e7eb; font-size: 1.1rem; } .benefit-icon { width: 40px; height: 40px; background: rgba(8, 212, 255, 0.2); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #08d4ff; font-size: 1.1rem; flex-shrink: 0; } /* Right Section */ .right-section { display: flex; align-items: center; justify-content: center; } .cadastro-card { background: rgba(20, 20, 20, 0.8); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 24px; padding: 3rem; width: 100%; max-width: 450px; backdrop-filter: blur(20px); box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden; } .cadastro-card::before { content: ''; position: absolute; top: 0; right: 0; width: 150px; height: 150px; background: linear-gradient(135deg, rgba(8, 212, 255, 0.1), transparent); border-radius: 50%; transform: translate(50%, -50%); } .cadastro-header { text-align: center; margin-bottom: 2.5rem; position: relative; z-index: 2; } .cadastro-icon { width: 60px; height: 60px; background: linear-gradient(135deg, #08d4ff, #05bfe6); border-radius: 16px; margin: 0 auto 1.5rem; display: flex; align-items: center; justify-content: center; color: black; font-size: 1.5rem; box-shadow: 0 8px 24px rgba(8, 212, 255, 0.3); } .cadastro-title { font-size: 1.8rem; font-weight: 700; color: white; margin-bottom: 0.5rem; } .cadastro-subtitle { color: #9ca3af; font-size: 1rem; } /* Form Styles */ .cadastro-form { display: flex; flex-direction: column; gap: 1.5rem; position: relative; z-index: 2; } .form-group { position: relative; } .form-input { width: 100%; padding: 1rem 1rem 1rem 3rem; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; color: white; font-size: 1rem; transition: all 0.3s ease; } .form-input:focus { outline: none; border-color: #08d4ff; background: rgba(255, 255, 255, 0.08); box-shadow: 0 0 0 3px rgba(8, 212, 255, 0.18); } .form-input::placeholder { color: #6b7280; } .input-icon { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: #6b7280; font-size: 1rem; transition: color 0.3s ease; } .form-group:focus-within .input-icon { color: #08d4ff; } /* Phone Input with Country Selector */ .phone-group { position: relative; } .phone-input-container { display: flex; position: relative; } .country-selector { position: relative; z-index: 10; } .selected-country { display: flex; align-items: center; gap: 0.5rem; padding: 1rem 0.75rem; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-right: none; border-radius: 12px 0 0 12px; cursor: pointer; transition: all 0.3s ease; min-width: 100px; white-space: nowrap; } .selected-country:hover { background: rgba(255, 255, 255, 0.08); border-color: #08d4ff; } .country-flag { width: 24px; height: 16px; object-fit: cover; border-radius: 2px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); } .country-code { color: white; font-size: 0.9rem; font-weight: 600; } .dropdown-arrow { color: #6b7280; font-size: 0.8rem; transition: transform 0.3s ease; } .country-selector.active .dropdown-arrow { transform: rotate(180deg); } .country-selector.active .selected-country { border-color: #08d4ff; background: rgba(255, 255, 255, 0.08); box-shadow: 0 0 0 3px rgba(8, 212, 255, 0.18); } .country-dropdown { position: absolute; top: 100%; left: 0; right: 0; background: rgba(20, 20, 20, 0.95); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; backdrop-filter: blur(20px); box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5); max-height: 300px; overflow: hidden; display: none; z-index: 1000; margin-top: 4px; min-width: 280px; } .country-dropdown.show { display: block; animation: dropdownFadeIn 0.3s ease-out; } @keyframes dropdownFadeIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } .country-search { padding: 1rem; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .search-input { width: 100%; padding: 0.75rem; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 8px; color: white; font-size: 0.9rem; transition: all 0.3s ease; } .search-input:focus { outline: none; border-color: #08d4ff; background: rgba(255, 255, 255, 0.08); } .search-input::placeholder { color: #6b7280; } .country-list { max-height: 200px; overflow-y: auto; padding: 0.5rem 0; } .country-list::-webkit-scrollbar { width: 6px; } .country-list::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.05); } .country-list::-webkit-scrollbar-thumb { background: rgba(8, 212, 255, 0.3); border-radius: 3px; } .country-list::-webkit-scrollbar-thumb:hover { background: rgba(8, 212, 255, 0.5); } .country-option { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 1rem; cursor: pointer; transition: all 0.2s ease; color: white; } .country-option:hover { background: rgba(8, 212, 255, 0.1); } .country-option.hidden { display: none; } .country-name { flex: 1; font-size: 0.9rem; } .country-option .country-code { font-size: 0.85rem; color: #6b7280; min-width: 45px; text-align: right; } .phone-input { border-radius: 0 12px 12px 0 !important; border-left: none !important; padding-left: 1rem !important; } .phone-input:focus { box-shadow: none !important; } .phone-group:focus-within .selected-country { border-color: #08d4ff; } .phone-group:focus-within .phone-input { border-color: #08d4ff; background: rgba(255, 255, 255, 0.08); } /* Checkbox */ .checkbox-group { display: flex; align-items: flex-start; gap: 0.75rem; margin: 1rem 0; } .custom-checkbox { width: 18px; height: 18px; background: #08d4ff; border: 1px solid #08d4ff; border-radius: 4px; cursor: pointer; position: relative; flex-shrink: 0; margin-top: 3px; display: flex; align-items: center; justify-content: center; } .custom-checkbox input { opacity: 0; position: absolute; width: 100%; height: 100%; cursor: pointer; margin: 0; z-index: 2; } .custom-checkbox::after { content: '✓'; color: white; font-size: 11px; font-weight: bold; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .custom-checkbox input:not(:checked) + .checkmark { background: rgba(255, 255, 255, 0.05); border-color: rgba(255, 255, 255, 0.2); } .custom-checkbox input:not(:checked) ~ .checkmark::after { display: none; } .checkmark { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 4px; transition: all 0.3s ease; pointer-events: none; } .checkbox-label { color: #9ca3af; font-size: 0.9rem; line-height: 1.5; } .checkbox-label a { color: #08d4ff; text-decoration: none; } .checkbox-label a:hover { text-decoration: underline; color: #05bfe6; } /* Submit Button */ .submit-btn { background: linear-gradient(135deg, #08d4ff, #05bfe6); color: black; border: none; padding: 1rem; border-radius: 12px; font-size: 1rem; font-weight: 700; cursor: pointer; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; gap: 0.5rem; box-shadow: 0 4px 20px rgba(8, 212, 255, 0.3); position: relative; overflow: hidden; } .submit-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(8, 212, 255, 0.4); } .submit-btn:disabled { opacity: 0.6; cursor: not-allowed; transform: none; } .submit-btn::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); transition: left 0.5s ease; } .submit-btn:hover::before { left: 100%; } /* Footer Links */ .form-footer { text-align: center; margin-top: 2rem; position: relative; z-index: 2; } .footer-text { color: #6b7280; margin-bottom: 1rem; } .footer-link { color: #08d4ff; text-decoration: none; font-weight: 600; transition: color 0.3s ease; } .footer-link:hover { color: #05bfe6; text-decoration: underline; } .divider { display: flex; align-items: center; margin: 1.5rem 0; color: #6b7280; font-size: 0.9rem; } .divider::before, .divider::after { content: ''; flex: 1; height: 1px; background: rgba(255, 255, 255, 0.1); } .divider span { padding: 0 1rem; } /* Floating Elements */ .floating-elements { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 1; } .floating-element { position: absolute; width: 8px; height: 8px; background: rgba(8, 212, 255, 0.3); border-radius: 50%; animation: float 6s ease-in-out infinite; } .floating-element:nth-child(1) { top: 20%; left: 10%; animation-delay: 0s; } .floating-element:nth-child(2) { top: 40%; right: 15%; animation-delay: 1s; } .floating-element:nth-child(3) { bottom: 30%; left: 20%; animation-delay: 2s; } .floating-element:nth-child(4) { bottom: 20%; right: 25%; animation-delay: 3s; } @keyframes float { 0%, 100% { transform: translateY(0) rotate(0deg); opacity: 0.3; } 50% { transform: translateY(-20px) rotate(180deg); opacity: 0.8; } } /* Responsive */ @media (max-width: 1024px) { .cadastro-container { grid-template-columns: 1fr; gap: 2rem; max-width: 600px; } .brand-content { display: none !important; } .left-section { order: 2; text-align: center; } .right-section { order: 1; } .brand-title { font-size: 2.5rem; } .benefits-list { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 1rem; } .benefit-item { font-size: 1rem; } } @media (max-width: 768px) { .cadastro-section { padding: 2rem 0; } .brand-content { display: none !important; } .cadastro-container { padding: 0 1rem; } .cadastro-card { padding: 2rem; border-radius: 20px; } .brand-logo { width: 80px; height: 80px; font-size: 2rem; } .brand-title { font-size: 2rem; } .brand-subtitle { font-size: 1.1rem; } .benefits-list { display: none; } } @media (max-width: 480px) { .cadastro-card { padding: 1.5rem; } .form-input { padding: 0.8rem 0.8rem 0.8rem 2.5rem; } .brand-content { display: none !important; } .input-icon { left: 0.8rem; } .phone-input-container { flex-direction: column; } .selected-country { border-radius: 12px; border-right: 1px solid rgba(255, 255, 255, 0.1); margin-bottom: 0.5rem; justify-content: center; } .phone-input { border-radius: 12px !important; border-left: 1px solid rgba(255, 255, 255, 0.1) !important; padding-left: 1rem !important; } .country-dropdown { min-width: auto; left: 0; right: 0; } } /* Loading States */ .loading { opacity: 0.7; pointer-events: none; } .loading .submit-btn { background: #6b7280; } /* Animations */ .fade-in { animation: fadeIn 0.6s ease-out forwards; } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }