/* Groupes Section Styles
   ========================================================================== */

#groupes .bg-page-header-main,
#groupes .bg-page-header {
    height: 585px;
    border-radius: 0 0 99px 99px;
    /*background-image: radial-gradient(50% 75% at 50% 25%, #FFDF64FF 0%, #FFCB0500 100%),radial-gradient(142% 91% at 111% 84%, #FFDF64FF 0%, #FFCB05FF 100%);*/
    background-color: #FFCB05;
    padding: 64px !important;
    position: relative;
}

#groupes .bg-page-header-main {
    height: 585px;
    border-radius: 0 0 99px 99px;
    background-image: radial-gradient(50% 75% at 50% 25%, #FFDF64FF 0%, #FFCB0500 100%), radial-gradient(142% 91% at 111% 84%, #FFDF64FF 0%, #FFCB05FF 100%);
    padding: 64px !important;
    position: relative;
}

.bg-page-header-main .underline-text::after {
    background-image: url("../images/img-underline-white.svg");
    opacity: 0.5;
}

#groupes h1 {
    font-size: 2.563rem;
    font-weight: 700;
    -webkit-transition: font-size .5s ease;
    -moz-transition: font-size .5s ease;
    -o-transition: font-size .5s ease;
    transition: font-size .5s ease;
}

#groupes .bg-page-header-main h1 {
    margin-top: 30px;
    text-transform: uppercase;
    font-size: 42px;
    font-weight: 700;
}

#groupes .bg-page-header {
    height: 450px;
    border-radius: 0 0 99px 99px;
    background:
        radial-gradient(circle at 65% 30%, #FFDF64 0%, transparent 60%),
        linear-gradient(180deg, #FFDF64 0%, #FFCB05 90%, #FFCB05 100%);

    /*background-image: radial-gradient(50% 75% at 50% 25%, #FFDF64FF 0%, #FFCB0500 100%),radial-gradient(142% 91% at 111% 84%, #FFDF64FF 0%, #FFCB05FF 100%);*/
    padding: 64px !important;
}


#groupes .bg-page-header h1.groupes-sub-cat {
    margin-top: 30px;
    text-transform: uppercase;
    font-size: 25px;
    font-weight: 700;
    color: #353739;
}

#groupes .bg-page-header .header-title {
    font-size: 42px;
}

#groupes .bg-page-header.faq h1 {
    color: #fff;
    margin-top: 0;
}

#groupes .bg-page-header h3 {
    color: #fff;
    font-size: 43px;
}

#groupes .bg-page-header-main img,
#groupes .bg-page-header img {
    border-radius: 51px;
}

/* Desktop staggered styles */
@media (min-width: 1025px) {
    .stagger-1 {
        margin-top: 40px;
    }

    .stagger-2 {
        margin-top: 10px;
    }

    .stagger-3 {
        margin-top: 60px;
    }

    #groupes .bg-page-header-main img {
        width: 420px;
        height: 395px;
        object-fit: cover;
    }
}

#groupes .bg-short-header {
    height: 200px;
    border-radius: 0 0 6.188rem 6.188rem;
    background-image: radial-gradient(50% 75% at 50% 25%, #FFDF64FF 0%, #FFCB0500 100%), radial-gradient(142% 91% at 111% 84%, #FFDF64FF 0%, #FFCB05FF 100%);
    padding: 4rem !important;
    position: relative;
}

.bg-testimonials {
    padding: 5rem 0;
}

#groupes .callout-advantages h1 {
    margin: 3rem 0 5rem 0;
}

.callout-advantages h3 {
    font-size: 20px;
    font-weight: 600;
    text-transform: uppercase;
    margin: 1rem 0;
}

#groupes .callout-faq h1 {
    color: #FFCB05;
}

#groupes .callout-faq h3 {
    font-size: 23px;
    font-weight: 400;
}

#navbarNav li.groupes a:hover {
    color: #FFCB05 !important;
}

#navbarNav li.groupes a.active,
#navbarNav li.groupes a.active svg path {
    color: #FFCB05 !important;
    background-color: transparent;
}

#navbarNav .groupes .dropdown-item {
    color: #fff !important;
    text-transform: none;
    font-size: 1.25rem;
}

#navbarNav .groupes .dropdown-item:hover {
    color: #FFCB05 !important;
    background-color: transparent !important;
}

#navbarNav .groupes:hover svg path {
    stroke: #FFCB05 !important;
}

#groupes.groupes-main #page-header {
    background-color: #fff !important;
}

