/* ============================================================
   Sistema "Mujeres con Raíz" - Alcaldía Gustavo A. Madero
   Hoja de estilos principal
   ============================================================ */

:root{
    --crema:        #FBF3E7;
    --crema-2:      #F6EAD8;
    --plum-dark:    #3E1550;   /* header profundo */
    --plum:         #4A1E5C;   /* bordes / textos titulares */
    --magenta:      #953C90;   /* tarjeta "Nuevo Registro" */
    --magenta-soft: #A94BA6;
    --purple-card:  #3B1A4C;   /* tarjeta "Consultar Estatus" */
    --btn-dark:     #3A1250;   /* botón oscuro */
    --btn-magenta:  #A24C9E;   /* botón próximamente */
    --pink:         #EC4A93;   /* acento etiquetas */
    --teal:         #2FA8A0;   /* botón envío directo */
    --red:          #E7443B;   /* botón cancelar */
    --maroon:       #A61C4A;   /* rojo institucional (corazón) */
    --field:        #4A1E5C;
    --muted:        #9A86A6;
}

*{ box-sizing:border-box; margin:0; padding:0; }

body{
    font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
    background:var(--crema);
    color:var(--plum);
    min-height:100vh;
    -webkit-font-smoothing:antialiased;
}

a{ color:var(--magenta); text-decoration:none; }
a:hover{ color:var(--plum); }

.mcr-wrap{
    max-width:1600px;
    margin:0 auto;
    padding:0 24px 60px;
    position:relative;
    overflow:hidden;
}

