/* =====================================================
   Biotropica Tarifs - Frontend CLEAN v1.47.0
   Shortcodes :
   [bt_tarifs]
   [bt_tarifs_bloc]
   [bt_abonnement_annuel]
   [bt_comite_entreprise]
   [bt_tarifs_groupes]
   [bt_activites_supplement]
   [bt_anniversaires_privileges]
   ===================================================== */

/* Reset local pour éviter les conflits Divi */
.et-db #et-boc .et-l .bt-tarifs-wrapper,
.et-db #et-boc .et-l .bt-tarifs-wrapper *,
.et-db #et-boc .et-l .bt-tarifs-bloc,
.et-db #et-boc .et-l .bt-tarifs-bloc *,
.et-db #et-boc .et-l .bt-tarif-extra,
.et-db #et-boc .et-l .bt-tarif-extra *,
.bt-tarifs-wrapper,
.bt-tarifs-wrapper *,
.bt-tarifs-bloc,
.bt-tarifs-bloc *,
.bt-tarif-extra,
.bt-tarif-extra * {
    box-sizing: border-box !important;
    max-width: 100% !important;
}

.et-db #et-boc .et-l .bt-tarifs-wrapper,
.et-db #et-boc .et-l .bt-tarifs-bloc,
.et-db #et-boc .et-l .bt-tarif-extra,
.bt-tarifs-wrapper,
.bt-tarifs-bloc,
.bt-tarif-extra {
    --bt-dark: #0f3d2f;
    --bt-dark-2: #0b3327;
    --bt-green: #9fbd4f;
    --bt-green-2: #a9c955;
    --bt-red: #cf003f;
    --bt-white: #ffffff;
    --bt-soft: #f4f7ef;
    --bt-text: #0f3d2f;
    /* Échelle typographique commune à tous les blocs */
    --bt-fs-eyebrow: 13px;
    --bt-fs-h2: clamp(26px, 2.2vw, 36px);
    --bt-fs-h3: clamp(17px, 1.1vw, 20px);
    --bt-fs-body: 16px;
    --bt-fs-sub: 14px;
    --bt-fs-price-lg: clamp(26px, 2vw, 34px);
    --bt-fs-price-sm: clamp(20px, 1.3vw, 24px);
    --bt-fs-button: 15px;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-family: 'Baloo 2', system-ui, sans-serif !important;
    overflow: visible !important;
}

/* =====================================================
   1. Cartes principales - [bt_tarifs]
   ===================================================== */
.et-db #et-boc .et-l .bt-tarifs-wrapper,
.bt-tarifs-wrapper {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(22px, 2.6vw, 38px) !important;
    align-items: stretch !important;
    max-width: 1440px !important;
}

.et-db #et-boc .et-l .bt-tarif-card,
.bt-tarif-card {
    position: relative !important;
    overflow: hidden !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 520px !important;
    aspect-ratio: 457 / 635 !important;
    border-radius: 18px !important;
    background-color: var(--bt-dark) !important;
    background-position: top center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    color: var(--bt-white) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .22) !important;
    isolation: isolate !important;
}

.et-db #et-boc .et-l .bt-tarif-overlay,
.bt-tarif-overlay,
.et-db #et-boc .et-l .bt-tarifs-bloc-card-overlay,
.bt-tarifs-bloc-card-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(180deg, rgba(9, 45, 34, .14) 0%, rgba(9, 45, 34, .42) 46%, rgba(9, 45, 34, .86) 100%) !important;
}

.et-db #et-boc .et-l .bt-tarif-content,
.bt-tarif-content {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    height: 100% !important;
    min-height: inherit !important;
    padding: clamp(22px, 2.4vw, 40px) !important;
}

.et-db #et-boc .et-l .bt-tarif-card h3,
.bt-tarif-card h3 {
    margin: 0 0 22px !important;
    padding: 0 !important;
    color: var(--bt-white) !important;
    font-size: var(--bt-fs-h2) !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .35) !important;
    overflow-wrap: anywhere !important;
}

.et-db #et-boc .et-l .bt-tarif-lines,
.bt-tarif-lines {
    display: grid !important;
    gap: 14px !important;
    width: 100% !important;
    justify-items: center !important;
}

.et-db #et-boc .et-l .bt-tarif-line,
.bt-tarif-line {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 330px !important;
    min-height: 74px !important;
    margin: 0 auto !important;
    padding: 14px 18px !important;
    border-radius: 15px !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .14) !important;
}

.et-db #et-boc .et-l .bt-tarif-text strong,
.bt-tarif-text strong {
    display: block !important;
    color: var(--bt-dark) !important;
    font-size: var(--bt-fs-h3) !important;
    font-weight: 500 !important;
    line-height: 1.05 !important;
    text-transform: uppercase !important;
    overflow-wrap: anywhere !important;
}

.et-db #et-boc .et-l .bt-tarif-text span,
.bt-tarif-text span {
    display: block !important;
    margin-top: 3px !important;
    color: var(--bt-red) !important;
    font-size: var(--bt-fs-sub) !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;
}

.et-db #et-boc .et-l .bt-tarif-price,
.bt-tarif-price {
    color: var(--bt-green) !important;
    font-size: var(--bt-fs-price-lg) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.et-db #et-boc .et-l .bt-tarif-note,
.bt-tarif-note {
    min-height: 20px !important;
    margin: 16px 0 22px !important;
    color: var(--bt-white) !important;
    font-size: var(--bt-fs-sub) !important;
    font-weight: 400 !important;
    line-height: 1.18 !important;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .45) !important;
}

.bt-tarif-note--empty {
    visibility: hidden !important;
}

.et-db #et-boc .et-l .bt-tarif-button,
.et-db #et-boc .et-l .bt-tarif-extra-button,
.bt-tarif-button,
.bt-tarif-extra-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important;
    min-height: 52px !important;
    padding: 12px 26px !important;
    border-radius: 999px !important;
    background: var(--bt-red) !important;
    color: var(--bt-white) !important;
    font-size: var(--bt-fs-button) !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: normal !important;
}

.et-db #et-boc .et-l .bt-tarif-button,
.bt-tarif-button {
    align-self: center !important;
    min-width: 185px !important;
}

.bt-tarif-button span,
.bt-tarif-extra-button span {
    margin-left: 8px !important;
    font-size: 25px !important;
    line-height: .7 !important;
}

/* =====================================================
   2. Bloc compact - [bt_tarifs_bloc]
   ===================================================== */
.et-db #et-boc .et-l .bt-tarifs-bloc,
.bt-tarifs-bloc {
    max-width: 1460px !important;
    color: var(--bt-white) !important;
}

.et-db #et-boc .et-l .bt-tarifs-bloc-grid,
.bt-tarifs-bloc-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(18px, 2vw, 28px) !important;
    align-items: stretch !important;
}