#groupes #page-header {
    background-color: #FFCB05 !important;
}

.groupes-main .bg-page-header {
    /*background-image: radial-gradient(50% 75% at 50% 25%, #FFDF64FF 0%, #FFCB0500 100%),radial-gradient(142% 91% at 111% 84%, #FFDF64FF 0%, #FFCB05FF 100%);*/
    background-color: #FFCB05;
    color: #353739;

}

#groupes .bg-page-header.short {
    border-radius: 0 !important;
    height: 250px;
}

#groupes .bg-page-header.short.faq {
    background:
        radial-gradient(circle at 60% 30%, #626364 0%, transparent 60%),
        linear-gradient(180deg, #3F4142 0%, #3F4142 90%, #3F4142 100%);
    color: #fff;

}

#groupes .bg-page-header.top-border {
    padding: 2rem 4rem 7rem 4rem !important;
    border-top: 10px solid #ED1C24;
    height: 100px;
}

.groupes-main .bg-page-content {
    background-color: #FFCB05;
    background: linear-gradient(0deg, #EEECE8 50%, #FFCB05 50%);
}

#groupes .bg-page-content.dark {
    background: linear-gradient(0deg, #EEECE8 50%, #3F4142 50%);
}

#groupes .content-wrapper {
    background-color: #FFCB05;
}

.bg-callout-groupes {
    background-color: #FFCB05;
    border-radius: 6.25rem;
    padding: 4rem;
    margin-bottom: 4rem !important;
}

#groupes .popular-packages.bg-callout-content {
    padding: 60px 50px 70px 50px;
}

#groupes .popular-packages .carousel-wrapper {
    position: relative;
    overflow: hidden;
    margin-bottom: 0;
    padding-bottom: 0;
}

#groupes .popular-packages .carousel-wrapper.three-cards .carousel-card {
    width: calc((100% - 2rem) / 3) !important;
}

#groupes .popular-packages .container.item-img {
    position: relative;
    width: 100%;
    max-width: 350px;
    /* adjust as needed */
    margin: 0;
}

#groupes .card-img-top {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
}

#groupes .callout-staff .card-img-top {
    border-radius: 64.125rem;
}

#groupes .popular-packages .card-track {
    padding-bottom: 80px;
}

#groupes .popular-packages .carousel-card .card-body img {
    height: 260px;
    object-fit: cover;
    border-radius: 23.5px;
}

#groupes .popular-packages .carousel-card .card-body {
    padding: 0 20px 0 0;
}

#groupes .popular-packages .item-img .icon {
    top: 215px !important;
}

#groupes .popular-packages .item-img .icon.groupes,
#portail-groupes .trip-list .icon.groupes {
    background-color: #FFCB05;
}

#groupes .popular-packages .carousel-card .card-title {
    font-size: 18px;
    font-weight: 700;
    margin-top: 17px;
    text-transform: uppercase;
}

#groupes .popular-packages .carousel-card .card-text {
    font-size: 16px;
    font-weight: 400;
}


#groupes .popular-packages .carousel-wrapper .carousel-controls {
    position: absolute;
    bottom: 0;
    right: 60px;
    z-index: 10;
}

.bg-staff {
    background: linear-gradient(0deg, #414042 50%, #EEECE8 50%);
}

.bg-staff-dark {
    background: linear-gradient(0deg, #EEECE8 50%, #353739 50%);
}

.bg-faq {
    background-color: #353739;
    border-radius: 4.438rem;
    color: #fff;
    padding: 5rem 3rem 4.5rem;
}

#groupes .faq-wrapper {
    padding: 0;
    background: linear-gradient(0deg, #414042 34.15%, #EEECE8 50%);
}

#groupes.page-template-template-groupes-scolaire .faq-wrapper{
    padding: 0;
    background: #FFCB05;
}

#groupes.page-template-template-groupes-scolaire .faq-wrapper a {
    color: #FFCB05;
}

/* ── FAQ embarquée (pages Groupes / Scolaire) — accordéon design sombre ───── */
#groupes .groupes-faq-section .callout-faq {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}

#groupes .callout-faq .groupes-faq-title {
    color: #FFCB05;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 0.75rem;
}

#groupes .callout-faq .groupes-faq-subtitle {
    color: #fff;
    font-size: 23px;
    font-weight: 400;
    margin: 0 auto 2rem;
    max-width: 640px;
    padding-bottom: 1.5rem;
    /* border-bottom: 1px solid #888; */
}

