/* general */
h1, h2, h3, h4 {
    text-transform: initial!important;
    font-family: 'Newsreader', Arial, Helvetica, sans-serif!important;
    font-weight: 500 !important;
    -webkit-font-smoothing: antialiased !important;
}

h1 {
    font-size: clamp(32px, 5vw, 46px) !important;
    text-wrap-style: balance;
}

.trs-big-title h2 {
    font-size: clamp(1.75rem, 3vw, 3rem);
}

body {
    font-family: 'Public Sans', Arial, Helvetica, sans-serif!important;
    font-weight: 400 !important;
    font-size: 15px;
    -webkit-font-smoothing: antialiased !important;
    line-height: 1.5 !important;
    color: #5b6165 !important;
}

.av-subheading {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 12px!important;
    color: var(--enfold-alternate-color-primary)!important;
}



/* Hero section */

.trs-hero-section .slideshow_caption {
    width: 65%;
}

.trs-hero-section .avia-caption-title  {
    font-size: clamp(38px, 6vw, 66px) !important;
    color: white !important;
}

.trs-hero-section .avia-caption-content  {
    font-size: clamp(17px, 2.2vw, 21px) !important;
}

/* Custom cards */
.trs-card .iconlist_icon {
    background-color: #FCEEED!important;
    border-radius: 20px!important;
}

.trs-card .iconlist_icon svg {
    fill: var(--enfold-alternate-color-primary)!important;
}

.trs-card .avia-icon-list li {
    padding: 0px!important;
}

.trs-card .avia-icon-list-container {
    margin: 0px!important;
}

.trs-card .av-special-heading {
    margin: 0px!important;
    margin-top: 15px!important;
}

.trs-card .av-subheading {
    text-transform: none !important;
}

.trs-card {
    background: white;
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--enfold-main-color-border);
}

.trs-card h3 {
    font-weight: bold!important;
}

.trs-card p {
    color: var(--component-color-primary);
}

/* custom images */
.avia-image-container-inner img {
    border-radius: 20px;
    border: 1px solid var(--enfold-main-color-border);
}

/* Iframe */
iframe {
    border-radius: 20px;
    border: 1px solid var(--enfold-main-color-border)!important;
}

/* Breadcrumb 
.avia_codeblock span, .avia_codeblock span span a {
    color: var(--enfold-main-color-bg2)!important;
}*/

.breadcrumb_last strong {
    color: var(--enfold-main-color-bg2)!important;
}

/* Formulaire */

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

#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-container {
    margin-bottom: 0px!important;
}

/* Iconlist */

header.entry-content-header .av_iconlist_title {
    font-weight: 900!important;
}

.av-iconlist-small svg {
    fill: white!important;
    height: 1.8em!important;
}

.av-iconlist-small .iconlist_icon {
    margin-right: 1.25em!important;
}

/* Documents */
body .container_wrap .av_promobox {
    border-radius: 20px;
    padding: 15px 20px;
    margin: 0px;
    margin-bottom: 15px;
}

/* tris-contact-side */
.tris-contact-side {
    display: flex;
    margin: 0px;
    width: 100%;
    position: initial;
    flex-direction: column;
    gap: 15px;
}

/* tris-extra-menu-side */
.tris-extra-menu-side {
    background: white;
    padding: 20px;
    border: 1px solid var(--enfold-main-color-border);
    border-radius: 20px;
}

.tris-extra-menu-side p {
    margin-top: 0px;
}

.tris-extra-menu-side li {
    border-bottom: 1px solid var(--enfold-main-color-border);
    margin-top: 10px!important;
}

.tris-extra-menu-side li:last-child {
    border-bottom: none;
}

.tris-extra-menu-side li span {
    padding: 0 0 10px 0!important;
}

.tris-contact-side .avia-promocontent {
    margin: 0px;
}

.tris-contact-side .avia-promocontent p {
    color: var(--enfold-main-color-primary);
}

/*.tris-contact-side .avia-promocontent strong {
    color: #ffffff;
}*/

.tris-contact-side .avia-button-wrap {
    position: initial;
    display: initial;
    width: 100%;
    float: none;
    text-align: center;
    margin-bottom: 15px;
}

