:root {
    --vino: #611232;
    --vino2: #9d2449;
    --verde: #235b4e;
    --fondo: #f5f5f6;
}
* { box-sizing: border-box; }
body {
    margin: 0;
    background: var(--fondo);
    color: #26262b;
    font-family: "Noto Sans", Arial, Helvetica, sans-serif;
}
.gob-navbar {
    background: var(--vino);
    min-height: 64px;
    box-shadow: 0 2px 10px rgba(0,0,0,.15);
}
.brand { display:flex; align-items:center; gap:12px; color:#fff; font-weight:700; }
.brand-mark {
    width:38px; height:38px; border-radius:8px;
    display:grid; place-items:center;
    background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3);
}
.main-container { padding-top:95px; padding-bottom:40px; }
.cp-logo {
    display:inline-flex; align-items:center; justify-content:center;
    min-width:180px; height:62px; padding:0 22px;
    border:2px solid var(--vino); border-radius:10px;
    color:var(--vino); font-weight:800; letter-spacing:2px;
    background:#fff;
}
.pvb-header-text { text-align:center; margin:12px 0 18px; }
.pvb-header-text h2 { color:var(--vino2); font-size:1.45rem; margin:0; font-weight:600; }
.pvb-header-text h1 { color:var(--vino); font-size:2rem; margin:3px 0; font-weight:700; }
.stepper-nav { margin-bottom:20px; }
.stepper-container {
    display:flex; justify-content:center; align-items:center; gap:0;
}
.step-item {
    position:relative; padding:10px 22px;
    color:var(--vino); font-size:.88rem; font-weight:700;
    border-bottom:3px solid #ddd;
}
.step-item.active { border-color:var(--vino2); }
.step-item.disabled { color:#aaa; }
.glass-card {
    background:rgba(255,255,255,.95);
    border:1px solid #e5e5e7;
    border-radius:16px;
    box-shadow:0 14px 40px rgba(0,0,0,.10);
    padding:28px;
}
.card-heading { text-align:center; margin-bottom:24px; }
.card-heading h2 { color:var(--vino); font-size:1.55rem; margin-bottom:6px; }
.card-heading p { color:#666; margin:0; line-height:1.55; }
label { display:block; margin-bottom:7px; font-weight:700; color:#38383d; }
.form-control-custom {
    min-height:46px;
    border:1px solid #d7d7db;
    border-radius:9px;
    font-size:.95rem;
}
.form-control-custom:focus {
    border-color:var(--vino2);
    box-shadow:0 0 0 3px rgba(157,36,73,.12);
}
.btn-search-curp {
    background:var(--vino); color:#fff; border-color:var(--vino);
    padding-left:22px; padding-right:22px;
}
.btn-search-curp:hover { background:var(--vino2); color:#fff; }
.btn-next {
    background:var(--verde); color:#fff; border:0;
    min-width:210px; padding:12px 25px; border-radius:8px;
    font-weight:700;
}
.btn-next:hover { background:#174239; color:#fff; }
.alert { border-radius:9px; }
.main-footer {
    background:var(--vino); color:#fff; padding:34px 0;
    min-height:190px;
}
.main-footer h5 { font-weight:700; margin-bottom:8px; }
.main-footer p { opacity:.88; font-size:.9rem; }
@media (max-width: 650px) {
    .main-container { padding-top:85px; }
    .glass-card { padding:20px 15px; }
    .pvb-header-text h1 { font-size:1.55rem; }
    .step-item { padding:8px 9px; font-size:.72rem; }
    .stepper-container { overflow:auto; justify-content:flex-start; }
}
