 /* .pt-form-description{background:green ;border:1px solid pink}
 
      .pt-form-card{max-width:820px;background:#f3f;border:1px solid #d0d4da;border-radius:14px;padding:1.25rem 1.25rem 0.75rem;margin:1.5rem 0;box-shadow:0 6px 18px rgba(0,0,0,.06);}
      .pt-form-card h3{margin:0 0 .75rem;}
      .pt-form-field{margin:0 0 1.1rem;}
      .pt-form-label{font-weight:700;margin:0 0 .35rem;display:block;}
      .pt-form-help{margin:.15rem 0 .5rem;color:#444;font-size:.95rem;}
      .pt-form-radio, .pt-form-check{display:block;margin:.35rem 0;font-weight:500;}
      .pt-form-submit{margin:1rem 0;}
      .pt-alert{padding:.75rem 1rem;border-radius:10px;margin:0 0 1rem;font-weight:650;}
      .pt-alert-ok{background:#e8f7ec;color:#126b2b;border:1px solid #c9ebd2;}
      .pt-alert-error{background:#fde8e8;color:#8a1f1f;border:1px solid #f5c2c2;}
*/
/* -------------------------------- */
/* Main form wrapper                */
/* -------------------------------- */

.pt-form-wrap
{
    width: 80%;
    margin: 2rem auto;
    padding: 1.25rem 1.5rem;

    background: #ffffff;
    border: 1px solid #d7dce0;
    border-radius: 14px;

    box-shadow: 0 8px 22px rgba(0,0,0,0.12);
}

/* -------------------------------- */
/* Description                      */
/* -------------------------------- */

.pt-form-description
{
    margin-bottom: 1.5rem;
    line-height: 1.6;
}

/* -------------------------------- */
/* Each field block                 */
/* -------------------------------- */

.pt-form-field
{
    margin-bottom: 0.6rem;
    padding: 10px;
    border-radius: 8px;
}

/* -------------------------------- */
/* Labels                           */
/* -------------------------------- */

.pt-form-label
{
    display: block;
    font-weight: 700;
    margin-bottom: 0.25rem;
    color: #003820;
}

/* -------------------------------- */
/* Inputs / select / textarea       */
/* -------------------------------- */

.pt-form-input
{
    width: 80%;
    padding: 10px 12px;

    font-size: 0.96rem;
    line-height: 1.4;

    border: 1px solid #cdd4d9;
    border-radius: 8px;
    background: #ffffff;

    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.pt-form-input:focus
{
    outline: none;
    border-color: #2d7747;
    box-shadow: 0 0 0 2px rgba(45,119,71,0.16);
}

textarea.pt-form-input
{
    width: 85%;
    min-height: 140px;
    resize: vertical;
}

/* -------------------------------- */
/* Checkbox / radio group box       */
/* -------------------------------- */

.pt-form-options
{
    width: 85%;
    padding: 8px 10px;

    border: 1px solid #d7dce0;
    border-radius: 8px;
    background: #fafbfc;
}

/* Individual options */
.pt-form-radio,
.pt-form-check
{
 /*   display: block;
    margin: 0.45rem 0;
    cursor: pointer;
    line-height: 1.4; */
	
	display: flex;
    align-items: center;
    gap: 6px;

    margin: 4px 0;
    cursor: pointer;
    line-height: 1.3;
}


.pt-form-radio input,
.pt-form-check input
{
    /* margin-right: 8px; */
	
    margin: 0;
    flex: 0 0 auto;
}

/* -------------------------------- */
/* Submit                           */
/* -------------------------------- */

.pt-form-submit
{
    margin-top: 1.5rem;
    text-align: center;
}

.pt-form-submit button
{
    background: #2d7747;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    padding: 10px 18px;
    font-size: 0.96rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.12);
}

.pt-form-submit button:hover
{
    background: #1f5c37;
}

/* -------------------------------- */
/* Alerts                           */
/* -------------------------------- */

.pt-alert
{
    width: 80%;
    margin: 0 auto 1rem auto;
    padding: 10px 14px;
    border-radius: 8px;
}

.pt-alert-ok
{
    background: #e6f5ec;
    border: 1px solid #7dc79b;
    color: #1c5b36;
}

.pt-alert-error
{
    background: #fdeaea;
    border: 1px solid #e6a5a5;
    color: #8b1f1f;
}

/* -------------------------------- */
/* Mobile                           */
/* -------------------------------- */

@media (max-width: 900px)
{
    .pt-form-wrap
    {
        width: 94%;
        padding: 1rem;
    }

    .pt-form-input,
    textarea.pt-form-input,
    .pt-form-options
    {
        width: 100%;
    }

    .pt-alert
    {
        width: 94%;
    }
}