/*
 * Styles projet : contenu des pages, lien compte (connexion/inscription).
 */

/* Règle globale : éviter la coupure des mots sur tout le site */
* {
    word-break: normal !important;
    overflow-wrap: break-word;
    hyphens: none;
}

/* Lien Se connecter / S'inscrire à droite dans la nav */
.kode_account_link {
    float: left;
    margin-left: 10px;
    margin-top: 14px;
}

.kode_account_link a {
    display: inline-block;
    padding: 9px 12px;
    color: #27282d;
    border: 2px solid #9e9ea0;
    font-size: 13px;
    font-weight: 600;
}

.kode_account_link a:hover {
    color: #fff;
    border-color: #16283c;
    background-color: #16283c;
}

.kode_account_link a i {
    margin-right: 6px;
}

/* Sidebar compte : lien actif et bouton déconnexion comme lien */
.kode_aside_cat.kode_aside ul li.active a {
    color: #16283c;
    font-weight: 600;
}

.kode_aside_cat.kode_aside ul li form {
    margin: 0;
    padding: 0;
}

.kode_aside_cat.kode_aside ul li form button {
    display: block;
    width: 100%;
    text-align: left;
    background: none;
    border: 0;
    color: #a8a8a8;
    font-size: 14px;
    padding: 10px 0;
    cursor: pointer;
    font-family: inherit;
}

.kode_aside_cat.kode_aside ul li form button:hover {
    color: #16283c;
}

.kode_aside_cat.kode_aside ul li form button i {
    margin-right: 8px;
}

/* Contenu principal espace compte : aligné à gauche */
.kode_account_content {
    text-align: left;
}

.kode_account_content .kode_news_list_des,
.kode_account_content h2,
.kode_account_content p,
.kode_account_content ul,
.kode_account_content table,
.kode_account_content form {
    text-align: left;
}

.kode_account_content h2 {
    font-size: 38px;
    text-decoration: underline;
    font-weight: bolder;
}

.kode_news_list_des {
    float: none;
}

/* Espace compte : padding spécifique pour .kode_news_list_des */
.kode_account_content .kode_news_list_des {
    float: none;
    padding: 10px 0px 0px 10px;
}

/* Espace compte : bouton/lien d'action des onglets en bas à gauche */
.kode_shortcode_inner_wrap {
    padding-top: 10px;
}

.kode_account_content .kode_planning_detail {
    min-height: 280px;
}

.kode_account_content .kode_planning_detail .planning_des {
    padding: 0 0 0 60px;
    float: none;
    display: flex;
    flex-direction: column;
    min-height: 180px;
}

.kode_account_content .kode_planning_detail .planning_des p:last-child {
    margin-top: auto;
    text-align: left;
}

/* Bloc page : pleine largeur du container, aligné à gauche */
.kf_404_wrap.kf_page_content_wrap {
    width: 100%;
    max-width: 100%;
    margin: 0;
    text-align: left;
}

.kf_404_wrap.kf_page_content_wrap h2 {
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 1em;
    line-height: 1.4;
    color: #333333;
}

.kf_404_wrap.kf_page_content_wrap .lead,
.kf_404_wrap.kf_page_content_wrap > p {
    font-size: 14px;
    color: #666666;
    text-transform: none;
    margin-bottom: 1.5em;
    line-height: 1.6;
}

/* Contenu HTML de la page : polices plus petites, aligné à gauche */
.kf_404_wrap.kf_page_content_wrap .page-content {
    font-size: 14px;
    color: #666666;
    line-height: 1.6;
    text-align: left;
    font-family: 'Open Sans', sans-serif;
}

.kf_404_wrap.kf_page_content_wrap .page-content p {
    font-size: 14px;
    color: #666666;
    text-transform: none;
    margin-bottom: 1em;
    letter-spacing: 0.2px;
}

.kf_404_wrap.kf_page_content_wrap .page-content h2 {
    font-size: 18px;
    font-weight: 700;
    color: #333333;
    margin: 1.5em 0 0.5em;
    font-family: 'Sintony', sans-serif;
}

.kf_404_wrap.kf_page_content_wrap .page-content h2:first-child {
    margin-top: 0;
}

.kf_404_wrap.kf_page_content_wrap .page-content ul {
    margin: 0 0 1em;
    padding-left: 1.5em;
    text-align: left;
}

.kf_404_wrap.kf_page_content_wrap .page-content li {
    font-size: 14px;
    color: #666666;
    margin-bottom: 0.4em;
    line-height: 1.5;
}

.kf_404_wrap.kf_page_content_wrap .page-content a {
    color: #16283c;
    text-decoration: underline;
}

.kf_404_wrap.kf_page_content_wrap .page-content a:hover {
    color: #000000;
}

/* Contenu principal page Programmes (CMS) : aligné à gauche */
.kode_services_abt_bg .page-content {
    text-align: left;
}

.kode_services_abt_bg .page-content p,
.kode_services_abt_bg .page-content ul,
.kode_services_abt_bg .page-content li,
.kode_services_abt_bg .page-content h2,
.kode_services_abt_bg .page-content h3 {
    text-align: left;
}

