#directorio-form div.wpcf7 {
    background: #136C74;
    padding: 35px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    font-family: 'Poppins';
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
    max-width: 680px;
    margin: 30px auto;
    color: #FFFFFF;
}

/* Etiquetas (Labels) */
#directorio-form div.wpcf7 label {
    display: block;
    color: #E2E8F0;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 8px;
    letter-spacing: 0.3px;
}

/* Campos de texto, select y textarea */
#directorio-form div.wpcf7 input[type="text"],
#directorio-form div.wpcf7 input[type="email"],
#directorio-form div.wpcf7 input[type="url"],
#directorio-form div.wpcf7 input[type="date"],
#directorio-form div.wpcf7 select,
#directorio-form div.wpcf7 textarea {
    width: 100%;
    padding: 12px 16px;
    background: #0e333654 !important;
    border: 1px solid #334155 !important;
    border-radius: 10px !important;
    color: #FFFFFF !important;
    font-size: 14px;
    box-sizing: border-box;
    transition: all 0.3s ease;
}

/* Efecto al hacer foco (escribir dentro del campo) */
#directorio-form div.wpcf7 input[type="text"]:focus,
#directorio-form div.wpcf7 input[type="email"]:focus,
#directorio-form div.wpcf7 select:focus,
#directorio-form div.wpcf7 textarea:focus {
    border-color: #FF7A00 !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.2);
}

/* Estilo para el selector de archivos (Imagen destacada) */
#directorio-form div.wpcf7 input[type="file"] {
    width: 100%;
    padding: 10px;
    background: #0e333654;
    border: 1px dashed #334155;
    border-radius: 10px;
    color: #94A3B8;
    font-size: 13px;
    box-sizing: border-box;
    cursor: pointer;
}

#directorio-form div.wpcf7 input[type="file"]::-webkit-file-upload-button {
    background: #FF7A00;
    color: #FFFFFF;
    border: none;
    padding: 8px 14px;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    margin-right: 10px;
    transition: background 0.2s;
}

#directorio-form div.wpcf7 input[type="file"]::-webkit-file-upload-button:hover {
    background: #0e333654;
}

/* Botón de Enviar */
#directorio-form div.wpcf7 input[type="submit"] {
    background: #FF7A00 !important;
    color: #FFFFFF !important;
    border: none !important;
    width: 100%;
    padding: 14px !important;
    border-radius: 10px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    transition: background 0.2s, transform 0.1s !important;
    box-shadow: 0 4px 12px rgba(255, 122, 0, 0.3);
    margin-top: 10px;
}

#directorio-form div.wpcf7 input[type="submit"]:hover {
    background: #E06C00 !important;
    transform: translateY(-1px);
}

/* Mensajes de éxito y error propios de Contact Form 7 */
#directorio-form div.wpcf7-response-output {
    border-radius: 10px !important;
    padding: 15px !important;
    font-weight: 600 !important;
    text-align: center;
    margin: 20px 0 0 0 !important;
    border: none !important;
}

/* Mensaje de éxito */
#directorio-form div.wpcf7-mail-sent-ok {
    background: #065F46 !important;
    color: #D1FAE5 !important;
}

/* Mensaje de error o campos vacíos */
#directorio-form div.wpcf7-validation-errors, 
#directorio-form div.wpcf7-mail-sent-ng {
    background: #991B1B !important;
    color: #FEE2E2 !important;
}

/* Textos de error pequeños debajo de los campos obligatorios */
#directorio-form div.wpcf7 span.wpcf7-not-valid-tip {
    color: #FCA5A5 !important;
    font-size: 12px;
    margin-top: 5px;
}


 .dc-container { font-family: "Poppins"; max-width: 1200px; margin: 0 auto; padding: 20px; color: #1E293B; }
        .dc-buscador-bar { display: flex; gap: 10px; margin-bottom: 20px; justify-content: center; flex-wrap: wrap; }
        .dc-buscador-bar input[type="text"], .dc-buscador-bar select { padding: 12px 16px; border: 1px solid #CBD5E1; border-radius: 8px; font-size: 15px; }
        .dc-buscador-bar input[type="text"] { flex: 1; max-width: 350px; }
        .dc-buscador-bar button { background-color: #FF7A00; color: #FFF; border: none; padding: 12px 20px; border-radius: 8px; font-weight: 800; cursor: pointer; text-transform: uppercase; font-size: 12px; }
        .dc-filtros { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; justify-content: center; align-items: center; }
        .dc-filtro-pill { background-color: #E2E8F0; color: #334155; padding: 8px 18px; border-radius: 50px; font-size: 13px; font-weight: 700; text-decoration: none; text-transform: uppercase; transition: all 0.3s; }
        .dc-filtro-pill:hover, .dc-filtro-pill.active { background-color: #0F172A; color: #FFFFFF; }
        .dc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(48%, 1fr)); gap: 24px; }
        @media (max-width: 768px) { .dc-grid { grid-template-columns: 1fr; } }
        .dc-card { background: #FFFFFF; border-radius: 12px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05); display: flex; overflow: hidden; border: 1px solid #F1F5F9; }
        .dc-card-content { padding: 20px; flex: 1; display: flex; flex-direction: column; justify-content: space-between; }
        .dc-card-title { font-size: 16px; font-weight: 800; color: #000; margin: 0 0 6px 0; text-transform: uppercase; }
        .dc-card-info { font-size: 12px; color: #475569; margin-bottom: 4px; font-weight: 600; }
        .dc-card-img { width: 160px; background-color: #E2E8F0; background-size: cover; background-position: center; min-height: 140px; }
        .dc-btn { display: inline-flex; align-items: center; justify-content: space-between; background-color: #FF7A00; color: #FFFFFF; font-size: 11px; font-weight: 800; padding: 6px 12px; border-radius: 4px; text-decoration: none; text-transform: uppercase; margin-top: 10px; width: fit-content; }
        
        .dc-detalle-box { background: #FFF; padding: 30px; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
        .dc-redes-sociales { display: flex; gap: 12px; margin-top: 15px; }
        .dc-social-btn { background-color: #0F172A; color: #FFF; padding: 6px 14px; border-radius: 6px; font-size: 12px; font-weight: 700; text-decoration: none; }
        .dc-social-btn.whatsapp { background-color: #25D366; }
        .dc-galeria-grid { display: flex; gap: 10px; margin-top: 20px; flex-wrap: wrap; }
        .dc-galeria-thumb { width: 90px; height: 90px; background-size: cover; background-position: center; border-radius: 6px; border: 2px solid #E2E8F0; }
        .dc-mapa-container { margin-top: 20px; width: 100%; }
        .dc-mapa-container iframe { width: 100%; height: 250px; border: 0; border-radius: 8px; }