.tris-contact-side .avia-button-wrap a {
    float: none;
    display: block;
    position: initial;
    border-radius: 10px;
    font-weight: bold;
}

.tris-contact-side .avia-button-wrap a .avia_iconbox_title {
    display: inline-block;
}


.tris-contact-side-white {
    display: flex;
    margin: 0px;
    width: 100%;
    position: initial;
    flex-direction: column;
    gap: 15px;
    background: #ffffff!important;
}

.tris-contact-side-white p {
    margin-bottom: 10px!important;
}


.tris-contact-side-white .avia-promocontent {
    margin: 0px;
    margin-bottom: 15px;
}

.tris-contact-side-white .avia-button-wrap a {
    float: none;
    display: block;
    position: initial;
    border-radius: 10px;
    font-weight: bold;
}

/*.tris-contact-side-white .avia-promocontent strong {
    color: var(--enfold-main-color-bg2);
}*/

.tris-contact-side-white .avia-promocontent p {
    margin: 0px;
}

/* User card */
.trs-card-pers {
    padding: 20px;
    background: var(--enfold-alternate-color-button-font);
    border: 1px solid var(--enfold-main-color-border);
    border-radius: 20px;
}

.trs-card-pers .avia-image-container.avia-align-center {
    text-align: initial;
    margin-bottom: 0px!important;
}

.trs-card-pers .av-special-heading {
    margin-top: 15px;
}

.trs-card-pers .av_textblock_section p {
    margin: 0px;
    font-weight: bold;
    text-transform: uppercase;
}

.trs-card-pers .av_textblock_section {
    color: var(--enfold-alternate-color-primary);
    background: #FCEEED;
    width: fit-content;
    padding: 5px;
    border-radius: 10px;
}

.trs-card-pers img {
    max-width: 60px;
    border-radius: 100%;
}

/* Accordion */
.single_toggle .toggler {
    background-color: var(--enfold-alternate-color-button-font)!important;
    font-weight: bold;
    padding: 9px 3px 9px 15px!important;
}

.toggle_wrap .toggle_content {
    background-color: var(--enfold-alternate-color-button-font)!important;
    border-bottom-right-radius: 10px!important;
    border-bottom-left-radius: 10px!important;
}

.togglecontainer .single_toggle:first-child .toggler {
    border-radius: 10px!important;
}

.single_toggle {
    margin-bottom: 5px!important;
}

.single_toggle .toggler .toggle_icon {
    right: 10px;
    left: initial;
    border: none;
}

.single_toggle .toggler .toggle_icon .vert_icon {
    border-color: var(--enfold-main-color-secondary);
}

.single_toggle .toggler .toggle_icon .hor_icon {
    border-color: var(--enfold-main-color-secondary);
}

/* Footer */
#footer .liens-utiles li {
	padding: 4px 0 5px 0;
    font-size: 13px !important;
}

#footer h3 {
	text-transform: uppercase !important;
}

.commune-identite {
    margin-top: 22px;
    text-align: left;
}

.commune-surtitle {
    margin-bottom: 2px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #b8bdbf;
}

.commune-title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.1;
    color: #ffffff;
}

/* test */

/* ACCÈS RAPIDES — animation hover */

.trs-card {
    position: relative;
    overflow: hidden;
    cursor: pointer;

    transition:
        transform 0.35s cubic-bezier(.2, .8, .2, 1),
        box-shadow 0.35s cubic-bezier(.2, .8, .2, 1),
        border-color 0.35s ease;

    will-change: transform;
}

/* Reflet subtil */
.trs-card::before {
    content: "";
    position: absolute;
    inset: 0;

    background: linear-gradient(
        135deg,
        transparent 30%,
        rgba(255, 255, 255, 0.28) 50%,
        transparent 70%
    );

    transform: translateX(-120%);
    transition: transform 0.65s cubic-bezier(.2, .8, .2, 1);

    pointer-events: none;
}

/* Hover */
.trs-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 18px 35px rgba(0, 0, 0, 0.08),
        0 4px 12px rgba(0, 0, 0, 0.04);
}

