       /* Layout general */
       body {
           margin: 0;
           font-family: Arial, sans-serif;
           background: #f3f3f3;
       }

       .container {
           width: 95%;
           max-width: 700px;
           margin: 30px auto;
           background: #fff;
           padding: 20px;
           border-radius: 8px;
           box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
       }

       .header {
           text-align: center;
           margin-bottom: 20px;
       }

       .header img {
           border-radius: 5px;
           object-fit: cover;
       }

       .header h1 {
           margin: 15px 0 5px 0;
           color: #4c5f25;
           /* Un tono más oscuro para contraste */
           font-size: 1.4rem;
           font-weight: bold;
       }

       .header p {
           margin: 0 0 15px;
           font-size: 1rem;
           color: #333;
       }

       .form-group {
           margin-bottom: 15px;
       }

       label {
           display: block;
           margin-bottom: 6px;
           color: #333;
           font-weight: bold;
       }

       input[type="text"],
       input[type="tel"],
       input[type="date"],
       select {
           width: 100%;
           padding: 8px 12px;
           box-sizing: border-box;
           border: 1px solid #ccc;
           border-radius: 4px;
           font-size: 0.95rem;
           transition: border-color 0.3s;
       }

       /* Estilo para cuando hay error (invalid) */
       .invalid {
           border-color: red !important;
       }

       .validation-message {
           color: red;
           font-size: 0.85rem;
           display: none;
           /* Oculta por defecto; se muestra si lo deseas permanentemente */
       }

       .note {
           font-size: 0.9rem;
           font-style: italic;
           color: #666;
           margin-bottom: 15px;
       }

       /* Botón de enviar */
       #submitBtn {
           background: #7BA05B;
           /* Color espárrago */
           color: #fff;
           padding: 10px 20px;
           border: none;
           border-radius: 4px;
           font-size: 1rem;
           cursor: pointer;
           transition: background 0.3s;
       }

       #submitBtn:hover:enabled {
           background: #689049;
       }

       #submitBtn:disabled {
           background: #ccc;
           cursor: not-allowed;
       }

       /* Botón del modal (Ver políticas) */
       #openModal {
           background-color: #fff;
           color: #7BA05B;
           border: 2px solid #7BA05B;
           padding: 8px 12px;
           border-radius: 4px;
           cursor: pointer;
           transition: all 0.3s;
           font-size: 0.9rem;
       }

       #openModal:hover {
           background-color: #7BA05B;
           color: #fff;
       }

       /* Estilos del modal */
       .modal {
           display: none;
           /* Por defecto, el modal está oculto */
           position: fixed;
           z-index: 9999;
           left: 0;
           top: 0;
           width: 100%;
           height: 100%;
           overflow: auto;
           background-color: rgba(0, 0, 0, 0.5);
           /* Sombreado */
       }

       .modal-content {
           background-color: #fff;
           margin: 5% auto;
           padding: 20px;
           width: 80%;
           max-width: 600px;
           position: relative;
           border-radius: 5px;
           box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
           color: #333;
           line-height: 1.4em;
       }

       .closeModal {
           color: #999;
           float: right;
           font-size: 25px;
           font-weight: bold;
           cursor: pointer;
           transition: color 0.3s;
       }

       .closeModal:hover {
           color: #333;
       }

       .modal-header {
           font-size: 1.2rem;
           margin-bottom: 10px;
           font-weight: bold;
           border-bottom: 1px solid #eee;
           color: #4c5f25;
           padding-bottom: 5px;
       }

       .modal-body {
           margin-top: 10px;
           max-height: 300px;
           /* Ajusta la altura máxima del contenido */
           overflow-y: auto;
           /* Habilita scroll si excede la altura */
           text-align: justify;
       }

       /* Ajustes para el checkbox */
       .form-group input[type="checkbox"] {
           width: auto;
           margin-right: 6px;
       }

       /* Ajuste para la select de Select2 */
       .select2-container .select2-selection--single {
           height: 38px !important;
       }

       .select2-container--default .select2-selection--single .select2-selection__rendered {
           line-height: 36px !important;
       }

       .select2-container--default .select2-selection--single .select2-selection__arrow {
           height: 36px !important;
       }