/*
 * Thème 360 Communi'Team
 * Se charge après UIkit (MIT) et définit l'identité visuelle du site :
 * fond bleu-gris clair, relief doux (ombres claires/sombres), dégradés bleus,
 * et les quatre couleurs du logo (bleu, rouge, jaune, vert).
 */

/* ------------------------------------------------------------------ */
/* Police                                                              */
/* ------------------------------------------------------------------ */

@font-face {
    font-family: Manrope;
    font-style: normal;
    font-display: swap;
    /* Graisses 500 à 800 seulement : le texte normal s'affiche en 500, comme sur le site d'origine */
    font-weight: 500 800;
    src: url(../fonts/manrope-latin-ext-wght-normal.woff2) format("woff2-variations");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: Manrope;
    font-style: normal;
    font-display: swap;
    /* Graisses 500 à 800 seulement : le texte normal s'affiche en 500, comme sur le site d'origine */
    font-weight: 500 800;
    src: url(../fonts/manrope-latin-wght-normal.woff2) format("woff2-variations");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ------------------------------------------------------------------ */
/* Couleurs et reliefs                                                 */
/* ------------------------------------------------------------------ */

:root {
    --c-bg: #edf1fa;
    --c-bg-muted: #e4eaf7;
    --c-bg-hover: #e5ebf8;
    --c-text: #2d3847;
    --c-emphasis: #223650;
    --c-muted: #747a96;
    --c-border: #e0e5ed;
    --c-primary: #1991ee;
    --c-primary-hover: #52b0f9;
    --c-primary-dark: #0f76c5;
    --c-secondary: #0c273a;
    --c-success: #19eea5;
    --c-danger: #ff4352;
    --c-warning: #ffcd19;

    /* Couleurs du logo */
    --logo-blue: #2ab3dd;
    --logo-red: #ce312d;
    --logo-yellow: #f7b525;
    --logo-green: #39a243;
    --logo-stripes: linear-gradient(90deg, var(--logo-blue) 0%, var(--logo-blue) 25%, var(--logo-red) 25%, var(--logo-red) 50%, var(--logo-yellow) 50%, var(--logo-yellow) 75%, var(--logo-green) 75%, var(--logo-green) 100%);

    /* Dégradés bleus */
    --grad-primary: linear-gradient(40deg, #1865e0 0%, #199ef2 50%, #16b6f5 100%);
    --grad-button: linear-gradient(51deg, #1865e0 50%, #199ef2 80%, #16b6f5 100%);
    --grad-button-active: linear-gradient(51deg, #005cd7 50%, #0093e6 80%, #00aae8 100%);
    --grad-secondary-hover: linear-gradient(51deg, #1865e0 0%, #199ef2 30%, #16b6f5 50%);
    --grad-secondary-active: linear-gradient(51deg, #005cd7 0%, #0093e6 30%, #00aae8 50%);
    --grad-dark: linear-gradient(-40deg, #0c273a, #081925);

    /* Relief : lumière en haut à gauche, ombre en bas à droite */
    --raise: -5px -5px 15px rgba(255, 255, 255, .9), 4px 4px 12px rgba(57, 65, 124, .2);
    --raise-hover: -2px -2px 5px rgba(255, 255, 255, .9), 2px 2px 4px rgba(57, 65, 124, .2);
    --raise-active: -1px -1px 1px rgba(255, 255, 255, .9), 1px 1px 1px rgba(57, 65, 124, .1);
    --raise-blue: -5px -5px 15px rgba(255, 255, 255, .9), 5px 5px 15px rgba(11, 89, 150, .3);
    --raise-blue-hover: -2px -2px 5px rgba(255, 255, 255, .7), 2px 2px 5px rgba(11, 89, 150, .3);
    --raise-card: -15px -15px 20px rgba(255, 255, 255, .6), 15px 15px 20px rgba(57, 65, 124, .1);
    --raise-card-hover: -2px -2px 5px rgba(255, 255, 255, .8), 2px 2px 4px rgba(57, 65, 124, .2);
    --raise-dark: -5px -5px 15px rgba(255, 255, 255, .03), 4px 4px 12px rgba(0, 0, 0, .2);
    --raise-dark-hover: -2px -2px 5px rgba(255, 255, 255, .03), 2px 2px 4px rgba(0, 0, 0, .2);
    --line-light: 0 1px 0 rgba(255, 255, 255, .6);

    --radius: 12px;
    --pill: 500px;
}

/* Icônes en SVG (flèche des liens texte, accordéon, puces) */
:root {
    --icon-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='11' viewBox='0 0 20 11'%3E%3Cpolyline fill='none' stroke='%231991ee' stroke-width='1.2' points='13 1 18 5.5 13 10'/%3E%3Cline fill='none' stroke='%231991ee' stroke-width='1.2' x1='0' y1='5.5' x2='18.4' y2='5.5'/%3E%3C/svg%3E");
    --icon-arrow-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='11' viewBox='0 0 20 11'%3E%3Cpolyline fill='none' stroke='%23fff' stroke-width='1.2' points='13 1 18 5.5 13 10'/%3E%3Cline fill='none' stroke='%23fff' stroke-width='1.2' x1='0' y1='5.5' x2='18.4' y2='5.5'/%3E%3C/svg%3E");
    --icon-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 13 13'%3E%3Crect fill='%23223650' width='13' height='1.5' y='6'/%3E%3Crect fill='%23223650' width='1.5' height='13' x='6'/%3E%3C/svg%3E");
    --icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 13 13'%3E%3Crect fill='%23223650' width='13' height='1.5' y='6'/%3E%3C/svg%3E");
    --icon-plus-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 13 13'%3E%3Crect fill='%23fff' width='13' height='1.5' y='6'/%3E%3Crect fill='%23fff' width='1.5' height='13' x='6'/%3E%3C/svg%3E");
    --icon-minus-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 13 13'%3E%3Crect fill='%23fff' width='13' height='1.5' y='6'/%3E%3C/svg%3E");
    --icon-bullet: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Ccircle fill='%231991ee' cx='2' cy='2' r='2'/%3E%3C/svg%3E");
    --icon-bullet-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Ccircle fill='%23fff' cx='2' cy='2' r='2'/%3E%3C/svg%3E");
}

/* ------------------------------------------------------------------ */
/* Neutralisation de quelques réglages par défaut d'UIkit              */
/* ------------------------------------------------------------------ */

.uk-button,
.uk-label,
.uk-card-badge,
.uk-description-list > dt,
.uk-navbar-nav > li > a,
.uk-subnav > * > :first-child,
.uk-tab > * > a {
    text-transform: none;
}

.uk-tab > * > a {
    font-size: inherit;
}

:not(pre) > code,
:not(pre) > kbd,
:not(pre) > samp {
    padding: 0;
    background: none;
}

pre {
    border: 0;
}

blockquote footer::before {
    content: none;
}

.uk-table-striped > tr:nth-of-type(odd),
.uk-table-striped tbody tr:nth-of-type(odd),
.uk-table-striped > tr:nth-of-type(even):last-child,
.uk-table-striped tbody tr:nth-of-type(even):last-child {
    border-top: 0;
    border-bottom: 0;
}

.uk-dotnav > * > * {
    border: 0;
}

/* ------------------------------------------------------------------ */
/* Base                                                                */
/* ------------------------------------------------------------------ */

html {
    font-family: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--c-bg);
    color: var(--c-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    overflow-y: scroll;
}

body {
    overflow: hidden;
    overflow: clip;
}

a,
.uk-link {
    color: var(--c-primary);
}

a:hover,
.uk-link:hover,
.uk-link-toggle:hover .uk-link {
    color: var(--c-primary-hover);
    text-decoration: none;
}

em {
    color: var(--c-danger);
}

:not(pre) > code,
:not(pre) > kbd,
:not(pre) > samp {
    font-size: 14px;
    color: var(--c-danger);
}

ins,
mark {
    background: rgba(25, 145, 238, .08);
    color: var(--c-primary);
}

::selection {
    background: var(--c-primary);
    color: #fff;
}

:focus-visible {
    outline: 2px dotted var(--c-emphasis);
}

pre {
    font: 14px/1.5 Consolas, monaco, monospace;
    color: var(--c-text);
    padding: 20px;
    border-radius: 4px;
}

blockquote {
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    color: var(--c-emphasis);
}

blockquote footer {
    margin-top: 15px;
    font-size: 14px;
    font-weight: 600;
    color: var(--c-text);
}

hr,
.uk-hr {
    border-top: 1px solid var(--c-border);
}

hr:not([class*="uk-divider"]),
.uk-hr:not([class*="uk-divider"]) {
    box-shadow: var(--line-light);
}

/* ------------------------------------------------------------------ */
/* Titres                                                              */
/* ------------------------------------------------------------------ */

h1, .uk-h1, h2, .uk-h2, h3, .uk-h3, h4, .uk-h4, h5, .uk-h5, h6, .uk-h6,
.uk-heading-small, .uk-heading-medium, .uk-heading-large, .uk-heading-xlarge, .uk-heading-2xlarge, .uk-heading-3xlarge {
    margin: 0 0 20px 0;
    font-family: Manrope, sans-serif;
    font-weight: 400;
    color: var(--c-emphasis);
    text-transform: none;
}

* + h1, * + .uk-h1, * + h2, * + .uk-h2, * + h3, * + .uk-h3, * + h4, * + .uk-h4, * + h5, * + .uk-h5, * + h6, * + .uk-h6,
* + .uk-heading-small, * + .uk-heading-medium, * + .uk-heading-large, * + .uk-heading-xlarge, * + .uk-heading-2xlarge, * + .uk-heading-3xlarge {
    margin-top: 40px;
}

h1, .uk-h1 { font-size: 37.4px; line-height: 1.2; font-weight: 600; }
h2, .uk-h2 { font-size: 28.9px; line-height: 1.3; font-weight: 600; }
h3, .uk-h3 { font-size: 24px; line-height: 1.4; font-weight: 600; }
h4, .uk-h4 { font-size: 20px; line-height: 1.4; font-weight: 600; }
h5, .uk-h5 { font-size: 17px; line-height: 1.4; font-weight: 600; }
h6, .uk-h6 { font-size: 16px; line-height: 1.4; font-weight: 600; }

.uk-heading-small { font-size: 43.2px; line-height: 1.2; font-weight: 700; }
.uk-heading-medium { font-size: 44.76px; line-height: 1.2; font-weight: 700; }
.uk-heading-large { font-size: 52.7px; line-height: 1.1; font-weight: 600; }

@media (min-width: 960px) {
    h1, .uk-h1 { font-size: 44px; }
    h2, .uk-h2 { font-size: 34px; }
    .uk-heading-small { font-size: 54px; }
}

.uk-heading-bullet::before {
    border-left: 4.1px solid var(--c-primary);
}

.uk-heading-line > ::before,
.uk-heading-line > ::after {
    border-bottom-color: var(--c-border);
    box-shadow: var(--line-light);
}

.uk-logo {
    font-size: 24px;
    font-weight: 600;
    color: var(--c-emphasis);
}

.uk-logo:hover {
    color: var(--c-emphasis);
}

/* ------------------------------------------------------------------ */
/* Texte                                                               */
/* ------------------------------------------------------------------ */

.uk-text-lead { font-size: 20px; line-height: 1.5; font-weight: 400; color: var(--c-emphasis); }
.uk-text-meta { font-size: 14px; font-weight: 400; color: var(--c-muted); }
.uk-text-meta > a { color: var(--c-muted); }
.uk-text-meta > a:hover { color: var(--c-text); }
.uk-text-small { font-size: 14px; line-height: 1.5; }
.uk-text-large { font-size: 18px; }

.uk-text-muted { color: var(--c-muted) !important; }
.uk-text-emphasis { color: var(--c-emphasis) !important; }
.uk-text-primary { color: var(--c-primary) !important; }
.uk-text-success { color: var(--c-success) !important; }
.uk-text-danger { color: var(--c-danger) !important; }
svg.uk-text-muted, svg .uk-text-muted { color: #a0a4b7 !important; }

.uk-link-muted a,
a.uk-link-muted,
.uk-link-toggle .uk-link-muted {
    color: var(--c-muted);
}

.uk-link-muted a:hover,
a.uk-link-muted:hover,
.uk-link-toggle:hover .uk-link-muted {
    color: var(--c-text);
}

.uk-dropcap > p:first-of-type::first-letter,
.uk-dropcap::first-letter {
    display: block;
    float: left;
    margin-right: 20px;
    margin-bottom: -2px;
    font-size: 2.8em;
    line-height: 1;
}

.uk-border-rounded { border-radius: var(--radius); }
.uk-background-secondary { background-color: var(--c-secondary); }

/* ------------------------------------------------------------------ */
/* Boutons                                                             */
/* ------------------------------------------------------------------ */

.uk-button {
    position: relative;
    padding: 0 30px;
    font-size: 15px;
    line-height: 44px;
    font-weight: 600;
    border-radius: var(--pill);
    background-origin: border-box;
    background-size: 200%;
    background-position-x: 100%;
    transition: .2s ease-in-out;
    transition-property: color, background-color, background-position, background-size, border-color, box-shadow;
}

.uk-button:hover {
    background-position-x: 0;
}

.uk-button-default {
    background-color: var(--c-bg);
    color: var(--c-emphasis);
    border: 2px solid transparent;
    box-shadow: var(--raise);
}

.uk-button-default:hover {
    background-color: var(--c-bg);
    color: var(--c-primary);
    border-color: transparent;
    box-shadow: var(--raise-hover);
}

.uk-button-default:active,
.uk-button-default.uk-active {
    background-color: var(--c-bg);
    color: var(--c-primary);
    border-color: transparent;
    box-shadow: var(--raise-active);
}

.uk-button-primary {
    background-color: var(--c-primary);
    background-image: var(--grad-button);
    color: #fff;
    border: 2px solid transparent;
    box-shadow: var(--raise-blue);
}

.uk-button-primary:hover {
    background-color: #1084dd;
    background-image: var(--grad-button);
    color: #fff;
    border-color: transparent;
    box-shadow: var(--raise-blue-hover);
}

.uk-button-primary:active,
.uk-button-primary.uk-active {
    background-color: var(--c-primary-dark);
    background-image: var(--grad-button-active);
    color: #fff;
    border-color: transparent;
    box-shadow: 1px 1px 1px rgba(57, 65, 124, .1);
}

.uk-button-secondary {
    background-color: transparent;
    color: var(--c-primary);
    border: 2px solid var(--c-primary);
    box-shadow: inset 3px 3px 10px rgba(15, 118, 197, .1), 3px 3px 10px rgba(15, 118, 197, .1);
}

.uk-button-secondary:hover {
    background-color: var(--c-primary);
    background-image: var(--grad-secondary-hover);
    color: #fff;
    border-color: transparent;
    box-shadow: -2px -2px 5px rgba(255, 255, 255, .9), 2px 2px 5px rgba(11, 89, 150, .3);
}

.uk-button-secondary:active,
.uk-button-secondary.uk-active {
    background-color: transparent;
    background-image: var(--grad-secondary-active);
    color: #fff;
    border-color: transparent;
    box-shadow: 1px 1px 1px rgba(57, 65, 124, .1);
}

.uk-button-default:disabled,
.uk-button-primary:disabled,
.uk-button-secondary:disabled,
.uk-button-danger:disabled {
    background-color: #e1e8f7;
    background-image: none;
    color: var(--c-muted);
    border: 2px solid transparent;
    box-shadow: none;
}

.uk-button-large {
    padding: 0 40px;
    line-height: 52px;
    font-size: 16px;
}

/* Lien texte avec flèche */
.uk-button-text {
    padding: 0 25px 0 0;
    line-height: 1.5;
    background: none;
    border-radius: 0;
    color: var(--c-primary);
}

.uk-button-text::before {
    display: none;
}

.uk-button-text::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 20px;
    height: 20px;
    transform: translateY(-50%);
    background: var(--icon-arrow) no-repeat calc(100% - 5px) 50%;
    transition: .2s ease-out;
    transition-property: height, width, background-position;
}

.uk-button-text:hover {
    color: var(--c-primary);
}

.uk-button-text:hover:not(:disabled)::after {
    background-position: 100% 50%;
}

.uk-button-text:disabled {
    color: var(--c-muted);
}

/* Boutons ronds à icône (réseaux sociaux) */
.uk-icon-button {
    width: 48px;
    height: 48px;
    background: var(--c-bg);
    color: var(--c-emphasis);
    box-shadow: var(--raise);
    transition-property: color, background-color, background-size, border-color, box-shadow;
}

.uk-icon-button:hover {
    background-color: var(--c-bg);
    color: var(--c-primary);
    box-shadow: var(--raise-hover);
}

.uk-icon-button:active,
.uk-active > .uk-icon-button {
    background-color: var(--c-bg);
    color: var(--c-text);
    box-shadow: var(--raise-active);
}

/* ------------------------------------------------------------------ */
/* Sections, tuiles, cartes                                            */
/* ------------------------------------------------------------------ */

.uk-section-default { background: var(--c-bg); }
.uk-section-muted { background: var(--c-bg-muted); }
.uk-section-primary { background: var(--c-primary); background-image: var(--grad-primary); }
.uk-section-secondary { background: var(--c-secondary); background-image: var(--grad-dark); }

.uk-container-small { max-width: 960px; }

.uk-tile-hover { transition: .1s ease-in-out; transition-property: background-color, background-size; }
.uk-tile-default { background-color: var(--c-bg); }
.uk-tile-default.uk-tile-hover:hover { background-color: #dce4f5; }
.uk-tile-muted { background-color: var(--c-bg-muted); }
.uk-tile-muted.uk-tile-hover:hover { background-color: #dce4f5; }
.uk-tile-primary { background-color: var(--c-primary); background-image: var(--grad-primary); }
.uk-tile-primary.uk-tile-hover:hover { background-color: #1187e2; }
.uk-tile-secondary { background-color: var(--c-secondary); background-image: var(--grad-dark); }
.uk-tile-secondary.uk-tile-hover:hover { background-color: #091c29; }

.uk-card {
    border-radius: var(--radius);
    transition: .1s ease-in-out;
    transition-property: color, background-color, background-size, border-color, box-shadow;
}

.uk-card:not([uk-parallax]) {
    transition-property: color, background-color, background-size, border-color, box-shadow, transform;
}

[class*="uk-card-media"] {
    overflow: hidden;
}

.uk-card-media-top,
.uk-grid-stack > .uk-card-media-left,
.uk-grid-stack > .uk-card-media-right {
    border-radius: var(--radius) var(--radius) 0 0;
}

.uk-card-media-top img {
    display: block;
    width: 100%;
}

.uk-card-title {
    font-size: 24px;
    font-weight: 600;
}

.uk-card-default {
    background-color: var(--c-bg);
    color: var(--c-text);
    box-shadow: var(--raise-card);
}

.uk-card-default .uk-card-title {
    color: var(--c-emphasis);
}

.uk-card-default.uk-card-hover:hover {
    background-color: var(--c-bg);
    box-shadow: var(--raise-card-hover);
    transform: translateY(3px);
}

.uk-card-primary {
    background-color: var(--c-primary);
    background-image: linear-gradient(40deg, #1865e0 0%, #199ef2 60%, #16b6f5 100%);
    box-shadow: -5px -5px 20px rgba(255, 255, 255, .9), 5px 5px 20px rgba(11, 89, 150, .3);
}

.uk-card-primary.uk-card-hover:hover {
    background-color: var(--c-primary);
    box-shadow: -2px -2px 10px rgba(255, 255, 255, .8), 2px 2px 5px rgba(11, 89, 150, .3);
    transform: translateY(3px);
}

.uk-card-secondary {
    background-color: var(--c-secondary);
    background-image: linear-gradient(40deg, #081925 0%, #10354f 90%);
    box-shadow: -5px -5px 20px rgba(255, 255, 255, .9), 5px 5px 20px rgba(0, 0, 0, .3);
}

.uk-card-secondary.uk-card-hover:hover {
    background-color: var(--c-secondary);
    box-shadow: -2px -2px 10px rgba(255, 255, 255, .8), 2px 2px 5px rgba(0, 0, 0, .3);
    transform: translateY(3px);
}

.uk-card-hover:not(.uk-card-default):not(.uk-card-primary):not(.uk-card-secondary) {
    box-shadow: 0 0 rgba(255, 255, 255, 0), 0 0 0 rgba(80, 110, 140, 0);
}

.uk-card-hover:not(.uk-card-default):not(.uk-card-primary):not(.uk-card-secondary):hover {
    background-color: var(--c-bg);
    box-shadow: var(--raise-card);
    transform: translateY(-2px);
}

.uk-overlay-default { background: rgba(237, 241, 250, .8); }

/* ------------------------------------------------------------------ */
/* Listes, tableaux, séparateurs                                       */
/* ------------------------------------------------------------------ */

.uk-list-bullet > ::before {
    background-image: var(--icon-bullet);
}

.uk-table th {
    font-size: 13px;
    color: var(--c-muted);
}

.uk-table caption,
.uk-table tfoot {
    font-size: 14px;
}

.uk-table caption {
    color: var(--c-muted);
}

.uk-table-divider > tr:not(:first-child),
.uk-table-divider > :not(:first-child) > tr,
.uk-table-divider > :first-child > tr:not(:first-child) {
    border-top: 1px solid var(--c-border);
    box-shadow: inset 0 2px 0 0 rgba(255, 255, 255, .6);
}

.uk-table-striped > tr:nth-of-type(odd),
.uk-table-striped tbody tr:nth-of-type(odd),
.uk-table > tr.uk-active,
.uk-table tbody tr.uk-active {
    background: rgba(228, 234, 247, .98);
}

.uk-table-hover > tr:hover,
.uk-table-hover tbody tr:hover {
    background: rgba(228, 234, 247, .75);
}

.uk-divider-small::after {
    width: 40px;
    border-top: 3px solid var(--c-primary);
    border-image: var(--grad-primary) 1;
    border-width: 3px 0 0 0;
}

.uk-divider-icon::before,
.uk-divider-icon::after {
    border-bottom-color: var(--c-border);
    box-shadow: var(--line-light);
}

.uk-divider-vertical {
    border-left-color: var(--c-border);
}

/* ------------------------------------------------------------------ */
/* Accordéon, onglets, sous-navigation, points                         */
/* ------------------------------------------------------------------ */

.uk-accordion > :nth-child(n+2) {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid var(--c-border);
    box-shadow: inset 0 1px rgba(255, 255, 255, .6);
}

.uk-accordion-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--c-emphasis);
    padding: 5px 0;
}

.uk-accordion-title::before {
    background-image: var(--icon-plus);
}

.uk-open > .uk-accordion-title::before {
    background-image: var(--icon-minus);
}

.uk-accordion-title:hover {
    color: var(--c-primary);
}

.uk-accordion-content {
    margin-top: 15px;
}

.uk-tab::before {
    border-bottom: 1px solid var(--c-border);
    box-shadow: var(--line-light);
}

.uk-tab > * > a {
    padding: 15px 10px;
    font-weight: 500;
    color: var(--c-muted);
    border-bottom: 2px solid transparent;
    transition: .1s ease-in-out;
    transition-property: color, background-color, border-color, box-shadow;
}

.uk-tab > * > a:hover,
.uk-tab > .uk-active > a {
    color: var(--c-emphasis);
    border-color: var(--c-primary);
}

.uk-subnav > * > :first-child {
    font-size: 16px;
    font-weight: 500;
    color: var(--c-emphasis);
    transition-property: color, background-color, border-color, box-shadow, opacity, filter;
}

.uk-subnav > * > a:hover,
.uk-subnav > .uk-active > a {
    color: var(--c-primary);
}

.uk-dotnav > * > * {
    width: 12px;
    height: 12px;
    background: #bdcbeb;
    box-shadow: inset 1px 1px 1px rgba(0, 0, 0, .15), 1px 1px 1px #fff;
    transition-property: color, background-color, border-color, box-shadow;
}

.uk-dotnav > * > :hover,
.uk-dotnav > .uk-active > * {
    background-color: var(--c-primary);
}

.uk-dotnav > * > :active {
    background-color: #bdcbeb;
}

/* Pagination */
.uk-pagination > * > * {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    box-sizing: border-box;
    padding: 10px 16px;
    font-size: 15px;
    font-weight: 600;
    color: var(--c-emphasis);
    border-radius: var(--pill);
    box-shadow: var(--raise);
    transition: .1s ease-in-out;
    transition-property: color, background-color, border-color, box-shadow;
}

.uk-pagination > * > :hover {
    color: var(--c-primary);
    box-shadow: var(--raise-hover);
}

.uk-pagination > .uk-active > * {
    color: var(--c-primary);
}

/* Flèches des carrousels */
.uk-slidenav {
    padding: 14px;
    color: var(--c-emphasis);
    background-color: #fff;
    border-radius: var(--pill);
    transition: .1s ease-in-out;
    transition-property: color, background-color, border-color, box-shadow;
}

.uk-slidenav:hover {
    color: #fff;
    background-color: var(--c-primary);
}

.uk-slidenav:active {
    color: #fff;
    background-color: #1084dd;
}

.uk-slidenav-large {
    padding: 24px;
}

.uk-slider-container-offset {
    margin: -35px;
    padding: 35px;
}

/* ------------------------------------------------------------------ */
/* Navigation                                                          */
/* ------------------------------------------------------------------ */

.uk-nav-default {
    font-size: 16px;
    font-weight: 600;
}

.uk-nav-default > li > a {
    color: var(--c-emphasis);
    transition: .1s ease-in-out;
    transition-property: color, background-color, border-color, box-shadow, opacity, filter;
}

.uk-nav-default > li > a:hover,
.uk-nav-default > li.uk-active > a {
    color: var(--c-primary);
}

.uk-nav-default .uk-nav-subtitle {
    font-weight: 400;
}

.uk-nav-default > li:not(.uk-active) > a:not(:hover) .uk-nav-subtitle {
    color: var(--c-muted);
}

.uk-nav.uk-nav-divider > :not(.uk-nav-header, .uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider) {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--c-border);
    box-shadow: inset 0 1px rgba(255, 255, 255, .6);
}

/* Navigation des méga-menus */
.uk-nav-secondary {
    line-height: 1.6;
    font-weight: 600;
}

.uk-nav-secondary > :not(.uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider) {
    margin-top: 4px;
}

.uk-nav-secondary > li > a {
    padding: 15px;
    color: var(--c-emphasis);
    border-radius: 7px;
    transition: .1s ease-in-out;
    transition-property: color, background-color, border-color, box-shadow;
}

.uk-nav-secondary > li > a:hover,
.uk-nav-secondary > li.uk-active > a {
    color: var(--c-primary);
    background-color: var(--c-bg-hover);
}

.uk-nav-secondary .uk-nav-subtitle {
    font-size: 14px;
    font-weight: 400;
    color: var(--c-muted);
}

.uk-nav-secondary > li > a:hover .uk-nav-subtitle,
.uk-nav-secondary > li.uk-active > a .uk-nav-subtitle {
    color: var(--c-text);
}

/* Barre de navigation */
.uk-navbar-container {
    border-bottom: 1px solid transparent;
}

.uk-navbar-container:not(.uk-navbar-transparent) {
    position: relative;
    z-index: 990;
    background: rgba(237, 241, 250, .9);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    border-bottom-color: var(--c-border);
    --uk-inverse: dark;
}

.uk-navbar-left,
.uk-navbar-right,
[class*="uk-navbar-center"],
.uk-navbar-nav {
    gap: 10px;
}

.uk-navbar-item,
.uk-navbar-nav > li > a,
.uk-navbar-toggle {
    min-height: 90px;
    font-size: 15px;
    font-family: inherit;
}

.uk-navbar-item {
    color: var(--c-text);
}

.uk-navbar-nav > li > a {
    position: relative;
    z-index: 1;
    padding: 0 7px;
    font-weight: 600;
    color: var(--c-emphasis);
    transition: .1s ease-in-out;
    transition-property: color, background-color, border-color, box-shadow;
}

/* Trait aux couleurs du logo au-dessus de l'élément survolé ou actif */
.uk-navbar-nav > li > a::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 50%;
    right: 50%;
    height: 3px;
    opacity: 0;
    background-color: transparent;
    background-image: var(--logo-stripes);
    transition: .35s ease-in-out;
    transition-property: background-color, border-color, box-shadow, height, left, right, opacity;
}

.uk-navbar-nav > li:hover > a,
.uk-navbar-nav > li > a[aria-expanded="true"],
.uk-navbar-nav > li.uk-active > a {
    color: var(--c-primary);
}

.uk-navbar-nav > li:hover > a::before,
.uk-navbar-nav > li > a[aria-expanded="true"]::before,
.uk-navbar-nav > li.uk-active > a::before {
    left: 0;
    right: 0;
    opacity: 1;
    background-color: var(--c-primary);
}

.uk-navbar-nav > li > a:active {
    color: var(--c-primary-dark);
}

.uk-navbar-toggle {
    font-weight: 600;
    color: var(--c-emphasis);
}

.uk-navbar-toggle:hover,
.uk-navbar-toggle[aria-expanded="true"] {
    color: var(--c-primary);
}

.uk-navbar-dropdown {
    --uk-position-offset: 5px;
    --uk-position-shift-offset: -19px;
    width: 260px;
    padding: 26px;
    background: var(--c-bg);
    color: var(--c-text);
    border-radius: var(--radius);
    box-shadow: 0 15px 40px rgba(57, 65, 124, .1);
}

/* Méga-menus affichés dans la bande pleine largeur (dropbar) : pas de boîte */
.uk-navbar-dropdown-dropbar {
    width: auto;
    padding: 20px 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    --uk-position-offset: 0;
    --uk-position-shift-offset: 7px;
}

.uk-navbar-dropdown-dropbar-large {
    --uk-position-shift-offset: 7px;
    padding-top: 40px;
    padding-bottom: 40px;
}

.uk-dropbar {
    padding: 20px 15px;
    background: var(--c-bg);
    color: var(--c-text);
}

.uk-dropbar-top {
    box-shadow: 0 33px 45px -37px rgba(57, 65, 124, .1);
}

@media (min-width: 960px) {
    .uk-navbar-left,
    .uk-navbar-right,
    [class*="uk-navbar-center"],
    .uk-navbar-nav {
        gap: 20px;
    }

    .uk-navbar-nav > li > a {
        padding: 0 14px;
    }

    .uk-navbar-dropdown {
        --uk-position-shift-offset: -12px;
    }

    .uk-navbar-dropdown-dropbar,
    .uk-navbar-dropdown-dropbar-large {
        --uk-position-shift-offset: 14px;
    }
}

.uk-dropbar :focus-visible,
.uk-navbar-dropdown :focus-visible {
    outline-color: var(--c-emphasis) !important;
}

/* Notifications (messages Joomla) */
.uk-notification {
    top: 15px;
    left: 15px;
    width: 420px;
}

.uk-notification-message {
    padding: 30px;
    background: var(--c-bg);
    color: var(--c-text);
    font-size: 16px;
    line-height: 1.5;
    box-shadow: 0 15px 40px rgba(57, 65, 124, .1);
}

@media (max-width: 639px) {
    .uk-notification {
        left: 15px;
        right: 15px;
        width: auto;
    }
}

/* Retour en haut de page */
.uk-totop {
    padding: 16px;
    color: var(--c-emphasis);
    background: var(--c-bg);
    border-radius: var(--pill);
    box-shadow: 2px 2px 5px 0 rgba(0, 0, 0, .5);
    transition: .1s ease-in-out;
    transition-property: color, background-color, border-color, box-shadow;
}

.uk-totop:hover {
    color: var(--c-primary);
}

.uk-totop:active {
    color: var(--c-primary-dark);
    box-shadow: var(--raise-active);
}

/* Articles (listes de catégories) */
.uk-article-title {
    font-size: 37.4px;
    line-height: 1.2;
    font-weight: 600;
    color: var(--c-emphasis);
}

.uk-article-meta {
    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
    color: var(--c-muted);
}

.uk-article-meta a {
    color: var(--c-muted);
}

.uk-article-meta a:hover {
    color: var(--c-text);
}

@media (min-width: 960px) {
    .uk-article-title {
        font-size: 44px;
    }
}

/* ------------------------------------------------------------------ */
/* Sections sombres et bleues (texte clair)                            */
/* ------------------------------------------------------------------ */

.uk-light,
.uk-section-primary:not(.uk-preserve-color),
.uk-section-secondary:not(.uk-preserve-color),
.uk-tile-primary:not(.uk-preserve-color),
.uk-tile-secondary:not(.uk-preserve-color),
.uk-card-primary.uk-card-body,
.uk-card-primary > :not([class*="uk-card-media"]),
.uk-card-secondary.uk-card-body,
.uk-card-secondary > :not([class*="uk-card-media"]),
.uk-overlay-primary {
    color: rgba(255, 255, 255, .7);
    --uk-inverse: light;
}

.uk-section-default:not(.uk-preserve-color),
.uk-section-muted:not(.uk-preserve-color),
.uk-tile-default:not(.uk-preserve-color),
.uk-tile-muted:not(.uk-preserve-color),
.uk-card-default.uk-card-body,
.uk-card-default > :not([class*="uk-card-media"]),
.uk-dropbar,
.uk-navbar-dropdown,
.uk-overlay-default,
.uk-dark {
    --uk-inverse: dark;
}

.uk-inverse-light { --uk-inverse: light !important; }
.uk-inverse-dark { --uk-inverse: dark !important; }

.uk-light a,
.uk-light .uk-link,
.uk-light a:hover,
.uk-light .uk-link:hover,
.uk-light em,
.uk-light h1, .uk-light .uk-h1, .uk-light h2, .uk-light .uk-h2, .uk-light h3, .uk-light .uk-h3,
.uk-light h4, .uk-light .uk-h4, .uk-light h5, .uk-light .uk-h5, .uk-light h6, .uk-light .uk-h6,
.uk-light .uk-heading-small, .uk-light .uk-heading-medium, .uk-light .uk-heading-large,
.uk-light blockquote,
.uk-light .uk-article-title,
.uk-light .uk-logo,
.uk-light .uk-logo:hover {
    color: #fff;
}

.uk-light :not(pre) > code,
.uk-light blockquote footer,
.uk-light .uk-text-lead,
.uk-light .uk-navbar-item,
.uk-light .uk-table th {
    color: rgba(255, 255, 255, .7);
}

.uk-light .uk-text-meta,
.uk-light .uk-article-meta,
.uk-light .uk-link-muted a,
.uk-light .uk-table caption,
.uk-light .uk-nav-secondary .uk-nav-subtitle,
.uk-light .uk-nav-default > li:not(.uk-active) > a:not(:hover) .uk-nav-subtitle {
    color: rgba(255, 255, 255, .6);
}

.uk-light .uk-text-muted,
.uk-light svg .uk-text-muted {
    color: rgba(255, 255, 255, .6) !important;
}

.uk-light .uk-text-emphasis,
.uk-light .uk-text-primary {
    color: #fff !important;
}

.uk-light :focus-visible {
    outline-color: #fff;
}

.uk-light hr,
.uk-light .uk-hr {
    border-top-color: rgba(255, 255, 255, .1);
}

.uk-light hr:not([class*="uk-divider"]),
.uk-light .uk-hr:not([class*="uk-divider"]) {
    box-shadow: none;
}

.uk-light .uk-divider-small::after {
    border-top-color: #fff;
    border-image: none;
}

.uk-light .uk-list-bullet > ::before {
    background-image: var(--icon-bullet-light);
}

.uk-light .uk-table-striped tbody tr:nth-of-type(odd) {
    background: rgba(255, 255, 255, .1);
}

.uk-light .uk-table-divider > :first-child > tr:not(:first-child),
.uk-light .uk-table-divider > :not(:first-child) > tr {
    border-top-color: rgba(255, 255, 255, .1);
    box-shadow: none;
}

.uk-light .uk-icon-button {
    background-color: #fff;
    color: var(--c-emphasis);
    box-shadow: var(--raise-dark);
}

.uk-light .uk-icon-button:hover {
    background-color: #f2f2f2;
    color: var(--c-emphasis);
    box-shadow: var(--raise-dark-hover);
}

.uk-light .uk-button-default,
.uk-light .uk-button-primary {
    background-color: #fff;
    background-image: none;
    color: var(--c-emphasis);
    border-color: transparent;
    box-shadow: 0 5px 15px rgba(0, 0, 0, .2);
}

.uk-light .uk-button-default:hover,
.uk-light .uk-button-primary:hover {
    background-color: #f2f2f2;
    color: var(--c-emphasis);
    box-shadow: none;
}

.uk-light .uk-button-default:active,
.uk-light .uk-button-primary:active {
    background-color: #e6e6e6;
    color: var(--c-emphasis);
}

.uk-light .uk-button-secondary {
    background-color: transparent;
    background-image: none;
    color: #fff;
    border-color: #fff;
    box-shadow: none;
}

.uk-light .uk-button-secondary:hover {
    background-color: #fff;
    color: var(--c-emphasis);
    border-color: transparent;
}

.uk-light .uk-button-text,
.uk-light .uk-button-text:hover {
    color: #fff;
}

.uk-light .uk-button-text::after {
    background-image: var(--icon-arrow-light);
}

.uk-light .uk-accordion > :nth-child(n+2) {
    border-top-color: rgba(255, 255, 255, .1);
    box-shadow: none;
}

.uk-light .uk-accordion-title { color: #fff; }
.uk-light .uk-accordion-title:hover { color: rgba(255, 255, 255, .7); }
.uk-light .uk-accordion-title::before { background-image: var(--icon-plus-light); }
.uk-light .uk-open > .uk-accordion-title::before { background-image: var(--icon-minus-light); }

.uk-light .uk-nav-default > li > a { color: rgba(255, 255, 255, .6); }
.uk-light .uk-nav-default > li > a:hover { color: rgba(255, 255, 255, .7); }
.uk-light .uk-nav-default > li.uk-active > a { color: #fff; }

.uk-light .uk-nav-secondary > li > a,
.uk-light .uk-nav-secondary > li > a:hover,
.uk-light .uk-nav-secondary > li > a:hover .uk-nav-subtitle {
    color: #fff;
}

.uk-light .uk-nav-secondary > li > a:hover,
.uk-light .uk-nav-secondary > li.uk-active > a {
    background-color: rgba(255, 255, 255, .1);
}

.uk-light .uk-nav.uk-nav-divider > :not(.uk-nav-header, .uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider) {
    border-top-color: rgba(255, 255, 255, .1);
    box-shadow: none;
}

.uk-light .uk-navbar-nav > li > a { color: rgba(255, 255, 255, .6); }
.uk-light .uk-navbar-nav > li > a::before { background-color: transparent; background-image: none; }
.uk-light .uk-navbar-nav > li:hover > a,
.uk-light .uk-navbar-nav > li > a:active,
.uk-light .uk-navbar-nav > li.uk-active > a { color: #fff; }
.uk-light .uk-navbar-nav > li:hover > a::before,
.uk-light .uk-navbar-nav > li > a:active::before,
.uk-light .uk-navbar-nav > li.uk-active > a::before { background-color: #fff; }
.uk-light .uk-navbar-toggle { color: rgba(255, 255, 255, .6); }
.uk-light .uk-navbar-toggle:hover { color: rgba(255, 255, 255, .7); }

.uk-light .uk-subnav > * > :first-child { color: rgba(255, 255, 255, .6); }
.uk-light .uk-subnav > * > a:hover,
.uk-light .uk-subnav > .uk-active > a { color: #fff; }

.uk-light .uk-tab::before { border-color: rgba(0, 0, 0, .2); box-shadow: 1px 1px 1px 0 rgba(255, 255, 255, .04); }
.uk-light .uk-tab > * > a { color: rgba(255, 255, 255, .6); }
.uk-light .uk-tab > * > a:hover { color: #fff; border-color: transparent; }
.uk-light .uk-tab > .uk-active > a { color: #fff; border-color: #fff; }

.uk-light .uk-dotnav > * > * {
    background-color: rgba(255, 255, 255, .5);
    box-shadow: inset 1px 1px 1px rgba(0, 0, 0, .4), inset -1px -1px 1px rgba(255, 255, 255, .2);
}

.uk-light .uk-dotnav > * > :hover,
.uk-light .uk-dotnav > * > :active,
.uk-light .uk-dotnav > .uk-active > * {
    background-color: var(--c-primary);
}

.uk-light .uk-pagination > * > * {
    color: rgba(255, 255, 255, .6);
    background-color: rgba(255, 255, 255, .1);
    box-shadow: var(--raise-dark);
}

.uk-light .uk-pagination > .uk-active > * {
    color: #fff;
    background-color: rgba(255, 255, 255, .25);
}

.uk-light .uk-slidenav { color: var(--c-emphasis); background-color: #fff; }
.uk-light .uk-slidenav:hover { color: var(--c-emphasis); background-color: rgba(255, 255, 255, .9); }

.uk-light .uk-totop {
    color: rgba(255, 255, 255, .6);
    box-shadow: var(--raise-dark);
}

/* Logo clair sur fond sombre */
.uk-logo-inverse { display: none; }
.uk-light .uk-logo > :not(picture):not(.uk-logo-inverse):not(:only-of-type) { display: none; }
.uk-light .uk-logo-inverse { display: block; }

/* ------------------------------------------------------------------ */
/* Mise en page                                                        */
/* ------------------------------------------------------------------ */

/* Bande aux couleurs du logo en bas de page */
.tm-page {
    position: relative;
    border-bottom: 6px solid var(--c-primary);
}

@media (min-width: 960px) {
    .tm-page {
        border-width: 0 0 6px 0;
        border-image: var(--logo-stripes) 1;
    }
}

.tm-header,
.tm-header-mobile {
    position: relative;
}

/* En-tête transparent posé sur la première section */
.tm-header-overlay {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 980;
}

.tm-height-min-1-1 { min-height: 100%; }
.tm-grid-expand > * { flex-grow: 1; }
.tm-grid-expand > .uk-width-expand { flex-grow: 999; }

@media (min-width: 640px) {
    .tm-grid-expand > .uk-width-expand\@s { flex-grow: 999; }
}

@media (min-width: 960px) {
    .tm-grid-expand > .uk-width-expand\@m { flex-grow: 999; }
}

.uk-flex > picture { display: contents; }

img { max-width: 100%; height: auto; }

/* Bouton « retour en haut » fixe */
.tm-totop {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 1;
}

/* Bandeau image en tête d'article */
.tm-article-cover {
    height: 55vh;
    max-height: 540px;
    box-sizing: border-box;
}

/* Articles liés : 2 colonnes sur tablette, on masque le 3e pour garder des lignes complètes */
@media (max-width: 959px) {
    .tm-related .uk-grid > :nth-child(3n) { display: none; }
}

/* ------------------------------------------------------------------ */
/* Éléments propres à 360 Communi'Team                                 */
/* ------------------------------------------------------------------ */

.ls-text-xs { font-size: 12px; }
.min-height-300 { min-height: 300px; }
.yt-hide-link .el-link { display: none; }

.ls-icon-lang-default { border-radius: 48px; height: 24px; }
.ls-icon-lang-small { border-radius: 32px; height: 16px; }

/* Bandes de couleur du logo */
.ls-cteam-border-top { border-top: 20px solid var(--logo-blue); }
.ls-cteam-border-bottom { border-bottom: 20px solid var(--logo-blue); }
.ls-cteam-border-top,
.ls-cteam-border-bottom { border-image: var(--logo-stripes) 1; }

/* Grille de l'équipe : bandeau coloré en haut de chaque carte */
.ls-cteam-grid .el-item {
    border-top: 20px solid var(--logo-blue);
    border-radius: var(--radius);
}

.ls-cteam-grid .el-item img.uk-border-rounded {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.ls-cteam-grid > div > div:nth-child(4n+2) .el-item { border-color: var(--logo-red); }
.ls-cteam-grid > div > div:nth-child(4n+3) .el-item { border-color: var(--logo-yellow); }
.ls-cteam-grid > div > div:nth-child(4n+4) .el-item { border-color: var(--logo-green); }

/* Icônes colorées aux couleurs du logo */
.ls-cteam-color-img > div > div:nth-child(4n+1) .el-image,
.ls-cteam-color-img > div > div > ul > .el-item:nth-child(4n+1) .el-image { color: var(--logo-blue); }
.ls-cteam-color-img > div > div:nth-child(4n+2) .el-image,
.ls-cteam-color-img > div > div > ul > .el-item:nth-child(4n+2) .el-image { color: var(--logo-red); }
.ls-cteam-color-img > div > div:nth-child(4n+3) .el-image,
.ls-cteam-color-img > div > div > ul > .el-item:nth-child(4n+3) .el-image { color: var(--logo-yellow); }
.ls-cteam-color-img > div > div:nth-child(4n+4) .el-image,
.ls-cteam-color-img > div > div > ul > .el-item:nth-child(4n+4) .el-image { color: var(--logo-green); }

.ls-cteam-background-red { background: var(--logo-red); }
.ls-cteam-background-blue { background: var(--logo-blue); }
.ls-cteam-background-green { background: var(--logo-green); }
.ls-cteam-background-yellow { background: var(--logo-yellow); }
.ls-cteam-background-grey { background: #4a4a4a; }

/* Grille des références clients : chaque logo dans une case de même hauteur */
.ls-cteam-logos .el-image { display: block; width: 100%; height: 90px; object-fit: contain; }
@media (min-width: 1200px) {
    .ls-cteam-logos > * { width: calc(100% / 7); }
}

/* Cartes d'abonnement */
.abo-cards .el-item {
    padding: 70px 0;
    border-top: 20px solid #d0d3db;
}

.abo-cards .el-item .el-content { padding: 0 70px; }
.abo-cards .el-item .uk-text-small { font-size: 45%; }

.abo-cards .uk-card-primary {
    border-image: var(--logo-stripes) 1;
    border-top-width: 10px;
}

.abo-cards .uk-card-primary::before {
    content: "Le plus populaire";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    box-sizing: border-box;
    color: #fff;
    background-color: var(--c-primary);
    background-image: linear-gradient(40deg, #081925 0%, #10354f 90%);
    border-left: 20px solid #d0d3db;
    border-right: 20px solid #d0d3db;
    border-bottom: 10px solid #d0d3db;
    border-image: var(--logo-stripes) 1;
    font-weight: 700;
    text-transform: uppercase;
}

.abo-cards .uk-card-secondary { border-color: #081c29; }

/* Tableau des tarifs */
.ls-td-category {
    position: relative;
    padding-left: 44px !important;
}

.ls-td-category::before {
    content: " ";
    position: absolute;
    top: 50%;
    left: 10px;
    display: block;
    width: 24px;
    height: 24px;
    margin: 0;
    border-radius: 12px;
    background: var(--logo-blue);
    transform: translateY(-50%);
}

.ls-td-category-red::before { background: var(--logo-red); }
.ls-td-category-blue::before { background: var(--logo-blue); }
.ls-td-category-green::before { background: var(--logo-green); }
.ls-td-category-yellow::before { background: var(--logo-yellow); }

.ls-td-subcategory {
    padding-left: .5em;
    border-left: 3px solid var(--logo-blue);
}

.ls-td-subcategory-blue { border-color: var(--logo-blue); }
.ls-td-subcategory-red { border-color: var(--logo-red); }
.ls-td-subcategory-yellow { border-color: var(--logo-yellow); }
.ls-td-subcategory-green { border-color: var(--logo-green); }

tr.ls-table-subcategory td:first-child { padding-left: .5em; }
tr.ls-table-subcategory svg.uk-text-success { color: #0ca62e !important; }
tr.ls-table-subcategory svg.uk-text-danger { color: #970d19 !important; }

svg.ukx-svg-shadow { filter: drop-shadow(1px 1px 1px rgba(100, 100, 100, .5)); }

/* Clin d'œil : patte de chat (code Konami) */
#kc-cat-paw {
    position: fixed;
    z-index: 9999;
    display: none;
    top: -140px;
    left: -150px;
    transform: translate(-300px, -280px);
    transition: transform .75s;
}

#kc-cat-paw svg {
    transform-origin: 150px 140px;
    transform: rotate(90deg);
}

/* Visites virtuelles */
.el-pannellum {
    width: 100%;
    border-radius: var(--radius);
    overflow: hidden;
}
