@font-face {
    font-family: 'luciole';
    src: url('../font/luciole/luciole.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'luciole';
    src: url('../font/luciole/luciole-bold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
}

/* 
@font-face {
    font-family: 'luciole';
    src: url('../font/luciole/luciole-italic.woff2') format('woff2');
    font-weight: italic;
    font-style: normal; */
/* } */

@font-face {
    font-family: 'staatliches';
    src: url('../font/staatliches/staatliches.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

/* playwrite-is */
@font-face {
	font-family: Playwrite IS;
	font-style: normal;
	font-weight: 100 400;
	font-stretch: 100%;
	src: url('../font/playwrite-is/playwrite-is.woff2') format("woff2");
	font-display: swap;
}

a {
    color: inherit;
}

body {
    font-family: luciole, sans-serif;
}

.display-1 {
    font-family: Playwrite IS, serif;
}

.navbar {
    padding-block: 20px;

    .badge {
        font-family: luciole, sans-serif;
        font-size: var(--bs-badge-font-size);
    }

    .nav-link, .navbar-brand {
        font: 20px staatliches, sans-serif;
    }
}

.table th, .table td {
	padding: 1rem;
	background: none;
}

details.accordion-item:hover {
    background: var(--bs-tertiary-bg);
}
details.accordion-item[open] {
    background: var(--bs-secondary-bg);
}

@media (min-width: 768px) {
    .event-tags {
        max-width: 50%;
    }
}

/* Make images in long_description responsive and centered */
figure.attachment,
figure[data-trix-attachment] {
    text-align: center;
    margin: 0 auto;
}

figure.attachment img,
figure[data-trix-attachment] img {
    max-width: 100%;
    height: auto;
    width: 100%;
}

/* Square buttons for currency section */
.square-btn {
    aspect-ratio: 1/1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0.5rem;
    font-size: 0.9rem;
    margin-bottom: 1rem;
}

.square-btn i {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}

/* Desktop styles for square buttons */
@media (min-width: 768px) {
    .square-btn {
        aspect-ratio: auto;
        height: auto;
        flex-direction: row;
        padding: 0.75rem 1.25rem;
        font-size: 1rem;
    }
    .square-btn i {
        font-size: 1.25rem;
        margin-bottom: 0;
        margin-right: 0.5rem;
    }
}

/* ===== Polish UI — details qui font la difference =====
 * / UI polish — small details that matter
 * Source d'inspiration : jakub.kr/writing/details-that-make-interfaces-feel-better
 */

/* Chiffres tabulaires : meme largeur pour tous les chiffres (0,1,2...9).
 * Empeche le texte de "sauter" quand un compteur change.
 * / Tabular numbers: same width for all digits (0-9).
 * Prevents text jumping when counters change.
 * Applique aux badges (panier, agenda), totaux billets, prix booking/membership.
 * / Applied to badges (cart, agenda), ticket totals, booking/membership prices.
 */
.badge,
.js-total-amount, .js-total-price,
.js-order-price, .js-order-amount,
.js-max-amount,
.tab-nums {
    font-variant-numeric: tabular-nums;
}

/* Titres courts equilibres : evite les mots orphelins en fin de ligne.
 * / Balanced short titles: avoid orphan words at line end.
 * Ne pas appliquer sur long paragraphs (perf).
 * / Do not apply on long paragraphs (perf).
 */
h1, h2, h3, h4,
.h1, .h2, .h3, .h4,
.balance {
    text-wrap: balance;
}

/* Badge compteur du panier dans la navbar — ajustement optique.
 * Le centre mathematique (translate-middle sur top-0 start-100) tombe sur le
 * coin top-right de l'icone bi-bag, mais l'icone a du whitespace en haut
 * (les anses). On decale donc le badge vers l'interieur (bas + gauche) pour
 * qu'il s'ancre visuellement a l'icone plutot que d'avoir l'air de flotter.
 * / Cart navbar badge — optical fine-tuning. Mathematical center falls on
 * the icon's top-right corner, but bi-bag has top whitespace (handles), so
 * we nudge the badge inward so it anchors visually instead of floating.
 */
#panier-badge-nav .badge {
    margin-top: 0.25rem;
    margin-left: -0.3rem;
}
