/* ABC DANSE - TARIFS */
.tarifs-page{background:var(--home-paper)}
.tarifs-hero{position:relative;overflow:hidden;padding:78px 0 84px;color:#fff;background:radial-gradient(circle at 86% 14%,rgba(238,61,131,.18),transparent 30%),linear-gradient(135deg,#211126,#64184e)}
.tarifs-hero:after{content:'';position:absolute;width:520px;height:520px;right:-190px;top:-250px;border-radius:50%;background:rgba(255,255,255,.05)}
.tarifs-hero-content{position:relative;z-index:1;max-width:820px}
.tarifs-hero .home-kicker{color:#ff85b8}
.tarifs-hero h1{margin:8px 0 20px;color:#fff;font-size:clamp(3.1rem,7vw,6.2rem);line-height:.92;letter-spacing:-.055em;text-transform:uppercase}
.tarifs-hero h1 span{display:block;margin-top:8px;color:#ff4c96;font-size:.58em;font-style:italic;text-transform:none;letter-spacing:-.03em}
.tarifs-hero p{max-width:680px;margin:0;color:rgba(255,255,255,.84);font-size:1.12rem;line-height:1.7}
.tarifs-options{background:#f7f2f5}.tarifs-heading{margin-bottom:36px}
.tarifs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tarifs-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(25,20,33,.06);border-radius:24px;background:#fff;box-shadow:0 12px 34px rgba(31,18,39,.07)}
.tarifs-card-image{display:block;overflow:hidden;aspect-ratio:16/10;background:#eee}
.tarifs-card-image img{position:static!important;display:block;width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .28s ease}
.tarifs-card:hover .tarifs-card-image img{transform:scale(1.025)}
.tarifs-card-content{display:flex;flex:1;flex-direction:column;padding:28px 28px 30px}
.tarifs-card-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;margin-bottom:18px;border-radius:50%;background:linear-gradient(135deg,var(--home-pink),var(--home-purple));color:#fff;font-size:1.35rem}
.tarifs-card h2{margin:0 0 12px;color:var(--home-ink);font-size:1.45rem;text-transform:none}
.tarifs-card p{margin:0 0 24px;color:var(--home-muted);line-height:1.7}
.tarifs-card .home-btn{width:100%;margin-top:auto}
@media(max-width:980px){.tarifs-grid{grid-template-columns:1fr 1fr}.tarifs-card:last-child{grid-column:1/-1;max-width:560px;width:100%;justify-self:center}}
@media(max-width:736px){.tarifs-hero{padding:54px 0 60px}.tarifs-hero h1{font-size:clamp(2.8rem,13vw,4.5rem)}.tarifs-hero p{font-size:1rem}.tarifs-grid{grid-template-columns:1fr}.tarifs-card:last-child{grid-column:auto;max-width:none}.tarifs-card-content{padding:24px 22px 26px}}



/* ==========================================================================
   TARIFS - COURS COLLECTIFS
   ========================================================================== */

.tarifs-back{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:24px;
    color:rgba(255,255,255,.82)!important;
    text-decoration:none;
    font-size:.9rem;
    font-weight:600;
}

.tarifs-back:hover,
.tarifs-back:focus-visible{
    color:#fff!important;
}

.tarifs-section-heading{
    margin-bottom:28px;
}

.tarifs-section-heading-spaced{
    margin-top:58px;
}

.tarifs-grid-two{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.tarifs-card-kicker{
    margin-bottom:7px;
    color:var(--home-purple);
    font-size:.78rem;
    font-weight:700;
    /*letter-spacing:.08em;*/
    text-transform:uppercase;
}

.tarifs-price-intro{
    display:flex;
    align-items:baseline;
    gap:8px;
    margin-bottom:18px!important;
    color:var(--home-muted);
    font-size:.95rem;
}

.tarifs-price{
    color:var(--home-ink);
    font-size:1.7rem;
    line-height:1;
}

@media(max-width:736px){
    .tarifs-grid-two{
        grid-template-columns:1fr;
    }

    .tarifs-section-heading-spaced{
        margin-top:44px;
    }

    .tarifs-price{
        font-size:1.55rem;
    }
}

.tarifs-icon-duo{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:2px;
    line-height:1;
}

.tarifs-icon-duo .fa{
    font-size:.82em;
}


/* ==========================================================================
   TARIFS - FICHE PRODUIT / FORFAIT ANNUEL
   ========================================================================== */

.tarifs-product-intro{
    background:#fff;
}

.tarifs-product-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:46px;
    align-items:center;
}

.tarifs-product-image{
    overflow:hidden;
    border-radius:24px;
    background:#eee;
    box-shadow:var(--home-shadow);
}

.tarifs-product-image img{
    position:static!important;
    display:block;
    width:100%!important;
    height:auto!important;
}

.tarifs-benefits-lead{
    color:var(--home-muted);
    line-height:1.7;
}

.tarifs-benefit-groups{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-top:34px;
}

.tarifs-benefit-group{
    padding:20px 22px;
    border:1px solid rgba(25,20,33,.07);
    border-radius:18px;
    background:#fbf7fa;
}

.tarifs-benefit-group h3{
    display:flex;
    align-items:center;
    gap:9px;
    margin:0 0 12px;
    color:var(--home-ink);
    font-size:1rem;
    text-transform:none;
}

.tarifs-benefit-group h3 i{
    color:var(--home-purple);
}

.tarifs-benefit-group ul{
    display:grid;
    gap:8px;
    margin:0;
    padding:0;
    list-style:none;
}

.tarifs-benefit-group li{
    display:flex;
    align-items:flex-start;
    gap:9px;
    color:var(--home-muted);
    line-height:1.5;
}

.tarifs-benefit-group li i{
    margin-top:4px;
    color:#3b8d55;
}

.tarifs-product-description{
    background:#f7f2f5;
}

.tarifs-info-card{
    max-width:980px;
    margin:0 auto;
    padding:38px 42px;
    border:1px solid rgba(25,20,33,.06);
    border-radius:24px;
    background:#fff;
    box-shadow:0 12px 34px rgba(31,18,39,.06);
}

.tarifs-info-card > p{
    color:var(--home-muted);
    line-height:1.78;
}

.tarifs-info-highlight{
    display:grid;
    grid-template-columns:46px 1fr;
    gap:16px;
    margin:28px 0;
    padding:22px;
    border-radius:18px;
    background:#f6edf4;
}

.tarifs-info-highlight > i{
    color:var(--home-purple);
    font-size:1.55rem;
}

.tarifs-info-highlight strong{
    display:block;
    margin-bottom:6px;
    color:var(--home-ink);
}

.tarifs-info-highlight p{
    margin:0;
    color:var(--home-muted);
    line-height:1.65;
}

.tarifs-small-note{
    margin-bottom:0!important;
    font-size:.9rem;
    font-style:italic;
}

.tarifs-prices-section{
    background:#fff;
}

.tarifs-couple-price-notice{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    max-width:850px;
    margin:0 auto 28px;
    padding:15px 20px;
    border:1px solid rgba(119,42,105,.14);
    border-radius:16px;
    background:#f6edf4;
    color:var(--home-ink);
    text-align:center;
}

.tarifs-couple-price-notice i{
    flex:0 0 auto;
    color:var(--home-purple);
    font-size:1.2rem;
}

.tarifs-price-couple-label{
    margin-top:-16px;
    color:var(--home-ink);
    font-size:.88rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.055em;
}

.tarifs-price-person{
    margin:7px 0 22px;
    color:var(--home-muted);
    font-size:.86rem;
}

.tarifs-price-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}

.tarifs-price-card{
    display:flex;
    flex-direction:column;
    padding:28px 22px;
    border:1px solid rgba(25,20,33,.07);
    border-radius:22px;
    background:#fff;
    box-shadow:0 10px 30px rgba(31,18,39,.06);
    text-align:center;
}

.tarifs-price-card h3{
    min-height:48px;
    margin:0 0 18px;
    color:var(--home-ink);
    font-size:1rem;
    text-transform:none;
}

.tarifs-price-card-value{
    margin-bottom:24px;
    color:var(--home-purple);
    font-size:2rem;
    font-weight:700;
}

.tarifs-price-card .home-btn{
    width:100%;
    margin-top:auto;
}

.tarifs-payment-section{
    background:#f7f2f5;
}

.tarifs-payment-card{
    max-width:980px;
    margin:0 auto;
    padding:36px 40px;
    border-radius:24px;
    background:#1c1621;
    color:#fff;
}

.tarifs-payment-card h2{
    margin:0 0 20px;
    color:#fff;
    text-transform:none;
}

.tarifs-payment-card .home-kicker{
    color:#ff85b8;
}

.tarifs-payment-card > ul{
    display:grid;
    gap:11px;
    margin:0;
    padding:0;
    list-style:none;
}

.tarifs-payment-card > ul li{
    display:flex;
    align-items:flex-start;
    gap:10px;
    color:rgba(255,255,255,.86);
    line-height:1.55;
}

.tarifs-payment-card > ul li i{
    margin-top:4px;
    color:#ff85b8;
}

.tarifs-legal-notes{
    margin-top:28px;
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.14);
}

.tarifs-legal-notes p{
    margin:0 0 10px;
    color:rgba(255,255,255,.62);
    font-size:.88rem;
    line-height:1.55;
}

.tarifs-legal-notes a{
    color:#fff!important;
}

@media(max-width:980px){

    .tarifs-product-grid{
        grid-template-columns:1fr;
    }

    .tarifs-benefit-groups{
        grid-template-columns:1fr;
    }

    .tarifs-price-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:736px){

    .tarifs-info-card,
    .tarifs-payment-card{
        padding:28px 22px;
    }

    .tarifs-info-highlight{
        grid-template-columns:1fr;
    }

    .tarifs-price-grid{
        grid-template-columns:1fr;
    }

    .tarifs-price-card h3{
        min-height:0;
    }
}



/* ==========================================================================
   TARIFS - FORMULES À LA SÉANCE
   ========================================================================== */

.tarifs-benefit-groups-session{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.tarifs-warning-note{
    display:grid;
    grid-template-columns:46px 1fr;
    gap:16px;
    margin-top:22px;
    padding:22px;
    border:1px solid rgba(210,143,42,.18);
    border-radius:18px;
    background:#fff8ed;
}

.tarifs-warning-note > i{
    color:#c77a13;
    font-size:1.55rem;
}

.tarifs-warning-note strong{
    display:block;
    margin-bottom:6px;
    color:var(--home-ink);
}

.tarifs-warning-note p{
    margin:0;
    color:var(--home-muted);
    line-height:1.65;
}

.tarifs-price-unavailable{
    margin-top:auto;
    padding:12px 14px;
    border:1px solid rgba(25,20,33,.12);
    border-radius:999px;
    background:#f4f1f3;
    color:var(--home-muted);
    font-size:.8rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.tarifs-payment-intro{
    margin:0 0 24px;
    color:rgba(255,255,255,.82);
    line-height:1.65;
}

.tarifs-conditions-list{
    display:grid;
    gap:8px;
    margin:8px 0 20px;
    padding-left:20px;
    color:rgba(255,255,255,.72);
    font-size:.88rem;
    line-height:1.55;
}

@media(max-width:980px){
    .tarifs-benefit-groups-session{
        grid-template-columns:1fr;
    }
}

@media(max-width:736px){
    .tarifs-warning-note{
        grid-template-columns:1fr;
    }
}

/* ==========================================================================
   TARIFS - CARTES COURS COLLECTIFS : EN-TÊTE COMPACT
   ========================================================================== */
.tarifs-grid-two .tarifs-card-heading{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:18px;
}
.tarifs-grid-two .tarifs-card-heading .tarifs-card-icon{
    flex:0 0 58px;
    margin-bottom:0;
}
.tarifs-grid-two .tarifs-card-heading-text{min-width:0}
.tarifs-grid-two .tarifs-card-title-line{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:6px;
    margin-bottom:3px;
}
.tarifs-grid-two .tarifs-card-title-line .tarifs-card-kicker{margin:0}
.tarifs-grid-two .tarifs-card-title-separator{
    color:var(--home-purple);
    font-size:.9rem;
    line-height:1;
}
.tarifs-grid-two .tarifs-card-title-line h2{
    margin:0;
    font-size:1.45rem;
    line-height:1.15;
}
.tarifs-grid-two .tarifs-card-heading .tarifs-price-intro{
    margin:0!important;
    line-height:1.1;
}
@media(max-width:736px){
    .tarifs-grid-two .tarifs-card-heading{gap:14px;margin-bottom:16px}
    .tarifs-grid-two .tarifs-card-heading .tarifs-card-icon{
        flex-basis:54px;
        width:54px;
        height:54px;
    }
    .tarifs-grid-two .tarifs-card-title-line{gap:5px;margin-bottom:2px}
    .tarifs-grid-two .tarifs-card-title-line h2{font-size:1.1rem}
}

/* ==========================================================================
   TARIFS - CARTES COURS PARTICULIERS : EN-TÊTE COMPACT
   ========================================================================== */
.tarifs-grid-particuliers .tarifs-card-heading{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:16px;
}
.tarifs-grid-particuliers .tarifs-card-heading .tarifs-card-icon{
    flex:0 0 58px;
    margin-bottom:0;
}
.tarifs-grid-particuliers .tarifs-card-heading-text{min-width:0}
.tarifs-grid-particuliers .tarifs-card-heading-text h2{
    margin:0 0 3px;
    font-size:1.35rem;
    line-height:1.15;
}
.tarifs-grid-particuliers .tarifs-card-heading .tarifs-price-intro{
    margin:0!important;
    line-height:1.1;
}
@media(max-width:736px){
    .tarifs-grid-particuliers .tarifs-card-heading{gap:12px;margin-bottom:15px}
    .tarifs-grid-particuliers .tarifs-card-heading .tarifs-card-icon{
        flex-basis:54px;width:54px;height:54px;
    }
    .tarifs-grid-particuliers .tarifs-card-heading-text h2{font-size:1.25rem}
}

/* ==========================================================================
   TARIFS - CARTES BONS CADEAUX : EN-TÊTE COMPACT
   ========================================================================== */

.tarifs-grid-cadeaux .tarifs-card-heading{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:16px;
}

.tarifs-grid-cadeaux .tarifs-card-heading .tarifs-card-icon{
    flex:0 0 58px;
    margin-bottom:0;
}

.tarifs-grid-cadeaux .tarifs-card-heading-text{
    min-width:0;
}

.tarifs-grid-cadeaux .tarifs-card-title-line{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:6px;
    margin-bottom:3px;
}

.tarifs-grid-cadeaux .tarifs-card-title-line .tarifs-card-kicker{
    margin:0;
}

.tarifs-grid-cadeaux .tarifs-card-title-separator{
    color:var(--home-purple);
    font-size:.9rem;
    line-height:1;
}

.tarifs-grid-cadeaux .tarifs-card-title-line h2{
    margin:0;
    font-size:1.35rem;
    line-height:1.15;
}

.tarifs-grid-cadeaux .tarifs-card-heading .tarifs-price-intro{
    margin:0!important;
    line-height:1.1;
}

@media(max-width:736px){
    .tarifs-grid-cadeaux .tarifs-card-heading{
        gap:12px;
        margin-bottom:15px;
    }

    .tarifs-grid-cadeaux .tarifs-card-heading .tarifs-card-icon{
        flex-basis:54px;
        width:54px;
        height:54px;
    }

    .tarifs-grid-cadeaux .tarifs-card-title-line{
        gap:5px;
        margin-bottom:2px;
    }

    .tarifs-grid-cadeaux .tarifs-card-title-line h2{
        font-size:1.2rem;
    }
}
/* ==========================================================================
   TARIFS - PAGE PRINCIPALE : EN-TÊTE DE CARTE COMPACT
   ========================================================================== */

.tarifs-grid-index .tarifs-card-heading{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:16px;
}

.tarifs-grid-index .tarifs-card-heading .tarifs-card-icon{
    flex:0 0 58px;
    margin-bottom:0;
}

.tarifs-grid-index .tarifs-card-heading-text{
    min-width:0;
}

.tarifs-grid-index .tarifs-card-heading-text h2{
    margin:0;
    font-size:1.45rem;
    line-height:1.15;
}

@media(max-width:736px){
    .tarifs-grid-index .tarifs-card-heading{
        gap:12px;
        margin-bottom:15px;
    }

    .tarifs-grid-index .tarifs-card-heading .tarifs-card-icon{
        flex-basis:54px;
        width:54px;
        height:54px;
    }

    .tarifs-grid-index .tarifs-card-heading-text h2{
        font-size:1.3rem;
    }
}

