
.gmjp-wrap{max-width:1100px;margin:30px auto;padding:0 16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;}
.gmjp-page-title{font-size:34px;font-weight:800;text-align:center;margin:0 0 18px;}
.gmjp-layout{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start;}
@media (max-width: 900px){.gmjp-layout{grid-template-columns:1fr;}.gmjp-filters{order:-1;}}
.gmjp-filters{border:1px solid #e5e7eb;border-radius:12px;padding:16px;background:#fff;position:sticky;top:18px;}
.gmjp-filter-group{margin-bottom:14px;}
.gmjp-filter-group label{display:block;font-weight:700;margin-bottom:6px;font-size:0.72rem;}
.gmjp-filter-group input[type="search"], .gmjp-filter-group select, .gmjp-filter-group input[type="number"], .gmjp-field input, .gmjp-field select, .gmjp-field textarea{
	width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:10px;background:#fff;
}
.gmjp-salary{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.gmjp-filter-inline{display:flex;gap:10px;align-items:center;}
.gmjp-filter-inline label{margin:0;font-weight:700;}
.gmjp-results__list{display:flex;flex-direction:column;gap:14px;}
.gmjp-card{border:1px solid #e5e7eb;border-radius:14px;padding:16px;display:grid;grid-template-columns:1fr 160px;gap:10px;background:#fff;}
@media (max-width:700px){.gmjp-card{grid-template-columns:1fr;}}
.gmjp-card__title{margin:0 0 8px;font-size:18px;font-weight:800;}
.gmjp-card__title a{text-decoration:none;color:#111827;}
.gmjp-card__meta{display:flex;flex-wrap:wrap;gap:12px;color:#6b7280;font-size:14px;margin-bottom:8px;}
.gmjp-meta{display:inline-flex;align-items:center;gap:6px;}
.gmjp-icon{font-size:14px;opacity:.7}
.gmjp-card__badges{display:flex;flex-wrap:wrap;gap:10px;}
.gmjp-badge{display:inline-flex;align-items:center;border:1px solid transparent;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}
.gmjp-badge--orange{border-color:#fb923c;color:#c2410c;background:#fff7ed;}
.gmjp-badge--teal{border-color:#14b8a6;color:#0f766e;background:#f0fdfa;}
.gmjp-pill{justify-self:end;align-self:start;border:2px solid #60a5fa;color:#1d4ed8;background:#eff6ff;padding:6px 10px;border-radius:12px;font-weight:800;font-size:12px;display:inline-flex;}
.gmjp-btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:12px;padding:10px 14px;font-weight:800;border:1px solid #d1d5db;background:#fff;cursor:pointer;text-decoration:none;color:#111827;}
.gmjp-btn--primary{background:#0f766e;border-color:#0f766e;color:#fff;}
.gmjp-btn--ghost{background:#f9fafb;}
.gmjp-empty{padding:18px;border:1px dashed #d1d5db;border-radius:14px;color:#6b7280;background:#fff;}
.gmjp-pagination{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap;}
.gmjp-pagination button{padding:8px 12px;border-radius:10px;border:1px solid #d1d5db;background:#fff;font-weight:800;cursor:pointer;}
.gmjp-pagination button[disabled]{opacity:.5;cursor:not-allowed;}
/* Single */
.gmjp-single{max-width:1100px;margin:30px auto;padding:0 16px;}
.gmjp-back{text-decoration:none;color:#374151;font-weight:700}
.gmjp-h1{font-size:42px;margin:10px 0 6px;font-weight:900;letter-spacing:-.02em}
@media (max-width:700px){.gmjp-h1{font-size:30px;}}
.gmjp-subline{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:18px;}
.gmjp-muted{color:#6b7280;font-weight:700}
.gmjp-single__layout{display:grid;grid-template-columns:320px 1fr;gap:24px;align-items:start;}
@media (max-width: 900px){.gmjp-single__layout{grid-template-columns:1fr;}}
.gmjp-single__aside{position:sticky;top:18px;align-self:start}
.gmjp-aside-box{margin-top:12px;border:1px solid #e5e7eb;border-radius:14px;padding:14px;background:#fff}
.gmjp-aside-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #f3f4f6}
.gmjp-aside-row:last-child{border-bottom:none}
.gmjp-content{border:1px solid #e5e7eb;border-radius:14px;padding:16px;background:#fff;margin-bottom:18px;}
.gmjp-prose{color:#111827;line-height:1.65}
.gmjp-h2{margin:0 0 12px;font-size:16px;font-weight:900}
.gmjp-form{display:flex;flex-direction:column;gap:14px}
.gmjp-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gmjp-row--3{grid-template-columns:1fr 1fr 1fr}
@media (max-width:700px){.gmjp-row,.gmjp-row--3{grid-template-columns:1fr}}
.gmjp-field label{display:block;font-weight:800;margin-bottom:6px;font-size:0.72rem}
.gmjp-radios{display:flex;gap:18px;align-items:center}
.gmjp-hint{margin:6px 0 0;color:#6b7280;font-size:12px;font-weight:700}
.gmjp-privacy label{display:flex;gap:10px;align-items:flex-start;font-weight:700}
.gmjp-alert{padding:12px 14px;border-radius:12px;font-weight:800}
.gmjp-alert--success{background:#ecfdf5;color:#065f46;border:1px solid #6ee7b7}
.gmjp-alert--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
/* ========================================================
   Diseño Responsivo (Celulares) para el Formulario
======================================================== */

/* Primero, definimos que las filas se comporten como grillas */
.gmjp-row {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Dos columnas iguales en computadoras */
    gap: 15px;
    margin-bottom: 15px;
}

/* La fila especial para la fecha de nacimiento (día, mes, año) */
.gmjp-row--3 {
    grid-template-columns: 1fr 1fr 1fr; /* Tres columnas en computadoras */
}

/* 
  Regla Media Query: 
  Todo lo que esté aquí adentro solo se aplica si la pantalla mide 600px o menos (celulares) 
*/
@media (max-width: 600px) {
    
    /* Hacemos que todas las filas pasen a tener 1 sola columna ocupando todo el ancho */
    .gmjp-row, 
    .gmjp-row--3 {
        grid-template-columns: 1fr; /* Una sola columna vertical en celulares */
        gap: 10px;
    }
    
    /* Aseguramos que los campos de texto no se salgan de la pantalla */
    .gmjp-field input, 
    .gmjp-field select, 
    .gmjp-field textarea {
        width: 100%;
        box-sizing: border-box; /* Evita que el relleno o los bordes hagan crecer el elemento horizontalmente */
    }

    /* También mejoramos la alerta de mensajes para que se vea bien en móviles */
    .gmjp-alert {
        text-align: center;
        padding: 15px;
    }
}