#groupes .groupes-faq-accordion,
#groupes #faq-groupes {
    --bs-accordion-bg: transparent;
    --bs-accordion-border-color: transparent;
    --bs-accordion-btn-bg: transparent;
    --bs-accordion-active-bg: transparent;
    --bs-accordion-active-color: #fff;
    --bs-accordion-btn-color: #fff;
    --bs-accordion-btn-focus-box-shadow: none;
    background: transparent;
    border: none;
}

#groupes .groupes-faq-accordion .accordion-item,
#groupes #faq-groupes .accordion-item {
    border: none;
    background: transparent;
}

#groupes .groupes-faq-accordion .accordion-button,
#groupes #faq-groupes .accordion-button {
    background-color: transparent !important;
    color: #fff !important;
    font-weight: 400;
    font-size: 19px;
    line-height: 1.3;
    border: none;
    border-top: 1px solid #888;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 1.25rem 0;
    gap: 1rem;
}

#groupes .groupes-faq-accordion .accordion-item:first-of-type .accordion-button,
#groupes #faq-groupes .accordion-item:first-of-type .accordion-button {
    border-top: 1px solid #888;
}

#groupes .groupes-faq-accordion .accordion-button:not(.collapsed),
#groupes #faq-groupes .accordion-button:not(.collapsed) {
    background-color: transparent !important;
    color: #fff !important;
    box-shadow: none !important;
}

#groupes .groupes-faq-accordion .accordion-button::after,
#groupes #faq-groupes .accordion-button::after {
    width: 40px;
    height: 40px;
    min-width: 40px;
    background-color: #FFCB05;
    border-radius: 50%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23353739' viewBox='0 0 16 16'%3E%3Cpath d='M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4'/%3E%3C/svg%3E");
    background-position: 50% 50%;
    background-size: 16px 16px;
    flex-shrink: 0;
}

#groupes .groupes-faq-accordion .accordion-button:not(.collapsed)::after,
#groupes #faq-groupes .accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23353739' viewBox='0 0 16 16'%3E%3Cpath d='M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8'/%3E%3C/svg%3E");
}

#groupes .groupes-faq-accordion .accordion-body,
#groupes #faq-groupes .accordion-body {
    color: #fff !important;
    background: transparent;
    padding: 0 3.5rem 1.5rem 0;
    line-height: 1.6;
    font-size: 16px;
    font-weight: 400;
}

#groupes .groupes-faq-accordion .accordion-body p,
#groupes #faq-groupes .accordion-body p {
    color: #fff;
    margin-bottom: 0.75rem;
}

#groupes .groupes-faq-accordion .accordion-body p:last-child,
#groupes #faq-groupes .accordion-body p:last-child {
    margin-bottom: 0;
}

#groupes .packages-wrapper {
    padding: 0;
    background: linear-gradient(0deg, #353739 50%, #EEECE8 50%);
}

#groupes .bg-callout-groupes.transparent {
    background-color: transparent;
    padding: 0 4rem;
}

.bg-callout-groupes .bg-callout-content h2 {
    font-size: 24px !important;
    font-weight: 600;
    margin: 1rem auto;
}

.bg-callout-groupes .bg-callout-content a {
    position: relative;
    z-index: 1;
    text-decoration: none;
    color: #353739;
    font-weight: 500;
}

.bg-callout-groupes .bg-callout-content a:hover {
    opacity: 0.75;
}

.bg-callout-groupes .bg-callout-content a .underline:after {
    border-top: solid 5px #FFCB05;
}

.bg-callout-groupes .bg-callout-content.transparent {
    background-color: transparent;
}

.callout-advantages {
    margin: 2rem 0;
}

#groupes .callout-staff {
    background-color: #fff;
    border-radius: 4.438rem;
    padding: 3rem 0;
}

#groupes .callout-staff p {
    width: 80%;
    margin: 0 auto;
}

#groupes #carouselStaff {
    padding-bottom: 3rem !important;
}

#groupes .btn-submit {
    border-radius: 4.125rem;
    padding: 18px 44px;
    font-weight: 600;
    color: #fff !important;
}

#groupes .btn-submit:hover {
    color: #353739 !important;
}

#home .btn-groupes,
.btn-groupes,
a.btn-groupes {
    background-color: #FFCB05 !important;
    border: 1px solid #FFCB05;
    color: #fff !important;
    text-transform: uppercase;
    font-weight: 600 !important;
    font-size: 1.063rem;
    padding: 1.125rem 2.75rem;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

#home .card-button .btn-groupes,
#home .card-button .btn-ski,
#home .card-button .btn-sportifs {
    font-size: 14px;
    padding: 15.39px 37.62px;
    width: 208px;
}