/*
 * Style formulaires : même rendu que template_model contact-us (kf_touch_field, comming_place).
 * S'applique aux formulaires dans .kode_account_content, .kode_news_list_des, .kf_404_wrap et .kode_content section.
 */
.kode_account_content form p,
.kode_news_list_des form p,
.kf_404_wrap form p,
.kode_content section form p {
    float: left;
    width: 100%;
    position: relative;
    margin-bottom: 30px;
}

.kode_account_content form p label,
.kode_news_list_des form p label,
.kf_404_wrap form p label,
.kode_content section form p label,
.kode_account_content form .kf_touch_field label,
.kf_404_wrap form .kf_touch_field label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #27282d;
}

.kode_account_content form input[type="text"],
.kode_account_content form input[type="email"],
.kode_account_content form input[type="number"],
.kode_account_content form input[type="password"],
.kode_account_content form input[type="date"],
.kode_account_content form input[type="url"],
.kode_account_content form textarea,
.kode_account_content form select,
.kode_news_list_des form input[type="text"],
.kode_news_list_des form input[type="email"],
.kode_news_list_des form input[type="number"],
.kode_news_list_des form input[type="password"],
.kode_news_list_des form input[type="date"],
.kode_news_list_des form textarea,
.kode_news_list_des form select,
.kf_404_wrap form input[type="text"],
.kf_404_wrap form input[type="email"],
.kf_404_wrap form input[type="password"],
.kf_404_wrap form textarea,
.kode_content section form input[type="text"],
.kode_content section form input[type="email"],
.kode_content section form input[type="number"],
.kode_content section form input[type="password"],
.kode_content section form textarea {
    width: 100%;
    height: 50px;
    border: 1px solid #e5e6e9;
    padding: 8px 15px;
    color: #27282d;
    margin-bottom: 30px;
    box-sizing: border-box;
    font-family: inherit;
}

.kode_account_content form textarea,
.kode_news_list_des form textarea,
.kf_404_wrap form textarea,
.kode_content section form textarea {
    height: 150px;
    min-height: 150px;
    resize: vertical;
}

.kode_account_content form input[type="checkbox"],
.kode_news_list_des form input[type="checkbox"] {
    width: auto;
    height: auto;
    margin-right: 8px;
    vertical-align: middle;
}

.kode_account_content form p:has(input[type="checkbox"]),
.kode_news_list_des form p:has(input[type="checkbox"]) {
    margin-bottom: 20px;
}

.kode_account_content form button[type="submit"],
.kode_news_list_des form button[type="submit"],
.kf_404_wrap form button[type="submit"],
.kode_content section form button[type="submit"] {
    float: right;
}

.kode_account_content form .kf_touch_field,
.kf_404_wrap form .kf_touch_field {
    margin-bottom: 30px;
}

.kode_account_content form .kf_touch_field:last-of-type button,
.kode_account_content form p:has(button),
.kode_news_list_des form p:has(button) {
    margin-bottom: 0;
}

.kode_account_content form input[type="file"],
.kode_news_list_des form input[type="file"] {
    width: 100%;
    height: auto;
    padding: 8px 0;
    border: none;
    border-bottom: 1px solid #e5e6e9;
}

.kode_account_content form .text-danger,
.kode_news_list_des form .text-danger,
.kf_404_wrap form .text-danger {
    font-size: 13px;
    margin-top: 4px;
}

.kode_account_content form .alert,
.kode_news_list_des form .alert {
    float: left;
    width: 100%;
    margin-bottom: 20px;
}

/* Newsletter : champ email comme input text du thème (widget.css cible type="text") */
.kode_newsletter_form form input[type="email"] {
    width: 100%;
    height: 53px;
    background-color: #fff;
    border: 0;
    padding: 8px 62px 8px 15px;
    color: #939393;
}

.kode_newsletter_des {
    float: left;
    text-align: right;
    padding-left: 50px;
    padding-top: 15px;
}

/* Galerie footer : dimensions fixes 80x80px */
.kode_foo_gallery ul li {
    width: 80px;
    height: 80px;
    overflow: hidden;
}

.kode_foo_gallery ul li a {
    display: block;
    width: 80px;
    height: 80px;
    overflow: hidden;
}

.kode_foo_gallery ul li a img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    object-position: center;
}

/* Galerie aside (page actualités) : dimensions fixes 105x105px */
.kode_aside_flicker ul li {
    width: 105px !important;
    height: 105px !important;
    overflow: hidden;
    box-sizing: border-box;
}

.kode_aside_flicker ul li a {
    display: block;
    width: 105px;
    height: 105px;
    overflow: hidden;
}

.kode_aside_flicker ul li a figure {
    width: 105px;
    height: 105px;
    margin: 0;
    overflow: hidden;
    position: relative;
}

.kode_aside_flicker ul li a figure img {
    width: 105px;
    height: 105px;
    object-fit: cover;
    object-position: center;
}