.trs-card:hover::before {
    transform: translateX(120%);
}

/* Icône */
.trs-card svg,
.trs-card i,
.trs-card .icon {
    transition: transform 0.4s cubic-bezier(.2, .8, .2, 1);
}

.trs-card:hover svg,
.trs-card:hover i,
.trs-card:hover .icon {
    transform: translateY(-2px) scale(1.08);
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce) {
    .trs-card,
    .trs-card::before,
    .trs-card svg,
    .trs-card i,
    .trs-card .icon,
    .trs-card h3,
    .trs-card h4 {
        transition: none;
    }

    .trs-card:hover {
        transform: none;
    }
}

#top .quick-access-cards .av-subheading_below p {
    color: #8a9096;
    font-weight: 400;
    font-size: 13px;
    margin-top: 5px;
}

.avia-icon-list-container .avia-icon-list > li { margin-bottom: 20px !important; }
.avia-icon-list-container .iconlist_content p  { margin: 2px 0 0 !important; }
.avia-icon-list-container .entry-footer        { display: none !important; }

#socket .copyright {
    float: none !important;
}

#nf-form-3-cont, #nf-form-5-cont {
	border-radius: 14px;
}

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

.nf-form-content .nf-element[type="submit"] {
    border-radius: 11px;
    height: 48px;
    font-weight: 600;
    font-size: 15px;
}

.trs-image-radius img {
    border-radius: 20px !important;
}

/* Flèche « lien externe » : remplace le caractère ↗ (inc/tris/external_arrow.php),
   absent de Public Sans et affiché en emoji sur mobile. Couleur = celle du lien. */
.tris-ext-arrow {
    display: inline-block;
    width: 0.9em;
    height: 0.9em;
    margin-left: 0.1em;
    vertical-align: -0.08em;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ============================================================
   ACCUEIL — section « Accès rapides » (classe Avia .quick-access-cards)
   Colonnes 1/4 Avia (avia-link-column) + liste d'icônes remises à plat
   en liens sobres, sans carte : petite icône rouge sur fond rosé
   (comme « Je veux… »), titre, description, filet de séparation.
   4 colonnes > 1100px, 2 colonnes > 600px, liste compacte en dessous
   (titre seul + chevron, description masquée).
============================================================ */

.quick-access-cards {
    --qa-accent: var(--tris-brand-red, #c0392b);
    --qa-accent-soft: color-mix(in srgb, var(--qa-accent) 10%, #ffffff);
    --qa-heading: var(--component-color-dark, #2f3437);
    --qa-text: var(--component-color-text, #5b6165);
    --qa-muted: color-mix(in srgb, var(--component-color-text, #5b6165) 85%, #ffffff);
    --qa-border: #e9e1d3;
    --qa-transition: var(--component-transition, 0.25s ease);
}

/* Structure : les colonnes Avia sœurs deviennent une grille */

#top .quick-access-cards .entry-content-wrapper {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 32px;
}

.quick-access-cards .entry-content-wrapper::before,
.quick-access-cards .entry-content-wrapper::after {
    display: none;
    content: none;
}

.responsive #top #wrap_all .quick-access-cards .entry-content-wrapper > .flex_column {
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
}

/* En-tête : titre + phrase d'intro sur toute la largeur */

.responsive #top #wrap_all .quick-access-cards .entry-content-wrapper > .av_one_full {
    grid-column: 1 / -1;
    margin-bottom: 12px;
}

#top .quick-access-cards .av_one_full .av-special-heading {
    margin: 0 0 8px;
    padding: 0;
}

.quick-access-cards .av_one_full .avia_textblock p {
    margin: 0;
    color: var(--qa-text);
}

/* Lien : filet supérieur, pas de fond ni de cadre */

.responsive #top #wrap_all .quick-access-cards .entry-content-wrapper > .av_one_fourth {
    position: relative;
    padding: 18px 0;
    border-top: 1px solid var(--qa-border);
    cursor: pointer;
}

/* Le lien « Lier vers : … » (lecteurs d'écran) reçoit le focus clavier */
.responsive #top #wrap_all .quick-access-cards .entry-content-wrapper > .av_one_fourth:focus-within {
    outline: 2px solid var(--qa-accent);
    outline-offset: 4px;
    border-radius: 4px;
}

/* Contenu : liste d'icônes Avia remise à plat */

#top .quick-access-cards .avia-icon-list-container {
    margin: 0;
}