.et-db #et-boc .et-l .bt-tarifs-bloc-grid--four,
.bt-tarifs-bloc-grid--four {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 900px) {
    .et-db #et-boc .et-l .bt-tarifs-bloc-grid--four,
    .bt-tarifs-bloc-grid--four {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    .et-db #et-boc .et-l .bt-tarifs-bloc-grid--four,
    .bt-tarifs-bloc-grid--four {
        grid-template-columns: 1fr !important;
    }
}

.et-db #et-boc .et-l .bt-tarifs-bloc-card,
.bt-tarifs-bloc-card {
    position: relative !important;
    overflow: hidden !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: clamp(215px, 17vw, 285px) !important;
    border-radius: 18px !important;
    background-color: var(--bt-dark) !important;
    background-position: top center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    color: var(--bt-white) !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .22) !important;
    isolation: isolate !important;
}

.et-db #et-boc .et-l .bt-tarifs-bloc-card-content,
.bt-tarifs-bloc-card-content {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    gap: 18px !important;
    min-height: inherit !important;
    height: 100% !important;
    padding: clamp(22px, 2.2vw, 34px) !important;
}

.et-db #et-boc .et-l .bt-tarifs-bloc-card-head,
.bt-tarifs-bloc-card-head {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    min-width: 0 !important;
}

.et-db #et-boc .et-l .bt-tarifs-bloc-dot,
.et-db #et-boc .et-l .bt-tarifs-bloc-icon,
.bt-tarifs-bloc-dot,
.bt-tarifs-bloc-icon {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
}

.et-db #et-boc .et-l .bt-tarifs-bloc-dot,
.bt-tarifs-bloc-dot {
    width: clamp(54px, 4.8vw, 76px) !important;
    height: clamp(54px, 4.8vw, 76px) !important;
    background: var(--bt-green-2) !important;
    box-shadow: inset 0 0 0 8px rgba(255, 255, 255, .14), 0 8px 18px rgba(0, 0, 0, .22) !important;
}

.bt-tarifs-bloc-dot img,
.bt-tarifs-bloc-icon img {
    display: block !important;
    width: 58% !important;
    height: 58% !important;
    object-fit: contain !important;
}

.et-db #et-boc .et-l .bt-tarifs-bloc-card h3,
.bt-tarifs-bloc-card h3,
.et-db #et-boc .et-l .bt-tarifs-bloc-card p,
.bt-tarifs-bloc-card p {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--bt-white) !important;
    font-size: var(--bt-fs-h3) !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .35) !important;
    overflow-wrap: anywhere !important;
}

.et-db #et-boc .et-l .bt-tarifs-bloc-card h3,
.bt-tarifs-bloc-card h3 {
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
}

.et-db #et-boc .et-l .bt-tarifs-bloc-price,
.bt-tarifs-bloc-price {
    display: block !important;
    margin-top: 18px !important;
    color: var(--bt-white) !important;
    font-size: var(--bt-fs-price-lg) !important;
    font-weight: 700 !important;
    line-height: .95 !important;
    text-align: right !important;
    text-transform: uppercase !important;
    text-shadow: 0 3px 14px rgba(0, 0, 0, .42) !important;
    overflow-wrap: anywhere !important;
}

.et-db #et-boc .et-l .bt-tarifs-bloc-infos,
.bt-tarifs-bloc-infos {
    display: grid !important;
    grid-template-columns: 1fr .95fr !important;
    gap: clamp(18px, 2vw, 28px) !important;
    margin-top: clamp(18px, 2vw, 30px) !important;
}

.et-db #et-boc .et-l .bt-tarifs-bloc-info,
.bt-tarifs-bloc-info {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: clamp(18px, 2vw, 30px) !important;
    min-height: 150px !important;
    padding: clamp(24px, 2.4vw, 38px) !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .15) !important;
}

.bt-tarifs-bloc-info--dark {
    background: rgba(15, 61, 47, .88) !important;
}

.bt-tarifs-bloc-info--light {
    background: var(--bt-green-2) !important;
    color: var(--bt-dark) !important;
}

.et-db #et-boc .et-l .bt-tarifs-bloc-icon,
.bt-tarifs-bloc-icon {
    width: clamp(58px, 5vw, 78px) !important;
    height: clamp(58px, 5vw, 78px) !important;
    background: var(--bt-green-2) !important;
    color: var(--bt-dark) !important;
    font-size: clamp(30px, 2.4vw, 42px) !important;
    font-weight: 500 !important;
}

.bt-tarifs-bloc-info--light .bt-tarifs-bloc-icon {
    background: var(--bt-dark) !important;
    color: var(--bt-green-2) !important;
}

.et-db #et-boc .et-l .bt-tarifs-bloc-info p,
.et-db #et-boc .et-l .bt-tarifs-bloc-info li,
.bt-tarifs-bloc-info p,
.bt-tarifs-bloc-info li {
    margin: 0 !important;
    color: inherit !important;
    font-size: var(--bt-fs-body) !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
}

.bt-tarifs-bloc-info strong {
    font-weight: 500 !important;
}

.bt-tarifs-bloc-info ul {
    margin: 10px 0 0 !important;
    padding-left: 22px !important;
}

.bt-tarifs-bloc-info li::marker {
    color: var(--bt-green-2) !important;
}

/* =====================================================
   3. Blocs abonnement / CE
   ===================================================== */
.et-db #et-boc .et-l .bt-tarif-extra,
.bt-tarif-extra {
    max-width: 1440px !important;
    margin-bottom: 30px !important;
    padding: clamp(24px, 3vw, 38px) !important;
    border-radius: 28px !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .08) !important;
    overflow: hidden !important;
}

.bt-tarif-extra:last-child {
    margin-bottom: 0 !important;
}

.bt-tarif-extra--annual {
    background: #f7f5f5 !important;
    border: 1px solid #e6e0dc !important;
    border-top: 5px solid var(--bt-green) !important;
}

.bt-tarif-extra--ce {
    background: #f8f4f5 !important;
    border: 1px solid #eadfe4 !important;
    border-top: 5px solid var(--bt-red) !important;
}

.et-db #et-boc .et-l .bt-tarif-extra-head,
.bt-tarif-extra-head {
    max-width: 900px !important;
    margin-bottom: 26px !important;
}

.et-db #et-boc .et-l .bt-tarif-extra-head span,
.bt-tarif-extra-head span {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    margin-bottom: 12px !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    font-size: var(--bt-fs-eyebrow) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.bt-tarif-extra--annual .bt-tarif-extra-head span {
    background: var(--bt-green) !important;
    color: var(--bt-dark) !important;
}

.bt-tarif-extra--ce .bt-tarif-extra-head span {
    background: #f4dde6 !important;
    color: var(--bt-red) !important;
}

.et-db #et-boc .et-l .bt-tarif-extra-head h2,
.bt-tarif-extra-head h2 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--bt-dark) !important;
    font-size: var(--bt-fs-h2) !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    overflow-wrap: anywhere !important;
}

.et-db #et-boc .et-l .bt-tarif-extra-head p,
.bt-tarif-extra-head p {
    margin: 12px 0 0 !important;
    color: rgba(15, 61, 47, .82) !important;
    font-size: var(--bt-fs-body) !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
}