/* ---------- Encabezado con logotipos ---------- */
.mcr-header{
    background:linear-gradient(180deg,var(--plum) 0%,var(--plum-dark) 100%);
    border-radius:0 0 40px 40px;
    max-width:840px;
    margin:0 auto 12px;
    padding:22px 40px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:38px;
}
.mcr-header .logo-gam{ height:74px; width:auto; background:#fff; border-radius:14px; padding:8px 14px; }
.mcr-header .divisor{ width:2px; height:70px; background:rgba(255,255,255,.35); }
.mcr-header .logo-mcr{ height:82px; width:auto; }
.mcr-wordmark{ color:#fff; text-align:center; line-height:.92; }
.mcr-wordmark .l1{ font-family:'Baloo 2',cursive; font-weight:800; font-size:34px; letter-spacing:.5px; }
.mcr-wordmark .l2{ font-family:'Baloo 2',cursive; font-weight:800; font-size:34px; letter-spacing:.5px; }
.mcr-wordmark .prog{
    display:inline-flex; align-items:center; gap:8px;
    margin-top:6px; font-size:11px; font-weight:600; letter-spacing:3px;
}
.mcr-wordmark .prog .yr{
    background:#fff; color:var(--plum);
    border-radius:8px; padding:1px 8px; font-family:'Baloo 2',cursive; font-weight:800; letter-spacing:0;
}

/* ---------- Título de sección ---------- */
.mcr-title{ text-align:center; margin:26px 0 34px; }
.mcr-title h1{
    font-family:'Baloo 2',cursive; font-weight:800; color:var(--plum);
    font-size:clamp(30px,4vw,50px); letter-spacing:1px; line-height:1.02;
}
.mcr-title p{
    color:var(--magenta); font-weight:700; letter-spacing:1px;
    font-size:clamp(15px,1.6vw,22px); margin-top:10px; text-transform:uppercase;
}

/* ---------- Tarjetas de acceso ---------- */
.mcr-cards{
    display:grid; grid-template-columns:1fr 1fr; gap:34px;
    max-width:1180px; margin:0 auto 40px;
}
.mcr-card{
    border-radius:26px; padding:38px 40px 34px;
    text-align:center; color:#fff;
    display:flex; flex-direction:column; align-items:center;
}
.mcr-card--registro{ background:var(--magenta); }
.mcr-card--consulta{ background:var(--purple-card); }
.mcr-card .icono{
    width:70px; height:70px; border-radius:18px;
    background:rgba(255,255,255,.16); display:flex; align-items:center; justify-content:center;
    margin-bottom:20px;
}
.mcr-card .icono img{ width:40px; height:40px; object-fit:contain; }
.mcr-card h2{
    font-family:'Baloo 2',cursive; font-weight:800; font-size:26px; letter-spacing:1px;
    line-height:1.15; margin-bottom:12px;
}
.mcr-card p{ font-size:14px; line-height:1.5; opacity:.92; max-width:340px; margin-bottom:22px; }
.mcr-btn{
    display:inline-block; width:100%; max-width:400px;
    padding:15px 20px; border-radius:12px; border:none; cursor:pointer;
    font-family:'Baloo 2',cursive; font-weight:800; font-size:19px; letter-spacing:1px;
    color:#fff; text-align:center; transition:filter .15s ease;
}
.mcr-btn:hover{ filter:brightness(1.08); }
.mcr-btn--dark{ background:var(--btn-dark); }
.mcr-btn--magenta{ background:var(--btn-magenta); }

/* ---------- Franja de categorías (imágenes) ---------- */
.mcr-figuras{
    display:flex; justify-content:center; align-items:flex-end;
    gap:34px; flex-wrap:wrap; margin-top:10px;
}
.figura{ display:flex; flex-direction:column; align-items:center; }
.figura .oval{
    width:180px; height:220px; border-radius:50% 50% 46% 46%/58% 58% 42% 42%;
    background:linear-gradient(160deg,#C9A2D8,#7E4C9E);
    overflow:hidden; display:flex; align-items:flex-end; justify-content:center;
    box-shadow:0 8px 22px rgba(74,30,92,.22);
}
.figura .oval img{ width:100%; height:100%; object-fit:cover; }
.figura .etiqueta{
    margin-top:-16px; position:relative; z-index:2;
    padding:7px 26px; border-radius:20px;
    font-family:'Baloo 2',cursive; font-weight:800; letter-spacing:1px; font-size:16px; color:#fff;
    box-shadow:0 4px 10px rgba(0,0,0,.15);
}
.etq-plum{ background:var(--plum); }
.etq-pink{ background:var(--pink); }

/* ---------- Formulario de registro ---------- */
.mcr-form-shell{
    background:#fff; border-radius:22px; max-width:1180px; margin:0 auto;
    box-shadow:0 14px 40px rgba(74,30,92,.14); overflow:hidden;
}
.mcr-form-bar{
    background:var(--magenta); color:#fff; text-align:center;
    font-family:'Baloo 2',cursive; font-weight:800; font-size:26px; letter-spacing:2px;
    padding:16px; text-transform:uppercase;
}
.mcr-form{ padding:34px 44px 30px; }
.mcr-form .bloque-titulo{
    font-family:'Baloo 2',cursive; font-weight:800; color:var(--plum);
    font-size:19px; letter-spacing:1px; margin:8px 0 16px; padding-bottom:8px;
    border-bottom:2px solid rgba(74,30,92,.15);
}
.mcr-grid{ display:grid; gap:16px 18px; margin-bottom:14px; }
.grid-3{ grid-template-columns:1fr 1fr 1fr; }
.grid-2a{ grid-template-columns:2fr 1fr 1fr; }
.grid-2b{ grid-template-columns:2fr 1fr; }
.grid-2{ grid-template-columns:1fr 1fr; }
.col-span-2{ grid-column:span 2; }

.campo{ display:flex; flex-direction:column; }
.campo label{ font-size:12px; font-weight:600; color:var(--muted); margin-bottom:5px; letter-spacing:.5px; }
.campo input,
.campo select{
    font-family:'Poppins',sans-serif; font-size:14px; color:var(--plum);
    background:#fff; border:1.5px solid var(--field); border-radius:9px;
    padding:12px 14px; width:100%; outline:none; transition:border-color .15s,box-shadow .15s;
}
.campo input::placeholder{ color:var(--muted); }
.campo input:focus,
.campo select:focus{ border-color:var(--magenta); box-shadow:0 0 0 3px rgba(149,60,144,.14); }

.mcr-file{
    border:1.5px solid var(--field); border-radius:9px; padding:11px 14px;
    display:inline-flex; align-items:center; gap:10px; cursor:pointer;
    font-weight:600; font-size:13px; color:var(--plum); background:#fff; max-width:640px;
}
.mcr-file input{ display:none; }
.mcr-hint{ color:var(--muted); font-size:11px; margin-top:8px; letter-spacing:.5px; }

.mcr-actions{ display:flex; justify-content:flex-end; gap:12px; margin-top:26px; flex-wrap:wrap; }
.mcr-actions .btn{
    border:none; cursor:pointer; color:#fff; border-radius:8px;
    font-family:'Baloo 2',cursive; font-weight:800; letter-spacing:.5px; font-size:14px;
    padding:12px 20px; transition:filter .15s;
}
.mcr-actions .btn:hover{ filter:brightness(1.08); }
.btn-teal{ background:var(--teal); }
.btn-magenta{ background:var(--btn-magenta); }
.btn-red{ background:var(--red); }

/* ---------- Columnas laterales del formulario (figuras) ---------- */
.mcr-form-layout{ display:grid; grid-template-columns:220px 1fr 220px; gap:24px; align-items:start; }
.mcr-side{ display:flex; flex-direction:column; gap:34px; padding-top:60px; }
.mcr-side .figura .oval{ width:150px; height:186px; }

/* ---------- Responsivo ---------- */
@media (max-width:1100px){
    .mcr-form-layout{ grid-template-columns:1fr; }
    .mcr-side{ flex-direction:row; justify-content:center; padding-top:0; }
}
@media (max-width:820px){
    .mcr-header{ flex-direction:column; gap:16px; padding:20px; border-radius:0 0 30px 30px; }
    .mcr-header .divisor{ width:120px; height:2px; }
    .mcr-cards{ grid-template-columns:1fr; gap:22px; }
    .mcr-figuras{ gap:16px; }
    .figura .oval{ width:130px; height:160px; }
    .grid-3,.grid-2a,.grid-2b,.grid-2{ grid-template-columns:1fr; }
    .col-span-2{ grid-column:auto; }
    .mcr-form{ padding:24px 20px; }
    .mcr-actions{ justify-content:stretch; }
    .mcr-actions .btn{ flex:1; }
}
@media (max-width:480px){
    .figura .oval{ width:44vw; max-width:170px; height:54vw; max-height:210px; }
    .mcr-figuras{ gap:10px; }
}