.quick-access-cards .avia-icon-list {
    opacity: 1 !important;
    animation: none !important;
}

#top .quick-access-cards .avia-icon-list > li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-height: 0;
    margin: 0 !important;
    padding: 0;
}

.quick-access-cards .iconlist-timeline,
.quick-access-cards .entry-footer {
    display: none !important;
}

#top .quick-access-cards .flex_column .avia-icon-list .iconlist_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    float: none;
    width: 36px;
    height: 36px;
    margin: 0;
    border-radius: var(--component-radius, 8px);
    background: var(--qa-accent-soft);
    color: var(--qa-accent);
    font-size: 20px;
    line-height: 1;
    opacity: 1 !important;
    animation: none !important;
    transform: none !important;
    transition: background-color var(--qa-transition), color var(--qa-transition);
}

#top .quick-access-cards .flex_column .avia-icon-list .iconlist_icon svg:first-child {
    width: 18px;
    height: 18px;
    margin: 0;
    fill: currentColor;
    stroke: currentColor;
}

#top .quick-access-cards .flex_column:hover .avia-icon-list .iconlist_icon,
#top .quick-access-cards .flex_column:focus-within .avia-icon-list .iconlist_icon {
    background: var(--qa-accent);
    color: var(--component-color-text-invert, #ffffff);
}

#top .quick-access-cards .article-icon-entry {
    flex: 1;
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
}

#top .quick-access-cards .iconlist_content_wrap {
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow: visible;
}

#top .quick-access-cards .entry-content-header {
    margin: 0;
    padding: 0;
}

#top .quick-access-cards .av_iconlist_title {
    position: static;
    margin: 0;
    padding: 0;
    color: var(--qa-heading);
    font-size: 1.05rem;
    font-weight: 600 !important;
    line-height: 1.3;
    transition: color var(--qa-transition);
}

#top .quick-access-cards .flex_column:hover .av_iconlist_title,
#top .quick-access-cards .flex_column:focus-within .av_iconlist_title {
    color: var(--qa-accent);
}

#top .quick-access-cards .iconlist_content {
    margin-top: 3px;
    color: var(--qa-muted);
    font-size: 0.85rem;
    line-height: 1.45;
}

#top .quick-access-cards .iconlist_content p {
    margin: 0 !important;
    color: inherit;
    font-size: inherit;
    font-weight: 400;
    text-transform: none;
}

/* Tablette : 2 colonnes */
@media (max-width: 1099px) {
    #top .quick-access-cards .entry-content-wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Mobile : liste compacte, une ligne par lien */
@media (max-width: 599px) {
    #top .quick-access-cards .entry-content-wrapper {
        grid-template-columns: minmax(0, 1fr);
    }

    .responsive #top #wrap_all .quick-access-cards .entry-content-wrapper > .av_one_fourth {
        padding: 10px 28px 10px 0;
    }

    .responsive #top #wrap_all .quick-access-cards .entry-content-wrapper > .av_one_fourth:last-child {
        border-bottom: 1px solid var(--qa-border);
    }

    /* Chevron à droite (le clearfix Enfold masque ::after par défaut) */
    #top .quick-access-cards .av_one_fourth::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 4px;
        width: 16px;
        height: 16px;
        margin-top: -8px;
        overflow: visible;
        visibility: visible;
        background-color: var(--qa-muted);
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
    }

    #top .quick-access-cards .avia-icon-list > li {
        align-items: center;
        gap: 12px;
    }

    #top .quick-access-cards .flex_column .avia-icon-list .iconlist_icon {
        width: 32px;
        height: 32px;
        font-size: 18px;
    }

    #top .quick-access-cards .av_iconlist_title {
        font-size: 1rem;
    }

    #top .quick-access-cards .iconlist_content {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .quick-access-cards .iconlist_icon,
    .quick-access-cards .av_iconlist_title {
        transition: none !important;
    }
}