.et-db #et-boc .et-l .bt-tarif-extra-prices,
.bt-tarif-extra-prices {
    display: grid !important;
    gap: clamp(18px, 2vw, 24px) !important;
    align-items: stretch !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--annual .bt-tarif-extra-prices,
.bt-tarif-extra--annual .bt-tarif-extra-prices {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--annual .bt-tarif-extra-price-card:nth-child(n+3),
.bt-tarif-extra--annual .bt-tarif-extra-price-card:nth-child(n+3) {
    display: none !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--ce .bt-tarif-extra-prices,
.bt-tarif-extra--ce .bt-tarif-extra-prices {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.et-db #et-boc .et-l .bt-tarif-extra-price-card,
.bt-tarif-extra-price-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    gap: 18px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 150px !important;
    padding: 24px !important;
    border-radius: 18px !important;
    border: 1px solid #cbd59d !important;
    background: #d8dfbd !important;
    color: var(--bt-dark) !important;
    text-align: center !important;
    box-shadow: 0 10px 20px rgba(0, 0, 0, .06) !important;
}

.bt-tarif-extra--ce .bt-tarif-extra-price-card {
    min-height: 165px !important;
}

.bt-tarif-extra-price-card > div {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.et-db #et-boc .et-l .bt-tarif-extra-price-card h3,
.bt-tarif-extra-price-card h3 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--bt-dark) !important;
    font-size: var(--bt-fs-h3) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    overflow-wrap: anywhere !important;
}

.et-db #et-boc .et-l .bt-tarif-extra-price-card p,
.bt-tarif-extra-price-card p {
    margin: 0 !important;
    color: rgba(15, 61, 47, .82) !important;
    font-size: var(--bt-fs-sub) !important;
    font-weight: 500 !important;
    line-height: 1.28 !important;
    text-align: center !important;
}

.et-db #et-boc .et-l .bt-tarif-extra-price-card strong,
.bt-tarif-extra-price-card strong {
    display: block !important;
    color: var(--bt-dark) !important;
    font-size: var(--bt-fs-price-lg) !important;
    font-weight: 700 !important;
    line-height: .95 !important;
    text-align: center !important;
    white-space: nowrap !important;
}

.bt-tarif-extra--ce .bt-tarif-extra-price-card strong {
    margin-top: 18px !important;
}

.et-db #et-boc .et-l .bt-tarif-extra-bottom,
.bt-tarif-extra-bottom {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    margin-top: 22px !important;
    padding: 22px 24px !important;
    border-radius: 18px !important;
}

.bt-tarif-extra--annual .bt-tarif-extra-bottom {
    background: #e4e8d1 !important;
    border: 1px solid #cbd59d !important;
}

.bt-tarif-extra--ce .bt-tarif-extra-bottom {
    justify-items: center !important;
    padding: 28px !important;
    background: #f4eaed !important;
    border: 1px solid #ebcbd7 !important;
}

.et-db #et-boc .et-l .bt-tarif-extra-text p,
.et-db #et-boc .et-l .bt-tarif-extra-text li,
.bt-tarif-extra-text p,
.bt-tarif-extra-text li {
    color: var(--bt-dark) !important;
    font-size: var(--bt-fs-body) !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
}

.bt-tarif-extra-text p,
.bt-tarif-extra-text ul {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.bt-tarif-extra-text ul {
    padding-left: 22px !important;
}

.bt-tarif-extra--annual .bt-tarif-extra-text ul {
    list-style: none !important;
    padding-left: 0 !important;
}

.bt-tarif-extra--annual .bt-tarif-extra-text li {
    position: relative !important;
    min-height: 24px !important;
    padding-left: 34px !important;
}

.bt-tarif-extra--annual .bt-tarif-extra-text li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: .12em !important;
    width: 18px !important;
    height: 18px !important;
    background: url('annual-check.svg') center / contain no-repeat !important;
}

.bt-tarif-extra-text li::marker {
    color: var(--bt-green) !important;
}

.bt-tarif-extra--ce .bt-tarif-extra-button {
    min-width: min(100%, 360px) !important;
    min-height: 54px !important;
    background: #e5004f !important;
    font-size: var(--bt-fs-button) !important;
    font-weight: 700 !important;
}

/* =====================================================
   4. Tarifs groupes - [bt_tarifs_groupes]
   ===================================================== */
.et-db #et-boc .et-l .bt-tarif-extra--groups,
.bt-tarif-extra--groups {
    --bt-groups-soft: rgba(255, 255, 255, .92);
    --bt-groups-border: rgba(159, 189, 79, .45);
    padding: clamp(26px, 3.6vw, 48px) !important;
    border: 0 !important;
    border-radius: 26px !important;
    background: radial-gradient(circle at 88% 18%, rgba(159, 189, 79, .32), transparent 30%), linear-gradient(135deg, #0b3327 0%, #0f3d2f 58%, #244f35 100%) !important;
    color: var(--bt-white) !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .22) !important;
}

.et-db #et-boc .et-l .bt-groups-top,
.bt-groups-top {
    display: grid !important;
    grid-template-columns: minmax(220px, .36fr) minmax(0, 1fr) !important;
    gap: clamp(22px, 3vw, 48px) !important;
    align-items: start !important;
    margin-bottom: clamp(24px, 3vw, 36px) !important;
}

.et-db #et-boc .et-l .bt-groups-title h2,
.bt-groups-title h2 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--bt-white) !important;
    font-size: var(--bt-fs-h2) !important;
    font-weight: 600 !important;
    line-height: 1.05 !important;
    overflow-wrap: anywhere !important;
}

.et-db #et-boc .et-l .bt-groups-title span,
.bt-groups-title span {
    display: block !important;
    margin-top: 12px !important;
    color: var(--bt-green) !important;
    font-size: var(--bt-fs-eyebrow) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

.et-db #et-boc .et-l .bt-groups-info,
.bt-groups-info {
    width: 100% !important;
    padding: clamp(16px, 1.7vw, 24px) clamp(20px, 2.3vw, 34px) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .10) !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
}

.bt-groups-info ul {
    display: grid !important;
    gap: 8px !important;
    margin: 0 !important;
    padding-left: 22px !important;
}

.et-db #et-boc .et-l .bt-groups-info li,
.bt-groups-info li {
    margin: 0 !important;
    color: var(--bt-white) !important;
    font-size: var(--bt-fs-body) !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
}

.bt-groups-info li::marker,
.bt-groups-freebies-grid li::marker {
    color: var(--bt-green) !important;
}

.et-db #et-boc .et-l .bt-groups-prices,
.bt-groups-prices {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(14px, 2vw, 28px) !important;
    align-items: stretch !important;
    margin-bottom: clamp(24px, 3vw, 36px) !important;
}

.et-db #et-boc .et-l .bt-groups-price-card,
.bt-groups-price-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: clamp(128px, 10vw, 175px) !important;
    padding: clamp(18px, 2vw, 30px) 18px !important;
    border-radius: 16px !important;
    background: var(--bt-groups-soft) !important;
    border: 2px solid rgba(15, 61, 47, .18) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .18) !important;
    text-align: center !important;
}

.et-db #et-boc .et-l .bt-groups-price-card h3,
.bt-groups-price-card h3 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--bt-dark) !important;
    font-size: var(--bt-fs-h3) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
    overflow-wrap: anywhere !important;
}

