.register-page { --rg-blue:#00365f; --rg-red:#bd1737; --rg-border:#dfe8ef; --rg-muted:#5a7083; width:100%; max-width:1020px; margin:24px auto 48px; color:#102a40; font:15px/1.5 'Segoe UI',system-ui,sans-serif; }
.register-page * { box-sizing:border-box; }
.register-page .rg-shell { background:#fff; border:1px solid var(--rg-border); border-radius:24px; }
.register-page .rg-header { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:22px 36px; border-bottom:1px solid var(--rg-border); }
.register-page .rg-header img { width:130px; height:60px; object-fit:contain; }
.register-page .rg-login { display:inline-flex; align-items:center; gap:14px; background:#fbe9ed; border:1px solid #f0c7d0; color:var(--rg-red); border-radius:13px; padding:12px 18px; font-weight:650; text-decoration:none; }
.register-page .rg-login:hover { background:#f6d6de; }
.register-page .rg-intro { padding:32px 40px; background:#f3f6f9; }
.register-page .rg-eyebrow { color:var(--rg-red); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1.6px; }
.register-page h1 { font:700 34px/1.2 'Segoe UI',system-ui,sans-serif; letter-spacing:-1px; color:var(--rg-blue); margin:12px 0; }
.register-page .rg-intro p { color:var(--rg-muted); margin:0; }
.register-page .rg-body { padding:32px 40px; }
.register-page .rg-section { min-width:0; border:0; padding:0; margin:30px 0; }
.register-page .rg-section legend { display:flex; align-items:center; gap:12px; float:none; width:100%; font-size:19px; font-weight:650; color:var(--rg-blue); padding:0 0 18px; margin:0; }
.register-page legend span { display:inline-flex; justify-content:center; align-items:center; width:32px; height:32px; flex-shrink:0; border-radius:10px; color:var(--rg-red); background:#fbe9ed; font-size:12px; }
.register-page .rg-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 24px; }
.register-page .rg-grid>.form-group { margin:0!important; min-width:0; }
.register-page .rg-wide { grid-column:1/-1; }
.register-page label { color:var(--rg-blue); font-size:14px!important; margin-bottom:7px!important; }
.register-page label b { font-weight:600; }
.register-page .form-control { min-height:50px; height:auto; width:100%; border:1px solid #cbdce8; border-radius:12px; background-color:#fff!important; color:#102a40!important; padding:12px 14px!important; font-size:16px; line-height:1.45; box-shadow:none; }
.register-page select.form-control { padding-right:30px!important; cursor:pointer; }
.register-page .form-control:focus { border-color:#5989b4; box-shadow:0 0 0 3px #00365f14; }
.register-page a:focus-visible,.register-page button:focus-visible,.register-page input:focus-visible,.register-page select:focus-visible { outline:3px solid #5989b4; outline-offset:3px; }
.register-page .country-select { display:block; width:100%; }
.register-page .country-select input { padding-left:54px!important; cursor:pointer; }
.register-page .country-select .flag-dropdown { width:100%; border-radius:12px 0 0 12px; pointer-events:none; }
.register-page .country-select .selected-flag { pointer-events:auto; }
.register-page .country-select .country-list { width:100%!important; max-width:100%; pointer-events:auto; border-radius:12px; border:1px solid var(--rg-border); box-shadow:0 8px 25px #00365f18; z-index:10; overflow-x:hidden; }
.register-page .country-select .country-list .country { display:flex; align-items:center; gap:12px; min-height:44px; padding:10px 14px; white-space:normal; }
.register-page .country-select .country-list .flag { flex-shrink:0; margin-right:0; }
.register-page .country-select .country-list .country-name { color:var(--rg-blue); font-size:14px; overflow-wrap:anywhere; }
.register-page .rg-delivery>.row { display:flex; flex-wrap:nowrap; align-items:center; margin:10px 0!important; padding:16px; border:1px solid var(--rg-border); border-radius:13px; background:#f8fafc; }
.register-page .rg-delivery>.row:has(input:checked) { background:#edf4f9; border-color:var(--rg-blue); }
.register-page .rg-delivery>.row>.col-1 { flex:0 0 30px; max-width:30px; padding:0; }
.register-page .rg-delivery>.row>.col-11 { flex:1; max-width:none; padding:0; }
.register-page .rg-delivery>.row label { display:block; cursor:pointer; margin:0!important; padding:2px 0; }
.register-page input[type=radio] { width:20px; height:20px; accent-color:var(--rg-blue); cursor:pointer; vertical-align:middle; }
.register-page #divEntregaTienda,.register-page #divEntregaDomicilio,.register-page #divEntregaLocker { margin:16px 0 24px!important; padding:20px; border:1px solid var(--rg-border); border-radius:14px; }
.register-page .rg-delivery .row:not(:has(input[type=radio])) { margin:14px 0!important; }
.register-page .alert-warning { padding:14px 16px!important; border:1px solid #f0c7d0; border-radius:12px; background:#fdf0f3; color:#863048; }
.register-page .alert-warning small { font-size:13px; }
.register-page .text-danger,.register-page .field-validation-error { color:#a41330!important; font-size:13px; }
.register-page .validation-summary-errors { padding:14px; background:#fdf0f3; border-radius:12px; margin-bottom:20px!important; }
.register-page #btnRegistrate { min-height:52px; border:0; border-radius:13px; background:var(--rg-blue); color:#fff; font:650 16px/1.4 'Segoe UI',system-ui; margin-top:16px; }
.register-page #btnRegistrate:hover { background:#002841; }
.register-page .rg-body>div:last-child { margin:24px 0 0!important; color:var(--rg-muted); }
.register-page .rg-body a:not(.rg-login) { color:var(--rg-blue); text-decoration:underline; text-underline-offset:3px; }
.register-page .rg-password { position:relative; }
.register-page .rg-password input { padding-right:88px!important; }
.register-page .rg-toggle { position:absolute; right:6px; top:5px; min-height:40px; border:0; border-radius:8px; background:#edf4f9; color:var(--rg-blue); padding:8px 10px; font-size:12px; font-weight:650; cursor:pointer; }
@media(max-width:767px) {
    .register-page { margin:16px auto 28px; }
    .register-page .rg-header { padding:18px; gap:10px; }
    .register-page .rg-header img { width:110px; height:50px; }
    .register-page .rg-login { padding:10px 12px; font-size:12px; }
    .register-page .rg-intro,.register-page .rg-body { padding:24px 18px; }
    .register-page h1 { font-size:29px; }
    .register-page .rg-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
    .register-page .rg-section legend { font-size:18px; align-items:flex-start; }
    .register-page #divEntregaTienda,.register-page #divEntregaDomicilio,.register-page #divEntregaLocker { padding:14px; }
}
@media(max-width:360px) {
    .register-page .g-recaptcha { transform:scale(.82); transform-origin:center; margin:-7px -28px; flex-shrink:0; }
}
