/* ServiAnuncios · Rediseño — Registro (wizard) */
.reg{padding-bottom:48px;overflow-x:hidden}
.reg *{box-sizing:border-box}
.reg__breadcrumb{padding-top:24px}
.reg__hero{background:radial-gradient(120% 140% at 85% 0%,#2f6fe0 0%,var(--c-blue) 55%,var(--c-blue-700) 100%);color:#fff;padding:28px 0 40px;position:relative;overflow:hidden}
.reg__hero .container{position:relative}
.reg__back{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;margin-bottom:14px}
.reg__hero h1{color:#fff;font-size:clamp(1.7rem,4vw,2.4rem);max-width:16ch}
.reg__hero p{color:rgba(255,255,255,.85);max-width:44ch;margin:6px 0 0}
.reg__benes{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.reg__benes span{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);border-radius:var(--r-pill);padding:.5em 1em;font-weight:600;font-size:.9rem}
.reg__benes .icon{width:18px;height:18px}

/* Stepper */
.reg__steps{display:flex;gap:8px;margin:-20px 0 20px;position:relative;z-index:2;background:#fff;border:1px solid var(--c-line);border-radius:var(--r-pill);padding:10px 16px;box-shadow:var(--shadow-card);max-width:100%;overflow:hidden}
.reg__steps li{display:flex;align-items:center;gap:8px;flex:1;min-width:0;color:var(--c-mut);font-weight:700;font-size:.9rem}
.reg__steps li span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--c-cream);border:1px solid var(--c-line);color:var(--c-mut);font-family:var(--font-display)}
.reg__steps li.is-active{color:var(--c-navy)}
.reg__steps li.is-active span{background:var(--c-blue);border-color:var(--c-blue);color:#fff}

/* Paneles */
.reg__panel{display:none;padding:24px;margin-bottom:16px}
.reg__panel.is-active{display:block}
.reg__panel h2{margin-bottom:4px}
.reg__sub{color:var(--c-slate);margin:0 0 18px}

.reg__field{margin-bottom:16px;display:flex;flex-direction:column}
.reg__field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.reg__field label{font-weight:600;font-size:.92rem;margin-bottom:6px;color:var(--c-navy)}
.reg__field .req{color:var(--c-accent-600)}
.reg__field input[type=text],.reg__field textarea,.reg__field select,.reg__captcha input{
  width:100%;padding:.8em .95em;border:1px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-cream);font-size:1rem;font-family:inherit
}
.reg__field input:focus,.reg__field textarea:focus,.reg__field select:focus,.reg__captcha input:focus{outline:none;border-color:var(--c-blue);background:#fff}

.reg__file{display:flex;align-items:center;gap:12px;padding:16px;border:1.5px dashed var(--c-line);border-radius:var(--r-md);background:var(--c-cream);cursor:pointer;color:var(--c-slate);font-weight:500}
.reg__file .icon{color:var(--c-blue);width:26px;height:26px;flex:none}
.reg__file input[type=file]{display:none}

/* Rubros y distritos */
.reg__rubros{display:grid;gap:14px;max-height:280px;overflow-y:auto;padding:4px;border:1px solid var(--c-line);border-radius:var(--r-md);background:#fff}
.reg__rubro-cat{font-weight:700;color:var(--c-navy);margin:6px 0 4px;font-size:.9rem}
.reg__rubro-items,.reg__distritos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.reg__distritos{max-height:220px;overflow-y:auto;border:1px solid var(--c-line);border-radius:var(--r-md);padding:10px;background:#fff}
.reg__check{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--c-text-2);font-size:.92rem;cursor:pointer}
.reg__check input{width:auto!important;accent-color:var(--c-blue)}
.reg__all{display:inline-flex!important;align-items:center;gap:6px;font-weight:600;font-size:.85rem;color:var(--c-blue);margin:0 0 0 8px}

.reg__dir{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:10px}
.reg__error{margin:0 0 10px;padding:10px 14px;border:1px solid #f0c2c2;border-radius:10px;
  background:#fdf1f1;color:#a32626;font-weight:650;font-size:.94rem}
.reg__captcha{flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}
.reg__captcha input{max-width:200px}

.reg__nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}
.reg__nav .reg__next{margin-left:auto}

@media(max-width:640px){
  .reg__steps{border-radius:var(--r-lg);padding:8px}
  .reg__steps li{justify-content:center}
  .reg__field-row,.reg__dir{grid-template-columns:1fr}
  .reg__steps li span+*{display:none}
}