.et-db #et-boc .et-l .bt-groups-price-card p,
.bt-groups-price-card p {
    margin: 4px 0 0 !important;
    color: var(--bt-dark) !important;
    font-size: var(--bt-fs-sub) !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    text-transform: uppercase !important;
}

.et-db #et-boc .et-l .bt-groups-price-card strong,
.bt-groups-price-card strong {
    display: block !important;
    margin-top: clamp(18px, 2vw, 28px) !important;
    color: var(--bt-dark) !important;
    font-size: var(--bt-fs-price-lg) !important;
    font-weight: 700 !important;
    line-height: .9 !important;
    white-space: nowrap !important;
}

.et-db #et-boc .et-l .bt-groups-freebies,
.bt-groups-freebies {
    padding: clamp(22px, 2.5vw, 34px) !important;
    border: 2px solid var(--bt-groups-border) !important;
    border-radius: 22px !important;
    background: rgba(8, 46, 34, .36) !important;
}

.et-db #et-boc .et-l .bt-groups-freebies h3,
.bt-groups-freebies h3 {
    margin: 0 0 22px !important;
    padding: 0 !important;
    color: var(--bt-green) !important;
    font-size: var(--bt-fs-h3) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    letter-spacing: .03em !important;
}

.et-db #et-boc .et-l .bt-groups-freebies-grid,
.bt-groups-freebies-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(18px, 2.8vw, 46px) !important;
}

.bt-groups-freebies-grid ul {
    display: grid !important;
    gap: 16px !important;
    margin: 0 !important;
    padding-left: 24px !important;
}

.bt-groups-freebies-grid ul + ul {
    padding-left: clamp(28px, 3vw, 52px) !important;
    border-left: 1px solid rgba(159, 189, 79, .35) !important;
}

.et-db #et-boc .et-l .bt-groups-freebies-grid li,
.bt-groups-freebies-grid li {
    margin: 0 !important;
    color: var(--bt-white) !important;
    font-size: var(--bt-fs-body) !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}

.et-db #et-boc .et-l .bt-groups-action,
.bt-groups-action {
    display: flex !important;
    justify-content: center !important;
    margin-top: clamp(22px, 2.4vw, 34px) !important;
}

.bt-groups-button {
    min-width: 210px !important;
}

/* =====================================================
   Desktop uniquement : hauteur égale dans les lignes Divi
   ===================================================== */