#home .btn-groupes:hover,
.btn-groupes:hover,
a.btn-groupes:hover {
    background-color: #fff !important;
    border: 1px solid #FFCB05;
    color: #FFCB05 !important;
}

#groupes .btn-groupes-dark {
    background-color: #353739 !important;
    border: 1px solid #353739;
    color: #FFCB05;
}

#groupes .btn-groupes-dark:hover {
    background-color: transparent !important;
    border: 1px solid #353739;
    color: #353739;
    opacity: 1.0 !important;
}

#groupes .callout-intro .intro-links a {
    font-size: 24px;
    font-weight: 600;
    line-height: 49px;
    text-decoration: none;
    color: #353739;
    transition: .5s all ease;
}

#groupes .callout-intro .intro-links a:hover {
    margin-left: 5px;
    opacity: 0.5;
}

#groupes .callout-intro .icon {
    width: 117px;
    height: 117px;
    border-radius: 50%;
    background-color: #353739;
    line-height: 117px;
    text-align: center;
    margin: 0 auto;
}

#groupes .callout-intro .text {
    padding-top: 20px;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
}

.bottom-border {
    border-bottom: 1px solid #888;
}

#groupes .image-gallery {
    border-radius: 0 0 4.438rem 4.438rem;
    background: linear-gradient(180deg, #414042 34.15%, #000 58.31%);
    padding: 4.438rem;
}

#groupes.page-template-template-groupes-scolaire .callout-portal {
    background-color: #FFCB05;
    padding: 5rem;
    color: #353739;
}

#groupes .callout-portal {
    background-color: #353739;
    padding: 5rem;
    color: #fff;
}

#groupes .callout-portal h1 {
    color: #FFCB05;
    margin-bottom: 2rem;
}

#groupes .callout-portal .portal-rich-text p:last-child {
    margin-bottom: 0;
}

#groupes .callout-portal .portal-rich-text ul,
#groupes .callout-portal .portal-rich-text ol {
    text-align: left;
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
}

#groupes .gs-rich-text p:last-child,
#groupes .portal-rich-text p:last-child,
#groupes .intro-groupes-rich p:last-child {
    margin-bottom: 0;
}

#groupes .popular-packages .gs-rich-text .weight500,
#groupes .gs-rich-text .weight500 {
    font-weight: 500;
}

.groupes .accordion-button {
    background-color: transparent;
    border-radius: 0;
    margin-bottom: 1.5rem;
    border-top: 1px solid #888;
}

.groupes #questions .accordion-button {
    margin-bottom: 0;
}

.groupes .accordion-button::after {
    width: 35px;
    height: 35px;
    background-color: #FFCB05;
    border-radius: 50%;
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-plus" viewBox="0 0 16 16"%3E%3Cpath d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4"/%3E%3C/svg%3E');
    background-position: 50% 50%;
}

.groupes .accordion-button:not(.collapsed)::after {
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-dash" viewBox="0 0 16 16"%3E%3Cpath d="M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8"/%3E%3C/svg%3E');
}


.groupes .accordion-item {
    border: none;
    background-color: transparent;
}

.groupes .accordion-item:first-of-type>.accordion-header .accordion-button {
    border-radius: 0;
    box-shadow: none;
}

.groupes .accordion-item:last-of-type>.accordion-header .accordion-button.collapsed {
    border-radius: 0;
}

.groupes .accordion-button:not(.collapsed) {
    box-shadow: none;
    color: #fff;
}

.groupes .accordion-button {
    font-weight: 600;
    color: #fff;
}

.groupes .accordion-body {
    color: #fff;
    padding-top: 0;
    line-height: 24px;
}

#groupes .callout-form {
    background-color: #FFCB05;
    padding: 4rem;
    border-bottom-left-radius: 4.438rem;
    border-bottom-right-radius: 4.438rem;
}

#groupes .callout-form .form-fields {
    padding: 0 20rem;
}

#groupes .packages-info {
    background-color: #fff;
    border-radius: 4.438rem;
    padding: 3rem;
}

#groupes .question-info.faq-question-info {
    background-color: #fff;
    border-radius: 4.438rem;
    padding: 3rem;
}

