.zoomerc-page { max-width: 900px; margin: 0 auto; }
.zoomerc-intro { margin: 12px 0 18px; }
.zoomerc-banniere { text-align: center; margin: 10px 0 16px; }
.zoomerc-banniere img { max-width: 100%; height: auto; border-radius: 6px; }
.zoomerc-tiers { width: 100%; margin-bottom: 20px; border-collapse: collapse; }
.zoomerc-tiers th, .zoomerc-tiers td { border: 1px solid #ddd; padding: 8px; text-align: center; }
.zoomerc-tiers th { background: #f5f5f5; }
.zoomerc-plein { color: #999; font-size: 0.9em; }
.zoomerc-pack { border: 1px solid #cfcfcf; border-radius: 6px; padding: 14px; margin-bottom: 14px; background: #fafafa; }
.zoomerc-pack-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.zoomerc-pack-title { font-weight: bold; font-size: 15px; }
.zoomerc-row { margin: 8px 0; }
.zoomerc-type { margin-right: 18px; }
.zoomerc-name { width: 100%; max-width: 420px; }
.zoomerc-help { font-style: italic; color: #666; margin: 6px 0; }
.zoomerc-dates { margin: 8px 0; }
.zoomerc-date-row { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.zoomerc-date-label { min-width: 110px; font-weight: bold; }
.zoomerc-date-row select { max-width: 260px; display: inline-block; }
.zoomerc-pack-price { margin-top: 8px; font-weight: bold; color: #2a7a2a; }
.zoomerc-actions { margin: 10px 0; }
.zoomerc-summary { font-size: 18px; margin: 16px 0; text-align: right; }
.zoomerc-submit { text-align: right; }
@media (max-width: 600px) {
    .zoomerc-summary, .zoomerc-submit { text-align: left; }
    .zoomerc-name { max-width: 100%; }
    .zoomerc-date-row { flex-wrap: wrap; }
}

/* Rappel informatif pour les billets enfant : visible, mais ne bloque jamais l'achat. */
.zoomerc-rappel-enfant {
    display: none;
    margin: 8px 0;
    padding: 10px 12px;
    border: 2px solid #d9534f;
    border-left-width: 6px;
    border-radius: 4px;
    background: #fdf2f2;
    color: #a3312d;
    font-size: 15px;
}
.zoomerc-rappel-enfant strong { font-weight: bold; }
.zoomerc-pack-error {
    margin: 8px 0 0;
    padding: 8px 10px;
    border-radius: 4px;
    background: #f2dede;
    color: #a94442;
    font-weight: bold;
}