@media (min-width: 981px) {
    .et-db #et-boc .et-l .et_pb_row:has(.bt-tarif-extra--annual):has(.bt-tarif-extra--ce),
    .et_pb_row:has(.bt-tarif-extra--annual):has(.bt-tarif-extra--ce) {
        display: flex !important;
        align-items: stretch !important;
    }

    .et-db #et-boc .et-l .et_pb_row:has(.bt-tarif-extra--annual):has(.bt-tarif-extra--ce) > .et_pb_column,
    .et_pb_row:has(.bt-tarif-extra--annual):has(.bt-tarif-extra--ce) > .et_pb_column {
        display: flex !important;
        align-items: stretch !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra--annual,
    .et-db #et-boc .et-l .bt-tarif-extra--ce,
    .bt-tarif-extra--annual,
    .bt-tarif-extra--ce {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        height: 100% !important;
    }
}

/* =====================================================
   Tablette : 2 colonnes maximum
   ===================================================== */
@media (max-width: 1100px) {
    .et-db #et-boc .et-l .bt-tarifs-wrapper,
    .bt-tarifs-wrapper,
    .et-db #et-boc .et-l .bt-tarifs-bloc-grid,
    .bt-tarifs-bloc-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra--ce .bt-tarif-extra-prices,
    .bt-tarif-extra--ce .bt-tarif-extra-prices,
    .et-db #et-boc .et-l .bt-groups-prices,
    .bt-groups-prices {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 980px) {
    .et-db #et-boc .et-l .bt-tarifs-bloc-infos,
    .bt-tarifs-bloc-infos,
    .et-db #et-boc .et-l .bt-groups-top,
    .bt-groups-top {
        grid-template-columns: 1fr !important;
    }

    .et-db #et-boc .et-l .bt-tarif-card,
    .bt-tarif-card {
        min-height: 520px !important;
    }

    .et-db #et-boc .et-l .bt-tarifs-bloc-card,
    .bt-tarifs-bloc-card {
        min-height: 230px !important;
    }
}

/* =====================================================
   Mobile : TOUT en 1 colonne, sans débordement
   ===================================================== */
@media (max-width: 767px) {
    .et-db #et-boc .et-l .bt-tarifs-wrapper,
    .bt-tarifs-wrapper,
    .et-db #et-boc .et-l .bt-tarifs-bloc-grid,
    .bt-tarifs-bloc-grid,
    .et-db #et-boc .et-l .bt-tarifs-bloc-infos,
    .bt-tarifs-bloc-infos,
    .et-db #et-boc .et-l .bt-tarif-extra-prices,
    .bt-tarif-extra-prices,
    .et-db #et-boc .et-l .bt-tarif-extra--annual .bt-tarif-extra-prices,
    .bt-tarif-extra--annual .bt-tarif-extra-prices,
    .et-db #et-boc .et-l .bt-tarif-extra--ce .bt-tarif-extra-prices,
    .bt-tarif-extra--ce .bt-tarif-extra-prices,
    .et-db #et-boc .et-l .bt-groups-top,
    .bt-groups-top,
    .et-db #et-boc .et-l .bt-groups-prices,
    .bt-groups-prices,
    .et-db #et-boc .et-l .bt-groups-freebies-grid,
    .bt-groups-freebies-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .et-db #et-boc .et-l .bt-tarifs-wrapper,
    .bt-tarifs-wrapper,
    .et-db #et-boc .et-l .bt-tarifs-bloc,
    .bt-tarifs-bloc,
    .et-db #et-boc .et-l .bt-tarif-extra,
    .bt-tarif-extra {
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra,
    .bt-tarif-extra,
    .et-db #et-boc .et-l .bt-tarif-extra--groups,
    .bt-tarif-extra--groups {
        padding: 18px !important;
        border-radius: 20px !important;
        margin-bottom: 22px !important;
    }

    .et-db #et-boc .et-l .bt-tarif-card,
    .bt-tarif-card {
        width: 100% !important;
        min-height: 500px !important;
        aspect-ratio: auto !important;
        border-radius: 16px !important;
    }

    .et-db #et-boc .et-l .bt-tarif-content,
    .bt-tarif-content {
        padding: 20px !important;
    }

    .et-db #et-boc .et-l .bt-tarif-card h3,
    .bt-tarif-card h3,
    .et-db #et-boc .et-l .bt-tarif-extra-head h2,
    .bt-tarif-extra-head h2,
    .et-db #et-boc .et-l .bt-groups-title h2,
    .bt-groups-title h2 {
        font-size: var(--bt-fs-h2) !important;
        line-height: 1.1 !important;
        text-align: left !important;
    }

    .et-db #et-boc .et-l .bt-tarif-card h3,
    .bt-tarif-card h3 {
        text-align: center !important;
    }

    .et-db #et-boc .et-l .bt-tarif-line,
    .bt-tarif-line {
        grid-template-columns: minmax(0, 1fr) auto !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 68px !important;
        padding: 14px 16px !important;
    }

    .et-db #et-boc .et-l .bt-tarif-price,
    .bt-tarif-price {
        font-size: var(--bt-fs-price-lg) !important;
    }

    .et-db #et-boc .et-l .bt-tarifs-bloc-card,
    .bt-tarifs-bloc-card {
        min-height: 230px !important;
        border-radius: 16px !important;
    }

    .et-db #et-boc .et-l .bt-tarifs-bloc-card-content,
    .bt-tarifs-bloc-card-content,
    .et-db #et-boc .et-l .bt-tarifs-bloc-info,
    .bt-tarifs-bloc-info {
        padding: 20px !important;
    }

    .et-db #et-boc .et-l .bt-tarifs-bloc-info,
    .bt-tarifs-bloc-info {
        grid-template-columns: 1fr !important;
        align-items: start !important;
        min-height: auto !important;
        border-radius: 16px !important;
    }

    .et-db #et-boc .et-l .bt-tarifs-bloc-price,
    .bt-tarifs-bloc-price {
        margin-top: 24px !important;
        font-size: var(--bt-fs-price-lg) !important;
        text-align: left !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra-head,
    .bt-tarif-extra-head {
        margin-bottom: 18px !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra-price-card,
    .bt-tarif-extra-price-card,
    .et-db #et-boc .et-l .bt-groups-price-card,
    .bt-groups-price-card {
        width: 100% !important;
        min-width: 0 !important;
        min-height: auto !important;
        padding: 20px 18px !important;
        border-radius: 16px !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra-price-card h3,
    .bt-tarif-extra-price-card h3,
    .et-db #et-boc .et-l .bt-groups-price-card h3,
    .bt-groups-price-card h3 {
        font-size: var(--bt-fs-h3) !important;
        line-height: 1.1 !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra-price-card p,
    .bt-tarif-extra-price-card p,
    .et-db #et-boc .et-l .bt-groups-price-card p,
    .bt-groups-price-card p {
        font-size: var(--bt-fs-sub) !important;
        line-height: 1.25 !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra-price-card strong,
    .bt-tarif-extra-price-card strong,
    .et-db #et-boc .et-l .bt-groups-price-card strong,
    .bt-groups-price-card strong {
        margin-top: 14px !important;
        font-size: var(--bt-fs-price-lg) !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra-bottom,
    .bt-tarif-extra-bottom,
    .et-db #et-boc .et-l .bt-groups-freebies,
    .bt-groups-freebies {
        margin-top: 18px !important;
        padding: 18px !important;
        border-radius: 16px !important;
    }

    .et-db #et-boc .et-l .bt-groups-freebies-grid ul + ul,
    .bt-groups-freebies-grid ul + ul {
        padding-left: 24px !important;
        border-left: 0 !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra-text p,
    .et-db #et-boc .et-l .bt-tarif-extra-text li,
    .bt-tarif-extra-text p,
    .bt-tarif-extra-text li,
    .et-db #et-boc .et-l .bt-groups-info li,
    .bt-groups-info li,
    .et-db #et-boc .et-l .bt-groups-freebies-grid li,
    .bt-groups-freebies-grid li {
        font-size: var(--bt-fs-body) !important;
        line-height: 1.35 !important;
    }

    .et-db #et-boc .et-l .bt-tarif-button,
    .et-db #et-boc .et-l .bt-tarif-extra-button,
    .bt-tarif-button,
    .bt-tarif-extra-button {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        justify-content: center !important;
        white-space: normal !important;
    }
}

/* Très petits mobiles */
@media (max-width: 420px) {
    .et-db #et-boc .et-l .bt-tarif-extra,
    .bt-tarif-extra,
    .et-db #et-boc .et-l .bt-tarif-extra--groups,
    .bt-tarif-extra--groups {
        padding: 15px !important;
        border-radius: 18px !important;
    }

    .et-db #et-boc .et-l .bt-tarif-content,
    .bt-tarif-content,
    .et-db #et-boc .et-l .bt-tarifs-bloc-card-content,
    .bt-tarifs-bloc-card-content,
    .et-db #et-boc .et-l .bt-tarifs-bloc-info,
    .bt-tarifs-bloc-info {
        padding: 16px !important;
    }

    .et-db #et-boc .et-l .bt-tarif-line,
    .bt-tarif-line {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        text-align: center !important;
    }

    .et-db #et-boc .et-l .bt-tarif-price,
    .bt-tarif-price {
        white-space: normal !important;
    }

    .et-db #et-boc .et-l .bt-tarifs-bloc-card-head,
    .bt-tarifs-bloc-card-head {
        align-items: flex-start !important;
    }
}



/* =====================================================
   5. Activités en supplément + anniversaires
   Shortcodes : [bt_activites_supplement] [bt_anniversaires_privileges]
   ===================================================== */
.et-db #et-boc .et-l .bt-tarif-extra--activities,
.et-db #et-boc .et-l .bt-tarif-extra--birthdays,
.bt-tarif-extra--activities,
.bt-tarif-extra--birthdays {
    padding: clamp(26px, 3vw, 42px) !important;
    border-radius: 28px !important;
    background: #f7f5f5 !important;
    border: 1px solid rgba(15, 61, 47, .10) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .08) !important;
    color: var(--bt-dark) !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities,
.bt-tarif-extra--activities {
    border-top: 5px solid var(--bt-green) !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--birthdays,
.bt-tarif-extra--birthdays {
    border-top: 5px solid var(--bt-green) !important;
    background: linear-gradient(180deg, #f7f5f5 0%, #eef2e2 100%) !important;
    border-color: rgba(159, 189, 79, .22) !important;
}

.et-db #et-boc .et-l .bt-simple-extra-head,
.bt-simple-extra-head {
    max-width: 920px !important;
    margin-bottom: 26px !important;
}

.et-db #et-boc .et-l .bt-simple-extra-badge,
.bt-simple-extra-badge {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    margin-bottom: 14px !important;
    padding: 8px 16px !important;
    border-radius: 999px !important;
    background: #e4e8d1 !important;
    color: var(--bt-dark) !important;
    font-size: var(--bt-fs-eyebrow) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--birthdays .bt-simple-extra-badge,
.bt-tarif-extra--birthdays .bt-simple-extra-badge {
    background: linear-gradient(90deg, #dce8c5 0%, #f4eaed 100%) !important;
    color: var(--bt-dark) !important;
    border: 1px solid rgba(229, 0, 79, .10) !important;
}

.et-db #et-boc .et-l .bt-simple-extra-head h2,
.bt-simple-extra-head h2 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--bt-dark) !important;
    font-size: var(--bt-fs-h2) !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
}

.et-db #et-boc .et-l .bt-simple-extra-head p,
.bt-simple-extra-head p,
.et-db #et-boc .et-l .bt-birthdays-bottom p,
.bt-birthdays-bottom p {
    margin: 14px 0 0 !important;
    color: rgba(15, 61, 47, .86) !important;
    font-size: var(--bt-fs-body) !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
}

.et-db #et-boc .et-l .bt-simple-extra-head a,
.bt-simple-extra-head a,
.et-db #et-boc .et-l .bt-birthdays-bottom a,
.bt-birthdays-bottom a {
    color: var(--bt-red) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.et-db #et-boc .et-l .bt-activities-grid,
.bt-activities-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(18px, 2vw, 26px) !important;
    align-items: stretch !important;
}

.et-db #et-boc .et-l .bt-activities-col,
.bt-activities-col {
    min-width: 0 !important;
}

.et-db #et-boc .et-l .bt-activities-panel,
.bt-activities-panel {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    min-height: 100% !important;
    padding: clamp(22px, 2.2vw, 30px) !important;
    border-radius: 24px !important;
    background: #ffffff !important;
    border: 1px solid #dce4c0 !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .07) !important;
    overflow: hidden !important;
}

.et-db #et-boc .et-l .bt-activities-panel::before,
.bt-activities-panel::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 0 auto 0 !important;
    height: 5px !important;
    background: var(--bt-green) !important;
}

.et-db #et-boc .et-l .bt-activities-panel--adults::before,
.bt-activities-panel--adults::before {
    background: var(--bt-red) !important;
}

.et-db #et-boc .et-l .bt-activities-panel-head,
.bt-activities-panel-head {
    display: grid !important;
    gap: 10px !important;
    padding-bottom: 18px !important;
    border-bottom: 1px solid rgba(15, 61, 47, .10) !important;
}

.et-db #et-boc .et-l .bt-activities-panel-kicker,
.bt-activities-panel-kicker {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    padding: 7px 13px !important;
    border-radius: 999px !important;
    background: #e4e8d1 !important;
    color: var(--bt-dark) !important;
    font-size: var(--bt-fs-eyebrow) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    letter-spacing: .03em !important;
}

.et-db #et-boc .et-l .bt-activities-panel--adults .bt-activities-panel-kicker,
.bt-activities-panel--adults .bt-activities-panel-kicker {
    background: #f4dde6 !important;
    color: var(--bt-red) !important;
}

.et-db #et-boc .et-l .bt-activities-col h3,
.bt-activities-col h3 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--bt-dark) !important;
    font-size: var(--bt-fs-h2) !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    text-align: left !important;
}

.et-db #et-boc .et-l .bt-activities-items,
.bt-activities-items {
    display: grid !important;
    gap: 18px !important;
}

.et-db #et-boc .et-l .bt-simple-price-card,
.bt-simple-price-card {
    position: relative !important;
    display: grid !important;
    gap: 10px !important;
    padding: 20px 22px 20px 24px !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #eef2df 0%, #dde5c0 100%) !important;
    border: 1px solid #cbd59d !important;
    color: var(--bt-dark) !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .04) !important;
}

.et-db #et-boc .et-l .bt-simple-price-card::before,
.bt-simple-price-card::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 14px !important;
    bottom: 14px !important;
    width: 6px !important;
    border-radius: 0 8px 8px 0 !important;
    background: var(--bt-green) !important;
}

.et-db #et-boc .et-l .bt-activities-panel--adults .bt-simple-price-card::before,
.bt-activities-panel--adults .bt-simple-price-card::before {
    background: var(--bt-red) !important;
}

.et-db #et-boc .et-l .bt-simple-price-card h4,
.bt-simple-price-card h4 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--bt-dark) !important;
    font-size: var(--bt-fs-h3) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
}

.et-db #et-boc .et-l .bt-simple-price-card p,
.bt-simple-price-card p {
    margin: 0 !important;
    color: rgba(15, 61, 47, .88) !important;
    font-size: var(--bt-fs-body) !important;
    font-weight: 500 !important;
    line-height: 1.42 !important;
}

.et-db #et-boc .et-l .bt-birthdays-bottom,
.bt-birthdays-bottom {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 18px !important;
    margin-top: 22px !important;
    padding: 22px 24px !important;
    border-radius: 18px !important;
    background: linear-gradient(90deg, rgba(223, 232, 203, .92) 0%, rgba(255,255,255,.96) 100%) !important;
    border: 1px solid rgba(159, 189, 79, .32) !important;
}

.et-db #et-boc .et-l .bt-birthdays-bottom p,
.bt-birthdays-bottom p {
    margin: 0 !important;
    color: var(--bt-dark) !important;
}

.et-db #et-boc .et-l .bt-birthdays-button,
.bt-birthdays-button {
    min-width: 220px !important;
    background: linear-gradient(90deg, #cf003f 0%, #e5004f 100%) !important;
    font-size: var(--bt-fs-button) !important;
    font-weight: 700 !important;
}


.et-db #et-boc .et-l .bt-birthdays-button,
.et-db #et-boc .et-l .bt-birthdays-button:link,
.et-db #et-boc .et-l .bt-birthdays-button:visited,
.et-db #et-boc .et-l .bt-birthdays-button:hover,
.et-db #et-boc .et-l .bt-birthdays-button:focus,
.bt-birthdays-button,
.bt-birthdays-button:link,
.bt-birthdays-button:visited,
.bt-birthdays-button:hover,
.bt-birthdays-button:focus,
.bt-birthdays-button span,
.bt-birthdays-button:hover span,
.bt-birthdays-button:focus span {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration: none !important;
}

@media (max-width: 980px) {
    .et-db #et-boc .et-l .bt-birthdays-bottom,
    .bt-birthdays-bottom {
        grid-template-columns: 1fr !important;
    }

    .et-db #et-boc .et-l .bt-birthdays-button,
    .bt-birthdays-button {
        width: 100% !important;
        min-width: 100% !important;
    }
}

@media (max-width: 767px) {
    .et-db #et-boc .et-l .bt-activities-grid,
    .bt-activities-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .et-db #et-boc .et-l .bt-simple-extra-head h2,
    .bt-simple-extra-head h2 {
        font-size: var(--bt-fs-h2) !important;
    }

    .et-db #et-boc .et-l .bt-activities-panel-head,
    .bt-activities-panel-head {
        padding-bottom: 14px !important;
    }

    .et-db #et-boc .et-l .bt-simple-price-card,
    .bt-simple-price-card {
        padding: 18px !important;
        border-radius: 16px !important;
    }

    .et-db #et-boc .et-l .bt-simple-extra-head p,
    .bt-simple-extra-head p,
    .et-db #et-boc .et-l .bt-simple-price-card p,
    .bt-simple-price-card p,
    .et-db #et-boc .et-l .bt-birthdays-bottom p,
    .bt-birthdays-bottom p {
        font-size: var(--bt-fs-body) !important;
    }

    .et-db #et-boc .et-l .bt-birthdays-bottom,
    .bt-birthdays-bottom {
        display: grid !important;
        grid-template-columns: 1fr !important;
        justify-items: start !important;
        padding: 18px !important;
        border-radius: 16px !important;
    }
}

/* =====================================================
   Typographie titres - Baloo 2 plus léger
   ===================================================== */
.et-db #et-boc .et-l .bt-tarifs-wrapper h1,
.et-db #et-boc .et-l .bt-tarifs-wrapper h2,
.et-db #et-boc .et-l .bt-tarifs-wrapper h3,
.et-db #et-boc .et-l .bt-tarifs-wrapper h4,
.et-db #et-boc .et-l .bt-tarifs-bloc h1,
.et-db #et-boc .et-l .bt-tarifs-bloc h2,
.et-db #et-boc .et-l .bt-tarifs-bloc h3,
.et-db #et-boc .et-l .bt-tarifs-bloc h4,
.et-db #et-boc .et-l .bt-tarif-extra h1,
.et-db #et-boc .et-l .bt-tarif-extra h2,
.et-db #et-boc .et-l .bt-tarif-extra h3,
.et-db #et-boc .et-l .bt-tarif-extra h4,
.bt-tarifs-wrapper h1,
.bt-tarifs-wrapper h2,
.bt-tarifs-wrapper h3,
.bt-tarifs-wrapper h4,
.bt-tarifs-bloc h1,
.bt-tarifs-bloc h2,
.bt-tarifs-bloc h3,
.bt-tarifs-bloc h4,
.bt-tarif-extra h1,
.bt-tarif-extra h2,
.bt-tarif-extra h3,
.bt-tarif-extra h4 {
    font-family: 'Baloo 2', system-ui, sans-serif !important;
    font-weight: 500 !important;
}

/* =====================================================
   ACTIVITÉS EN SUPPLÉMENT — nouvelle maquette v1.46.0
   Règles strictement limitées au shortcode activités.
   ===================================================== */
.et-db #et-boc .et-l .bt-tarif-extra--activities,
.bt-tarif-extra--activities {
    --bt-activity-child: #a8c83f;
    --bt-activity-adult: #d60043;
    --bt-activity-bg: #073b2e;
    --bt-activity-bg-deep: #052f25;
    width: 100% !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-main-head,
.bt-tarif-extra--activities .bt-activities-main-head {
    max-width: 980px !important;
    margin: 0 0 clamp(22px, 2.6vw, 34px) !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-main-head .bt-simple-extra-badge,
.bt-tarif-extra--activities .bt-activities-main-head .bt-simple-extra-badge {
    margin-bottom: 12px !important;
    background: #e5ebd3 !important;
    color: var(--bt-dark) !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-main-head h2,
.bt-tarif-extra--activities .bt-activities-main-head h2 {
    color: var(--bt-dark) !important;
    font-weight: 500 !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-grid,
.bt-tarif-extra--activities .bt-activities-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(20px, 2.2vw, 32px) !important;
    align-items: stretch !important;
    width: 100% !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel,
.bt-tarif-extra--activities .bt-activities-panel {
    --bt-activity-accent: var(--bt-activity-child);
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    min-height: 100% !important;
    padding: clamp(22px, 2.4vw, 34px) !important;
    border: 1px solid color-mix(in srgb, var(--bt-activity-accent) 68%, transparent) !important;
    border-radius: 24px !important;
    background:
        radial-gradient(circle at 8% 100%, rgba(159, 189, 79, .12), transparent 25%),
        linear-gradient(145deg, var(--bt-activity-bg) 0%, var(--bt-activity-bg-deep) 100%) !important;
    color: #fff !important;
    box-shadow: 0 18px 38px rgba(4, 39, 29, .22) !important;
    overflow: hidden !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel--adults,
.bt-tarif-extra--activities .bt-activities-panel--adults {
    --bt-activity-accent: var(--bt-activity-adult);
}

/* Fallback de bordure pour les navigateurs sans color-mix. */
@supports not (color: color-mix(in srgb, red 50%, white)) {
    .et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel--children,
    .bt-tarif-extra--activities .bt-activities-panel--children {
        border-color: rgba(168, 200, 63, .72) !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel--adults,
    .bt-tarif-extra--activities .bt-activities-panel--adults {
        border-color: rgba(214, 0, 67, .72) !important;
    }
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel::before,
.bt-tarif-extra--activities .bt-activities-panel::before {
    content: "" !important;
    position: absolute !important;
    inset: auto auto -62px -42px !important;
    width: 220px !important;
    height: 150px !important;
    opacity: .12 !important;
    transform: rotate(-8deg) !important;
    background:
        radial-gradient(ellipse at 22% 55%, var(--bt-activity-accent) 0 8%, transparent 9%),
        radial-gradient(ellipse at 42% 36%, var(--bt-activity-accent) 0 9%, transparent 10%),
        radial-gradient(ellipse at 62% 58%, var(--bt-activity-accent) 0 10%, transparent 11%),
        linear-gradient(76deg, transparent 48%, var(--bt-activity-accent) 49% 51%, transparent 52%) !important;
    pointer-events: none !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel-head,
.bt-tarif-extra--activities .bt-activities-panel-head {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    gap: 10px !important;
    margin: 0 0 18px !important;
    padding: 0 6px 16px !important;
    border: 0 !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel-kicker,
.bt-tarif-extra--activities .bt-activities-panel-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: fit-content !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 7px 18px !important;
    border-radius: 999px !important;
    background: var(--bt-activity-accent) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel--children .bt-activities-panel-kicker,
.bt-tarif-extra--activities .bt-activities-panel--children .bt-activities-panel-kicker {
    color: var(--bt-dark) !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel-kicker-icon,
.bt-tarif-extra--activities .bt-activities-panel-kicker-icon {
    display: inline-flex !important;
    width: 18px !important;
    height: 18px !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel-kicker-icon svg,
.bt-tarif-extra--activities .bt-activities-panel-kicker-icon svg,
.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel-leaf svg,
.bt-tarif-extra--activities .bt-activities-panel-leaf svg,
.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-icon svg,
.bt-tarif-extra--activities .bt-activity-card-icon svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    overflow: visible !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 3 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel-title,
.bt-tarif-extra--activities .bt-activities-panel-title {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0 !important;
    padding-bottom: 12px !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel-title::after,
.bt-tarif-extra--activities .bt-activities-panel-title::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 20% !important;
    bottom: 0 !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, var(--bt-activity-accent), transparent) !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel-title h3,
.bt-tarif-extra--activities .bt-activities-panel-title h3 {
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: clamp(32px, 3vw, 48px) !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: -.02em !important;
    text-align: left !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel-leaf,
.bt-tarif-extra--activities .bt-activities-panel-leaf {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: 42px !important;
    height: 42px !important;
    color: var(--bt-activity-accent) !important;
    transform: rotate(-8deg) !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-items,
.bt-tarif-extra--activities .bt-activities-items {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    gap: 12px !important;
    margin-top: auto !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card,
.bt-tarif-extra--activities .bt-activity-card {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: clamp(12px, 1.5vw, 18px) !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 86px !important;
    margin: 0 !important;
    padding: 11px 14px !important;
    border: 1px solid rgba(255, 255, 255, .32) !important;
    border-radius: 18px !important;
    background: linear-gradient(100deg, #eef5a6 0%, #d7e58b 58%, #c2d477 100%) !important;
    color: var(--bt-dark) !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .13) !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-icon,
.bt-tarif-extra--activities .bt-activity-card-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: 64px !important;
    height: 64px !important;
    padding: 14px !important;
    border-radius: 50% !important;
    background: var(--bt-activity-bg-deep) !important;
    color: var(--bt-activity-child) !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card--adults .bt-activity-card-icon,
.bt-tarif-extra--activities .bt-activity-card--adults .bt-activity-card-icon {
    background: var(--bt-activity-adult) !important;
    color: #fff !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-copy,
.bt-tarif-extra--activities .bt-activity-card-copy {
    min-width: 0 !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-copy h4,
.bt-tarif-extra--activities .bt-activity-card-copy h4 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--bt-dark) !important;
    font-size: clamp(17px, 1.25vw, 21px) !important;
    font-weight: 600 !important;
    line-height: 1.08 !important;
    text-transform: none !important;
    overflow-wrap: anywhere !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-copy p,
.bt-tarif-extra--activities .bt-activity-card-copy p {
    margin: 4px 0 0 !important;
    padding: 0 !important;
    color: rgba(7, 59, 46, .94) !important;
    font-size: clamp(13px, .95vw, 15px) !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-description,
.bt-tarif-extra--activities .bt-activity-card-description {
    font-weight: 500 !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-capacity,
.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-price,
.bt-tarif-extra--activities .bt-activity-card-capacity,
.bt-tarif-extra--activities .bt-activity-card-price {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: clamp(92px, 8.4vw, 112px) !important;
    min-height: 64px !important;
    padding: 8px 10px !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, .92) !important;
    color: var(--bt-dark) !important;
    text-align: center !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .8) !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-capacity strong,
.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-price strong,
.bt-tarif-extra--activities .bt-activity-card-capacity strong,
.bt-tarif-extra--activities .bt-activity-card-price strong {
    display: block !important;
    margin: 0 !important;
    color: var(--bt-dark) !important;
    font-size: clamp(22px, 2vw, 28px) !important;
    font-weight: 700 !important;
    line-height: .95 !important;
    white-space: nowrap !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-capacity strong::before,
.bt-tarif-extra--activities .bt-activity-card-capacity strong::before {
    content: "●●" !important;
    display: inline-block !important;
    margin-right: 6px !important;
    color: var(--bt-activity-child) !important;
    font-size: 8px !important;
    letter-spacing: -2px !important;
    vertical-align: .45em !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-capacity small,
.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-price small,
.bt-tarif-extra--activities .bt-activity-card-capacity small,
.bt-tarif-extra--activities .bt-activity-card-price small {
    display: block !important;
    margin-top: 3px !important;
    color: var(--bt-dark) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-price,
.bt-tarif-extra--activities .bt-activity-card-price {
    flex-direction: row !important;
    gap: 4px !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-price small,
.bt-tarif-extra--activities .bt-activity-card-price small {
    margin: 8px 0 0 !important;
}

@media (max-width: 980px) {
    .et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-grid,
    .bt-tarif-extra--activities .bt-activities-grid {
        grid-template-columns: 1fr !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel,
    .bt-tarif-extra--activities .bt-activities-panel {
        min-height: auto !important;
    }
}

@media (max-width: 767px) {
    .et-db #et-boc .et-l .bt-tarif-extra--activities,
    .bt-tarif-extra--activities {
        padding: 0 !important;
        overflow: visible !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel,
    .bt-tarif-extra--activities .bt-activities-panel {
        padding: 18px !important;
        border-radius: 20px !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel-title h3,
    .bt-tarif-extra--activities .bt-activities-panel-title h3 {
        font-size: clamp(29px, 9vw, 38px) !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel-leaf,
    .bt-tarif-extra--activities .bt-activities-panel-leaf {
        width: 34px !important;
        height: 34px !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card,
    .bt-tarif-extra--activities .bt-activity-card {
        grid-template-columns: 54px minmax(0, 1fr) !important;
        gap: 12px !important;
        min-height: 0 !important;
        padding: 12px !important;
        border-radius: 16px !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-icon,
    .bt-tarif-extra--activities .bt-activity-card-icon {
        align-self: start !important;
        width: 54px !important;
        height: 54px !important;
        padding: 12px !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-capacity,
    .et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-price,
    .bt-tarif-extra--activities .bt-activity-card-capacity,
    .bt-tarif-extra--activities .bt-activity-card-price {
        grid-column: 2 !important;
        justify-self: start !important;
        width: auto !important;
        min-width: 96px !important;
        min-height: 48px !important;
        margin-top: 2px !important;
        padding: 7px 12px !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-capacity strong,
    .et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-price strong,
    .bt-tarif-extra--activities .bt-activity-card-capacity strong,
    .bt-tarif-extra--activities .bt-activity-card-price strong {
        font-size: 22px !important;
    }
}

@media (max-width: 420px) {
    .et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel,
    .bt-tarif-extra--activities .bt-activities-panel {
        padding: 15px !important;
        border-radius: 18px !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card,
    .bt-tarif-extra--activities .bt-activity-card {
        grid-template-columns: 46px minmax(0, 1fr) !important;
        gap: 10px !important;
        padding: 10px !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-icon,
    .bt-tarif-extra--activities .bt-activity-card-icon {
        width: 46px !important;
        height: 46px !important;
        padding: 10px !important;
    }

    .et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-copy h4,
    .bt-tarif-extra--activities .bt-activity-card-copy h4 {
        font-size: 16px !important;
    }
}


/* =====================================================
   ACTIVITÉS EN SUPPLÉMENT — ajustements v1.47.0
   Suppression de la grande zone vide et champs BO libres.
   ===================================================== */
.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-grid,
.bt-tarif-extra--activities .bt-activities-grid {
    align-items: start !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel,
.bt-tarif-extra--activities .bt-activities-panel {
    min-height: 0 !important;
    height: auto !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-items,
.bt-tarif-extra--activities .bt-activities-items {
    margin-top: 0 !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel-kicker-icon img,
.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-panel-leaf img,
.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-icon img,
.bt-tarif-extra--activities .bt-activities-panel-kicker-icon img,
.bt-tarif-extra--activities .bt-activities-panel-leaf img,
.bt-tarif-extra--activities .bt-activity-card-icon img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-subtitle,
.bt-tarif-extra--activities .bt-activity-card-subtitle {
    font-weight: 600 !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activity-card-subtitle + .bt-activity-card-description,
.bt-tarif-extra--activities .bt-activity-card-subtitle + .bt-activity-card-description {
    margin-top: 2px !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-footer,
.bt-tarif-extra--activities .bt-activities-footer {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 20px !important;
    margin-top: 22px !important;
    padding: 20px 22px !important;
    border: 1px solid rgba(15, 61, 47, .12) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .88) !important;
}

.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-footer p,
.et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-footer li,
.bt-tarif-extra--activities .bt-activities-footer p,
.bt-tarif-extra--activities .bt-activities-footer li {
    color: var(--bt-dark) !important;
}

@media (max-width: 767px) {
    .et-db #et-boc .et-l .bt-tarif-extra--activities .bt-activities-footer,
    .bt-tarif-extra--activities .bt-activities-footer {
        grid-template-columns: 1fr !important;
        padding: 18px !important;
    }
}