#groupes .packages-info .options-list ul,
#groupes .question-info .options-list ul {
    list-style-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='12' viewBox='0 0 20 12' fill='none'%3E%3Cpath d='M19.5303 6.53033C19.8232 6.23744 19.8232 5.76256 19.5303 5.46967L14.7574 0.6967C14.4645 0.403807 13.9896 0.403807 13.6967 0.6967C13.4038 0.989593 13.4038 1.46447 13.6967 1.75736L17.9393 6L13.6967 10.2426C13.4038 10.5355 13.4038 11.0104 13.6967 11.3033C13.9896 11.5962 14.4645 11.5962 14.7574 11.3033L19.5303 6.53033ZM0 6L-5.17635e-08 6.75L19 6.75L19 6L19 5.25L5.17635e-08 5.25L0 6Z' fill='%23353739'/%3E%3C/svg%3E");
}

#groupes .packages-info .options-list li,
#groupes .question-info .options-list li {
    border-bottom: 1px solid #353739;
    padding: 1rem 0;
}

#groupes .packages-info .options-list li:first-child,
#groupes .question-info .options-list li:first-child {
    border-top: 1px solid #353739;
}

#groupes .packages-info .options-list li a,
#groupes .question-info .options-list li a {
    text-decoration: none;
    color: #353739;
    font-weight: 500;
    transition: .5s all ease;
}

#groupes .packages-info .options-list li a:hover,
#groupes .question-info .options-list li a:hover {
    margin-left: 5px;
    opacity: 0.5;
}

#package-details .accordion-button,
#questions .accordion-button {
    background-color: transparent;
    border-radius: 0;
    border-top: 1px solid #888;
}

#package-details .accordion-button::after,
#questions .accordion-button::after {
    width: 35px;
    height: 35px;
    background-color: #00BFF3;
    border-radius: 50%;
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="white" class="bi bi-plus" viewBox="0 0 16 16"%3E%3Cpath d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4"/%3E%3C/svg%3E');
    background-position: 50% 50%;
}

#questions .accordion-button.groupes::after {
    background-color: #FFCB05 !important;
}

#package-details .accordion-button:not(.collapsed)::after,
#questions .accordion-button:not(.collapsed)::after {
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="white" class="bi bi-dash" viewBox="0 0 16 16"%3E%3Cpath d="M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8"/%3E%3C/svg%3E');
}


#package-details .accordion-item,
#questions .accordion-item {
    border: none;
    background-color: transparent;
}

#package-details .accordion-item:first-of-type>.accordion-header .accordion-button,
#questions .accordion-item:first-of-type>.accordion-header .accordion-button {
    border-radius: 0;
    box-shadow: none;
}

#package-details .accordion-item:last-of-type>.accordion-header .accordion-button.collapsed,
#questions .accordion-item:last-of-type>.accordion-header .accordion-button.collapsed {
    border-radius: 0;
}

#package-details .accordion-button:not(.collapsed),
#questions .accordion-button:not(.collapsed) {
    box-shadow: none;
}

#package-details .accordion-button,
#questions .accordion-button {
    font-weight: 600;
    color: #353739;
    font-size: 24px;
}

#package-details .accordion-item:first-of-type .accordion-button {
    text-transform: uppercase;
}

#questions .accordion-button {
    font-size: 20px;
}

#package-details .accordion-item:not(:first-of-type) .accordion-button {
    font-size: 20px;
}

#package-details .accordion-body,
#questions .accordion-body {
    padding-top: 0;
    line-height: 24px;
    padding-right: 4rem;
    color: #353739 !important;
}

.collapse.show {
    display: block !important;
}

.accordion-header.ski button{
    color: #00BFF3 !important;
}

.accordion-header.sportifs button{
    color: #ED1C24 !important;
}

.accordion-header.evasion button{
    color: #9DCA39 !important;
}

#package-details .accordion-body img {
    border-radius: 51px;
    max-width: 560px;
    margin: 20px 0;
}

.question-info .options-menu ul li.groupes.active,
.question-info .options-menu ul li.groupes:hover {
    background-color: #FFCB05;
    color: #fff;
    border: 1px solid #FFCB05;
}

#groupes .question-info .options-list li.groupes.active a {
    color: #FFCB05;
}

#groupes .question-info h3 {
    text-transform: uppercase;
    color: #888;
    font-size: 15px;
    margin-left: 30px;
    padding: 20px 0;
}

.bg-page-header .filters .options-menu .btn {
    border-radius: 0.438rem;
    padding: 0.938rem 1.813rem;
    border: 1px solid #fff;
    ;
    background-color: transparent;
    color: #fff;
    text-transform: uppercase;
    font-weight: 500;
    margin-right: 0.5rem;
    opacity: 0.75;
}

