/*
 * Thème sombre partagé par le site et l'administration : couleurs, typographies, boutons.
 */
:root[data-bs-theme=dark] {
    --bs-body-bg: #0f1218;
    --bs-body-bg-rgb: 15, 18, 24;
    --bs-body-color: #d9dde5;
    --bs-body-color-rgb: 217, 221, 229;
    --bs-emphasis-color: #fff;
    --bs-heading-color: #f4f5f8;
    --bs-secondary-color: rgba(217, 221, 229, .68);
    --bs-secondary-bg: #1a1f29;
    --bs-tertiary-bg: #151a22;
    --bs-tertiary-bg-rgb: 21, 26, 34;
    --bs-border-color: rgba(255, 255, 255, .12);
    --bs-primary: #ff7676;
    --bs-primary-rgb: 255, 118, 118;
    --bs-primary-text-emphasis: #ffa3a3;
    --bs-link-color: #ff7676;
    --bs-link-color-rgb: 255, 118, 118;
    --bs-link-hover-color: #ffa3a3;
    --bs-link-hover-color-rgb: 255, 163, 163;
    --bs-body-font-family: "Zen Kaku Gothic New", system-ui, sans-serif;
    --bs-focus-ring-color: rgba(255, 118, 118, .35);

    --cct-display: "Shippori Mincho", Georgia, serif;
    --cct-primary-glow: rgba(255, 118, 118, .45);
    --cct-ease: cubic-bezier(.22, .61, .36, 1);
    --cct-ease-out: cubic-bezier(.16, 1, .3, 1);
    /* Motif d'origine du site, éclairci pour fond sombre */
    --cct-pattern: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 28' width='56' height='28'%3E%3Cpath fill='%23ffffff' fill-opacity='0.035' d='M56 26v2h-7.75c2.3-1.27 4.94-2 7.75-2zm-26 2a2 2 0 1 0-4 0h-4.09A25.98 25.98 0 0 0 0 16v-2c.67 0 1.34.02 2 .07V14a2 2 0 0 0-2-2v-2a4 4 0 0 1 3.98 3.6 28.09 28.09 0 0 1 2.8-3.86A8 8 0 0 0 0 6V4a9.99 9.99 0 0 1 8.17 4.23c.94-.95 1.96-1.83 3.03-2.63A13.98 13.98 0 0 0 0 0h7.75c2 1.1 3.73 2.63 5.1 4.45 1.12-.72 2.3-1.37 3.53-1.93A20.1 20.1 0 0 0 14.28 0h2.7c.45.56.88 1.14 1.29 1.74 1.3-.48 2.63-.87 4-1.15-.11-.2-.23-.4-.36-.59H26v.07a28.4 28.4 0 0 1 4 0V0h4.09l-.37.59c1.38.28 2.72.67 4.01 1.15.4-.6.84-1.18 1.3-1.74h2.69a20.1 20.1 0 0 0-2.1 2.52c1.23.56 2.41 1.2 3.54 1.93A16.08 16.08 0 0 1 48.25 0H56c-4.58 0-8.65 2.2-11.2 5.6 1.07.8 2.09 1.68 3.03 2.63A9.99 9.99 0 0 1 56 4v2a8 8 0 0 0-6.77 3.74c1.03 1.2 1.97 2.5 2.79 3.86A4 4 0 0 1 56 10v2a2 2 0 0 0-2 2.07 28.4 28.4 0 0 1 2-.07v2c-9.2 0-17.3 4.78-21.91 12H30zM7.75 28H0v-2c2.81 0 5.46.73 7.75 2zM56 20v2c-5.6 0-10.65 2.3-14.28 6h-2.7c4.04-4.89 10.15-8 16.98-8zm-39.03 8h-2.69C10.65 24.3 5.6 22 0 22v-2c6.83 0 12.94 3.11 16.97 8zm15.01-.4a28.09 28.09 0 0 1 2.8-3.86 8 8 0 0 0-13.55 0c1.03 1.2 1.97 2.5 2.79 3.86a4 4 0 0 1 7.96 0zm14.29-11.86c1.3-.48 2.63-.87 4-1.15a25.99 25.99 0 0 0-44.55 0c1.38.28 2.72.67 4.01 1.15a21.98 21.98 0 0 1 36.54 0zm-5.43 2.71c1.13-.72 2.3-1.37 3.54-1.93a19.98 19.98 0 0 0-32.76 0c1.23.56 2.41 1.2 3.54 1.93a15.98 15.98 0 0 1 25.68 0zm-4.67 3.78c.94-.95 1.96-1.83 3.03-2.63a13.98 13.98 0 0 0-22.4 0c1.07.8 2.09 1.68 3.03 2.63a9.99 9.99 0 0 1 16.34 0z'%3E%3C/path%3E%3C/svg%3E");
}

.btn-primary {
    --bs-btn-bg: #ff7676;
    --bs-btn-border-color: #ff7676;
    --bs-btn-color: #16181d;
    --bs-btn-hover-bg: #ff9090;
    --bs-btn-hover-border-color: #ff9090;
    --bs-btn-hover-color: #16181d;
    --bs-btn-active-bg: #ff5f5f;
    --bs-btn-active-border-color: #ff5f5f;
    --bs-btn-active-color: #16181d;
    --bs-btn-disabled-bg: #ff7676;
    --bs-btn-disabled-border-color: #ff7676;
    --bs-btn-disabled-color: #16181d;
    --bs-btn-focus-shadow-rgb: 255, 118, 118;
}

.btn-outline-primary {
    --bs-btn-color: #ff7676;
    --bs-btn-border-color: #ff7676;
    --bs-btn-hover-bg: #ff7676;
    --bs-btn-hover-border-color: #ff7676;
    --bs-btn-hover-color: #16181d;
    --bs-btn-active-bg: #ff5f5f;
    --bs-btn-active-border-color: #ff5f5f;
    --bs-btn-active-color: #16181d;
}

.form-check-input:checked {
    background-color: #ff7676;
    border-color: #ff7676;
}

.font-display {
    font-family: var(--cct-display);
}

.icon {
    width: 1em;
    height: 1em;
    vertical-align: -.125em;
    flex-shrink: 0;
}

.kicker {
    margin-bottom: .5rem;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--bs-primary);
}

.bg-pattern {
    background-image: var(--cct-pattern);
    background-size: 56px 28px;
}

::selection {
    background: rgba(255, 118, 118, .35);
    color: #fff;
}

/* Les attributs width/height des images ne fixent que leur ratio : si le CSS réduit
   la largeur (w-100, max-width…), la hauteur suit au lieu de déformer l'image. */
img {
    height: auto;
}
