html {
    min-height: 100%;
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
}

textarea {
  field-sizing: content;
}

/* Autorise les retours à la ligne */
.line-break-text {
    -webkit-hyphens: auto;
    hyphens: auto;
    text-align: justify;
    word-wrap: normal;
}

/* Surchage bootstrap */

.form-label, .form-check-label {
    font-weight: 600;
    color: var(--bs-info);
}

.required::after {
    content: '*';
    color: red;
}

.alert-error, .alert-danger {
    color: red;
}

.alert-success {
    color: green;
}

/* Cookies */

#cookie-banner {
    transform: translateY(0);
    opacity: 1;

    transition:
        transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1),
        opacity 0.4s ease;
}

#cookie-banner.closing {
    transform: translateY(100%);
    opacity: 0;
}

/* Partage réseaux sociaux */

.btn-social {
    --bs-btn-color: #ffffff;
    --bs-btn-hover-color: #ffffff;

    --bs-btn-border-color: var(--social-color);
    --bs-btn-bg: var(--social-color);

    --bs-btn-hover-border-color: var(--social-hover);
    --bs-btn-hover-bg: var(--social-hover);

    --bs-btn-focus-shadow-rgb: var(--social-rgb);
}

.btn-social svg {
    transition: transform 0.2s ease;
}

.btn-social:hover svg {
    transform: translateY(-2px);
}

.btn-facebook {
    --social-color: #1877f2;
    --social-hover: #165fc7;
    --social-rgb: 24, 119, 242;
}

.btn-x {
    --social-color: #0f0f0f;
    --social-hover: #2b2b2b;
    --social-rgb: 15, 15, 15;
}

.btn-linkedin {
    --social-color: #0a66c2;
    --social-hover: #084a9f;
    --social-rgb: 10, 102, 194;
}

.btn-whatsapp {
    --social-color: #25d366;
    --social-hover: #1ebc5d;
    --social-rgb: 37, 211, 102;
}

.btn-reddit {
    --social-color: #ff4500;
    --social-hover: #e03e00;
    --social-rgb: 255, 69, 0;
}

.btn-email {
    --social-color: #4b5563;
    --social-hover: #374151;
    --social-rgb: 75, 85, 99;
}

.btn-qr {
    --social-color: #111827;
    --social-hover: #000000;
    --social-rgb: 17, 24, 39;
}

.btn-export {
    --social-color: #16a34a;
    --social-hover: #15803d;
    --social-rgb: 22, 163, 74;
}

.btn-instagram {
    --social-color: #ff0069;
    --social-hover: #db005b;
    --social-rgb: 228, 64, 95;
}

/* Suppression des images d'une cagnotte */

.delete-images-card img {
    transition: filter 0.25s ease, opacity 0.25s ease, transform 0.25s ease;
}

.delete-images-card:has(.form-check-input:checked) {
    border-color: #dc3545;
    box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.2);
}

.delete-images-card:has(.form-check-input:checked) img {
    filter: grayscale(100%);
    opacity: 0.45;
    transform: scale(0.98);
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    #cookie-banner,
    .btn-social svg,
    .delete-images-card img {
        transition: none;
    }

    .btn-social:hover svg,
    .delete-images-card:has(.form-check-input:checked) img {
        transform: none;
    }
}