.bg-page-header .filters ul li {
    display: inline-block;
    margin: 0;
    list-style: none;
    padding: 10px 15px;
    cursor: pointer;
    -webkit-transition: all 05s ease;
    -moz-transition: all 05s ease;
    -ms-transition: all 05s ease;
    -o-transition: all 05s ease;
    transition: all .5s ease;
}

#groupes .bg-page-header .filters .options-menu .btn.groupes:hover,
#groupes .bg-page-header .filters .options-menu .btn.groupes.active {
    background-color: #FFCB05 !important;
    border: 1px solid #FFCB05;
    opacity: 1.0;
}

#groupes .packages-info .options-menu ul li a {
    text-decoration: none;
    color: #353739;
}

#groupes .faq .options-menu ul li a {
    text-decoration: none;
    color: #fff;
}

#groupes .packages-info .options-menu ul li:hover a,
#groupes .packages-info .options-menu ul li.active a,
#groupes .faq .options-menu ul li:hover a,
#groupes .faq .options-menu ul li.active a {
    color: #fff;
}

#groupes .dropdown-toggle,
#portail-groupes .dropdown-toggle,
#espace-client .dropdown-toggle {
    display: none;
    background: #353739;
    background-color: #353739;
    border-radius: 9px;
    border: 1px solid #fff;
    padding: 10px 16px;
    font-size: 16px;
    color: #fff;
    width: 100%;
    text-align: left;
    position: relative;
}

/* Position the icon on the right */
#groupes .dropdown-icon,
#portail-groupes .dropdown-icon,
#espace-client .dropdown-icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    /* so clicks still hit the button */
}

/* Testimonials */
#groupes .callout-testimonials .carousel-wrapper {
    position: relative;
    overflow: hidden;
    margin-bottom: 0;
}

#groupes .callout-testimonials .card-track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 1rem;
    padding-left: 1rem;
}

#groupes .callout-testimonials .card-track::-webkit-scrollbar {
    display: none;
}

#groupes .callout-testimonials .carousel-card {
    flex: 0 0 auto;
    scroll-snap-align: start;
    margin-right: 1rem;
    width: calc((100% - 3rem) / 4);
}

#groupes .callout-testimonials .dot-nav {
    display: none;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 1rem;
}

#groupes .callout-testimonials .dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background-color: transparent;
    border: 1px solid #888;
}

#groupes .callout-testimonials .dot.active {
    background-color: #888;
}

/* END Testimonials */

/* Mobile Styles
   ========================================================================== */

