/* ==========================================================
   CONTACT COMMUNE
   ========================================================== */

.trs-border-radius section {
    border-radius: 14px;
}

.administration-communale h4{
    color: #ed2729;
    line-height: 1.3;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1px;
    margin-bottom: 5px;
}

.administration-communale h4 {
    line-height: 1.3!important;
    font-weight: 700!important;
    text-transform: uppercase!important;
    letter-spacing: .1px!important;
    margin-bottom: 5px!important;
    font-family: "Public Sans", Arial, Helvetica, sans-serif!important;
}

.red-strong strong {
    color: #ed2729!important;
}

/* ----------------------------------------------------------
   TITRES
   ---------------------------------------------------------- */

#contact-commune .contacts-services-title {
    margin-top: 25px;
    margin-bottom: 17px;
}

#contact-commune h2 {
    font-size: 25px;
    line-height: 1.25;
    margin-bottom: 0;
}


/* ==========================================================
   NINJA FORMS
   ========================================================== */



#nf-form-4-cont {
    padding: 20px 0 !important;
}

#nf-form-4-cont .nf-form-content {
    max-width: none;
    padding: 0;
}

#nf-form-4-cont .nf-form-fields-required {
    display: none;
}


/* grille formulaire */

#nf-form-4-cont nf-fields-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 15px;
    row-gap: 11px;
}


/* par défaut tous les champs pleine largeur */

#nf-form-4-cont nf-field {
    grid-column: 1 / -1;
}


/* Nom */

#nf-form-4-cont nf-field:nth-of-type(1) {
    grid-column: 1;
}


/* E-mail */

#nf-form-4-cont nf-field:nth-of-type(2) {
    grid-column: 2;
}


#nf-form-4-cont .nf-field-container {
    margin-bottom: 0;
}


/* Labels */

.nf-field-label {
    display: none;
}

#nf-form-4-cont .nf-field-label {
    margin-bottom: 5px;
}

#nf-form-4-cont .nf-field-label label {
    line-height: 1.3;
    color: #666;
    font-weight: 600;
}


/* champs */

#nf-form-4-cont input:not([type="button"]):not([type="submit"]),
#nf-form-4-cont select,
#nf-form-4-cont textarea {
    background: #fff !important;
    border: 1px solid #ded8d0 !important;
    border-radius: 7px !important;
    box-shadow: none !important;
    color: #555 !important;
}


/* Input */

#nf-form-4-cont input:not([type="button"]):not([type="submit"]) {
    height: 44px !important;
    padding: 0 13px !important;
}


/* Select */

#nf-form-4-cont select {
    height: 44px !important;
    padding: 0 13px !important;
}

#top .input-text, #top input[type=email], #top input[type=input], #top input[type=number], #top input[type=password], #top input[type=search], #top input[type=tel], #top input[type=text], #top input[type=url], #top select, #top textarea {
    margin-bottom: 5px!important;
}

#nf-field-46-wrap li {
    display: flex;
    flex-direction: row;
}

#nf-label-field-46-0 {
    margin-top: 6px;
}

#top #nf-form-4-cont input[type="checkbox"] {
    height: initial!important;
}


/* Textarea */

#nf-form-4-cont textarea {
    height: 132px !important;
    min-height: 132px !important;
    padding: 12px !important;
}


/* ==========================================================
   CARTES CONTACTS PAR SERVICE
   ========================================================== */

.commune-services-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 14px;
}

.commune-service-card {
    background: #fff;
    border: 1px solid #e4dbd1;
    border-radius: 11px;
    padding: 18px 17px 16px;
    min-height: 160px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.commune-service-label {
    color: #ed2729;
    /*font-size: 10px;*/
    line-height: 1.3;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1px;
    margin-bottom: 5px;
}

.commune-service-card h4 {
    margin: 0 0 10px 0;
    color: #454545;
    /*font-size: 14px;*/
    line-height: 1.35;
    font-weight: 700;
}

.commune-service-card p {
    margin-top: 0;
}

.commune-service-description {
    color: #777;
    /*font-size: 12px;*/
    line-height: 1.45;
    margin-bottom: 11px;
}

.commune-service-phone {
    margin-bottom: 6px;
}

.commune-service-phone a {
    color: #ed2729 !important;
    /*font-size: 12px;*/
    text-decoration: none;
}

.commune-service-phone a:hover {
    color: #d91f22 !important;
}

.commune-service-hours {
    color: #999;
    /*font-size: 11px;*/
    line-height: 1.4;
    margin-bottom: 0;
}


/* ==========================================================
   RESPONSIVE MOBILE
   ========================================================== */

@media only screen and (max-width: 767px) {

    #contact-commune .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    #nf-form-4-cont nf-fields-wrap {
        grid-template-columns: 1fr;
    }

    #nf-form-4-cont nf-field,
    #nf-form-4-cont nf-field:nth-of-type(1),
    #nf-form-4-cont nf-field:nth-of-type(2) {
        grid-column: 1;
    }

    .commune-services-grid {
        grid-template-columns: 1fr;
    }

    .commune-service-card {
        min-height: 0;
    }
}