@media (max-width: 1024px) {

    #groupes .dropdown-toggle,
    #portail-groupes .dropdown-toggle,
    #espace-client .dropdown-toggle {
        display: block;
    }

    #groupes .options-list,
    #portail-groupes .options-list,
    #espace-client .options-list {
        display: none;
    }

    #groupes .options-list.open,
    #portail-groupes .options-list.open,
    #espace-client .options-list.open {
        display: block;
    }

    #groupes .dropdown-toggle::after,
    #portail-groupes .dropdown-toggle::after,
    #espace-client .dropdown-toggle::after {
        content: none;
    }

    #groupes .bg-page-header-main img {
        border-radius: 41px;
        max-width: 350px;
        margin-right: 10px;
        margin-left: 20px;
    }

    #groupes .packages-info .options-list ul,
    #groupes .question-info .options-list ul {
        list-style-image: none;
        list-style-type: none;
        padding-left: 20px;
        padding-right: 20px;
    }

    #groupes .packages-info .options-list.open,
    #groupes .question-info .options-list.open {
        background-color: #353739;
        border-radius: 9px;
    }

    #groupes .packages-info .options-list.open li:first-child,
    #groupes .question-info .options-list.open li:first-child {
        border-top: 0;
    }

    #groupes .packages-info .options-list.open li,
    #groupes .question-info .options-list.open li {
        border-bottom: 0;
        padding: 10px 0;
    }

    #groupes .packages-info .options-list.open li a,
    #groupes .question-info .options-list.open li a {
        color: #fff;
    }

    #groupes .bg-page-header-main {
        height: 350px;
        border-radius: 0 0 25px 25px;
        padding: 20px !important;
        position: relative;
    }

    #groupes .bg-page-header {
        height: 325px;
        border-radius: 0 0 25px 25px;
        padding: 20px !important;
    }

    #groupes .bg-page-header-main h1 {
        font-size: 18px;
        margin: 10px 0 20px 0;
    }

    .gallery-mobile {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-x;
        padding: 0;
        gap: 0;
    }

    .gallery-mobile img {
        flex: 0 0 100vw;
        width: 100vw;
        width: 335px;
        height: 315px;
        object-fit: cover;
        scroll-snap-align: center;
        border-radius: 0;
    }

    #groupes .bg-page-header h1 {
        font-size: 21px;
    }

    #groupes h1 {
        font-size: 19px;
        font-weight: 600;
    }

    #groupes .bg-page-header .header-title {
        font-size: 23px;
    }

    #groupes .bg-page-header h3 {
        font-size: 25px;
    }

    #groupes .bg-page-header img {
        border-radius: 40px;
    }

    #groupes .callout-intro h1 {
        font-size: 23px;
    }

    #groupes .callout-intro .intro-links a {
        font-size: 19px;
    }

    .bg-callout-groupes {
        border-radius: 25px !important;
        padding: 20px !important;
        margin-bottom: 2rem !important;
    }

    .bg-callout-groupes .bg-callout-content h2 {
        font-size: 1.125rem !important;
        font-weight: 600;
    }

    #groupes .bg-callout-groupes {
        margin-top: 20px !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    #groupes .bg-callout-groupes.transport {
        padding: 20px 0 !important;
    }


    #groupes .callout-advantages h3 {
        font-size: 16px;
    }

    #groupes .callout-advantages p {
        font-size: 13px;
    }

    .btn-groupes,
    a.btn-groupes,
    #home .btn-groupes,
    #home a.btn-groupes {
        font-size: 0.813rem;
        padding: 13.5px 33px;
    }

    #groupes .callout-advantages h1 {
        margin: 20px 0;
        font-size: 21px;
        font-weight: 700;
    }

    #groupes .callout-staff {
        background-color: #fff;
        border-radius: 21px;
        padding: 40px 20px;
    }

    #groupes .image-gallery {
        border-radius: 0 0 21px 21px;
        padding: 20px;
    }

    #groupes .callout-portal {
        padding: 20px;
    }

    .bg-faq {
        border-radius: 25px;
        padding: 2rem 1.25rem;
    }

    #groupes .callout-faq .groupes-faq-subtitle {
        font-size: 17px;
        margin-bottom: 1.5rem;
        padding-bottom: 1rem;
    }

    #groupes .groupes-faq-accordion .accordion-button,
    #groupes #faq-groupes .accordion-button {
        font-size: 19px;
        padding: 0.75rem 0;
    }

    #groupes .groupes-faq-accordion .accordion-button::after,
    #groupes #faq-groupes .accordion-button::after {
        width: 32px;
        height: 32px;
        min-width: 32px;
        background-size: 14px 14px;
    }

    #groupes .groupes-faq-accordion .accordion-body,
    #groupes #faq-groupes .accordion-body {
        padding: 0 0 1rem 0;
        font-size: 14px;
    }

    .groupes .accordion-button::after {
        width: 27px;
        height: 27px;
    }

    .groupes .accordion-item>.accordion-header .accordion-button,
    .groupes .accordion-item:first-of-type>.accordion-header .accordion-button {
        padding: 10px 0;
        margin-bottom: 0;
    }

    .groupes .accordion-body {
        padding: 0;
    }

    #groupes .callout-form {
        padding: 40px 20px;
        border-bottom-left-radius: 25px;
        border-bottom-right-radius: 25px;
    }

    #groupes .callout-form .form-fields {
        padding: 0 20px;
    }

    #groupes .callout-form h2 {
        font-size: 18px;
    }

    #groupes .bg-page-header.short {
        height: 280px;
        padding: 30px 20px !important;
    }

    #groupes .bg-page-header.short p {
        font-size: 15px;
    }

    #groupes .bg-page-header.faq {
        height: 175px;
    }

    #groupes .packages-info,
    #groupes .question-info {
        border-radius: 25px;
        padding: 20px;
    }

    #groupes .packages-info .options-menu ul {
        padding-left: 0;
    }

    #groupes .packages-info .options-menu ul li {
        padding: 10px 17px;
        border: 1px solid #353739;
        text-transform: uppercase;
        font-weight: 500;
        min-width: 100px;
        text-align: center;
        line-height: normal;
    }

    #groupes .packages-info .options-menu ul li a {
        padding: 0;
    }

    #package-details .accordion-body img,
    #questions .accordion-body img {
        border-radius: 17px;
        max-width: 300px;
    }

    #package-details .accordion-body,
    #questions .accordion-body {
        padding-right: 0;
        padding-left: 0;
    }

    #package-details .accordion-body p,
    #questions .accordion-body p {
        font-size: 14px;
    }

    #package-details .accordion-item:first-of-type>.accordion-header .accordion-button,
    #questions .accordion-item:first-of-type>.accordion-header .accordion-button,
    #package-details .accordion-button,
    #questions .accordion-button {
        padding: 10px 0;
        font-size: 19px;
    }

    #package-details .accordion-button::after,
    #questions .accordion-button::after {
        width: 27px;
        height: 27px;
    }

    #groupes .popular-packages.bg-callout-content {
        padding: 50px 20px;
    }

    #groupes .popular-packages h1,
    #groupes .callout-portal h1,
    #groupes .callout-staff h1,
    #groupes .callout-testimonials h1,
    #groupes .callout-faq h1,
    #groupes .callout-form h1 {
        font-size: 21px;
        margin-bottom: 10px;
    }

    #groupes .callout-testimonials h1 {
        margin-bottom: 30px !important;
    }

    #groupes .popular-packages .carousel-wrapper.three-cards .carousel-card {
        width: 100% !important;
    }

    #groupes .callout-staff p {
        width: 100%;
    }

    #groupes .callout-testimonials .carousel-card .card-title {
        font-size: 15px;
    }

    #groupes .bg-testimonials {
        padding: 50px 0;
    }

    #groupes .callout-testimonials .carousel-card {
        width: 100% !important;
    }

    #groupes .callout-testimonials .carousel-controls {
        display: none !important;
    }

    #groupes .callout-testimonials .dot-nav {
        display: flex !important;
    }

    #groupes .popular-packages .card-track {
        padding-bottom: 20px;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    #groupes .popular-packages .card-track::-webkit-scrollbar {
        display: none;
    }

    #groupes .popular-packages .carousel-card .card-title {
        font-size: 18px;
        font-weight: 700;
        margin-top: 15px;
        text-transform: uppercase;
    }

    #groupes .popular-packages .carousel-card .card-text {
        font-size: 16px;
        font-weight: 400;
    }

}

/* ==========================================================================
   A08 — Règle client (30-05-2026) : seul le titre de la première section
   reste en couleur d'accent. Tous les autres titres et attributs en noir.
   S'applique aux pages Groupes (Scolaire / Adultes / Cégep-Univ partagent
   le même template) + page parent Groupes.
   ========================================================================== */

/* Première section de contenu (callout-intro) — couleur d'accent conservée */
#groupes .callout-intro h1,
#groupes .callout-intro h2,
#groupes .callout-intro h3 {
    color: #FFCB05;
}

/* Toutes les autres sections de contenu — titres en noir sur fond clair
   v3 #11 — `.callout-faq` retirée : le h1 FAQ reste en jaune accent (cf. démo + règle ligne 126).
   Les h2/h3/h4 internes à la FAQ héritent du CSS par défaut (accordion-button Bootstrap) */
#groupes .callout-staff h1,
#groupes .callout-staff h2,
#groupes .callout-staff h3,
#groupes .callout-staff h4,
#groupes .callout-advantages h1,
#groupes .callout-advantages h2,
#groupes .callout-advantages h3,
#groupes .callout-advantages h4,
#groupes .bg-callout-groupes h1,
#groupes .bg-callout-groupes h2,
#groupes .bg-callout-groupes h3,
#groupes .bg-callout-groupes h4,
#groupes .callout-contact h1,
#groupes .callout-contact h2,
#groupes .callout-contact h3,
#groupes .callout-contact h4,
#groupes .packages-grid h1,
#groupes .packages-grid h2,
#groupes .packages-grid h3,
#groupes .packages-grid h4 {
    color: #000 !important;
}

/* Attributs / badges / icônes-texte des cards forfaits — texte en noir */
#groupes .packages-grid .card .card-title,
#groupes .packages-grid .card .card-text,
#groupes .packages-grid .card .icon-label,
#groupes .packages-grid .card .option-price,
#groupes .callout-advantages .text h3 {
    color: #000 !important;
}

/* Section portail (fond sombre) — titre en blanc puisque le noir serait illisible.
   Override de la règle existante #groupes .callout-portal h1 { color: #FFCB05 } */
#groupes .callout-portal h1,
#groupes .callout-portal h2,
#groupes .callout-portal h3 {
    color: #fff !important;
}
