/*************** CSS ***********************/

/* =========================================================
   MODIFICATION DU BOUTON DE RÉSERVATION ("Offres de location")
   ========================================================= */

/* Réinitialisation du lien d'origine pour supprimer tout décalage */
/* Réinitialisation du lien d'origine pour supprimer tout décalage */
.btn-bar a.btn.book,
a.btn.book {
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    white-space: nowrap !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Texte : noir (#1C1C1C), normal (non gras), espacements réduits */
.btn-bar a.btn.book::after,
a.btn.book::after {
    content: "Offres de location" !important;
    font-size: 18px !important;
    font-weight: 400 !important;      /* Normal (non gras) */
    color: #1C1C1C !important;        /* Texte en noir */
    line-height: normal !important;
    text-indent: 0 !important;
    display: inline-block !important;
    text-align: center !important;
    width: auto !important;
    margin: 0 auto !important;
    padding-left: 8px !important;     /* Espace compact avant */
    padding-right: 18px !important;   /* Espace après (+3px) */
    visibility: visible !important;
}
/* =========================================================
   RESTE DU CODE CSS D'ORIGINE
   ========================================================= */

#events h3 {
    /* add your css rule here */
}

#events p.duration,
#events div.duration {
    /* add your css rule here */
}

#events p.description,
#events div.description {
    /* add your css rule here */
}

#events .selectedEvent {
    /* add your css rule here */
}

#events input.reserve_time_btn {
    /* add your css rule here */
}

#events input.select_another_btn {
    /* add your css rule here */
}

#eventForm #start_date-block-container h3,
#eventForm #timeline-container h3 {
    /* add your css rule here */
}

#eventForm #save_button {
    /* add your css rule here */
}

div.ui-widget-content {
    /* add your css rule here */
}

div.ui-widget-header {
    /* add your css rule here */
}

#timeline-container table.timeline {
    /* add your css rule here */
}

.timeline td.not_worked_time {
    /* add your css rule here */
}


/**** STYLE DU CRÉNEAU LIBRE ****/

.timeline td.free_time {
    background-color: transparent !important;
}

.timeline td.free_time a {
    background-color: #BA8942 !important;
    color: transparent !important;
    font-size: 0 !important;
    display: inline-block !important;
    text-decoration: none;
    border-radius: 6px !important;
    padding: 14px 40px !important;
    min-width: 220px !important;
    text-align: center;
    font-weight: 600 !important;
    white-space: nowrap !important;
}

.timeline td.free_time a::after {
    content: "Valider la date";
    color: #FFFFFF !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    display: inline-block;
    white-space: nowrap !important;
}


/**** BLOC DE SÉCURITÉ ****/

#sb-timeline #sb_time_slots_container .slot a {
    background-color: #FF9900 !important;
    color: transparent !important;
    font-size: 0 !important;
    border-radius: 6px !important;
    padding: 14px 40px !important;
    min-width: 220px !important;
    font-weight: 400 !important;
    text-align: center;
    white-space: nowrap !important;
    border: 1px solid #E68A00 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15) !important;
}

#sb-timeline #sb_time_slots_container .slot a::after {
    content: "Valider la date";
    color: #111111 !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    display: inline-block;
    white-space: nowrap !important;
}

#sb-timeline #sb_time_slots_container .slot a:hover {
    background-color: #F7CA00 !important;
}


/**** SUPPRESSION TITRE PAR DÉFAUT ****/

.section-pd h3.title--h3 {
    display: none !important;
}


/**** AFFICHER LA DATE SEULEMENT ****/

.date-line--caption {
    display: inline-block !important;
    max-width: 9.5ch !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    vertical-align: bottom !important;
}

.timeline td.selected_time {
    /* add your css rule here */
}

.timeline td.reserved_time {
    /* add your css rule here */
}

div#loading {
    /* add your css rule here */
}

#start_date-block-container .zend_form dt,
start_date-block-container .zend_form dt b,
start_date-block-container .zend_form dd label {
    /* add your css rule here */
}


/************* PAGE WANAfun *****************/

.wanafun-page {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 0 45px;
    background: #FFFFFF;
    color: #1C1C1C;
    font-family: "Google Sans","Helvetica Neue",Arial,sans-serif;
    box-sizing: border-box;
}

.wanafun-page *,
.wanafun-page *::before,
.wanafun-page *::after {
    box-sizing: border-box;
}

.wanafun-page img {
    max-width: 100%;
}


/* =========================================================
   EN-TÊTE
   ========================================================= */

.wanafun-header {
    padding: 8px 10px 28px;
    text-align: center;
}

.wanafun-title-box {
    max-width: 850px;
    margin: 0 auto 20px;
    padding: 18px 24px;
    background: #0F766E;
    border-radius: 14px;
    text-align: center;
}

.wanafun-title-box h1 {
    margin: 0;
    color: #FFFFFF !important;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 800;
}

.wanafun-header h2 {
    max-width: 760px;
    margin: 0 auto 12px;
    color: #0F766E;
    font-size: 23px;
    line-height: 1.3;
    font-weight: 800;
}


/* =========================================================
   INTRO
   ========================================================= */

.wanafun-intro {
    max-width: 760px;
    width: fit-content;
    margin: 0 auto 20px;
    color: #4A5568;
    font-size: 16px;
    line-height: 1.65;
    text-align: justify !important;
}


/* =========================================================
   ZONE
   ========================================================= */

.wanafun-zone {
    max-width: 760px !important;
    width: fit-content !important;
    margin: 0 auto !important;
    color: #4A5568 !important;
    font-size: 15px !important;
    line-height: 1.8;
    text-align: justify !important;
}

.wanafun-zone strong {
    color: #0F766E !important;
    font-size: 18px !important;
    font-weight: 800 !important;
}


/* =========================================================
   PHOTO PRINCIPALE
   ========================================================= */

.wanafun-hero {
    width: 100%;
    max-width: 500px;
    margin: 0 auto 38px;
    overflow: hidden;
    border-radius: 18px;
    box-shadow: 0 6px 18px rgba(28,28,28,0.10);
}

.wanafun-hero img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}


/* =========================================================
   SECTIONS
   ========================================================= */

.wanafun-section {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto 50px;
}

.wanafun-section-title {
    margin-bottom: 12px;
}

.wanafun-section-title h2 {
    position: relative;
    margin: 0;
    padding-left: 14px;
    color: #0F766E;
    font-size: 25px;
    line-height: 1.25;
    font-weight: 800;
}

.wanafun-section-title h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 4px;
    height: 24px;
    background: #E58A2B;
    border-radius: 4px;
}

.wanafun-title-underlined h2 {
    padding-left: 0;
    margin-bottom: 8px;
}

.wanafun-title-underlined h2::before {
    display: none;
}

.wanafun-title-underlined span {
    display: block;
    width: 45px;
    height: 3px;
    background: #E58A2B;
    border-radius: 10px;
}

.wanafun-section-title:not(.wanafun-title-underlined) span {
    display: none;
}

.wanafun-section-intro {
    margin: 0 0 24px;
    color: #4A5568;
    font-size: 14px;
    line-height: 1.6;
}


/* =========================================================
   OCCASIONS
   ========================================================= */

.wanafun-occasions {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 14px;
}

.wanafun-occasion {
    min-width: 0;
    padding: 18px 14px;
    background: #F5F9F8;
    border-radius: 15px;
    text-align: center;
}

.wanafun-occasion h3 {
    margin: 0 0 7px;
    color: #0F766E;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 800;
}

.wanafun-occasion p {
    margin: 0;
    color: #4A5568;
    font-size: 13px;
    line-height: 1.5;
}


/* =========================================================
   PACKS
   ========================================================= */

.wanafun-packs {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 22px;
    align-items: stretch;
}

.wanafun-pack {
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
    border: 1px solid #E8EEEE;
    border-radius: 18px;
    box-shadow: 0 7px 22px rgba(28,28,28,0.10);
}

.wanafun-pack-image {
    width: 100%;
    height: 245px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    flex-shrink: 0;
}

.wanafun-pack-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.wanafun-pack-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 20px 18px 20px;
    text-align: center;
}

.wanafun-pack-teal {
    border-top: 3px solid #0F766E;
}

.wanafun-pack-orange {
    border-top: 3px solid #E58A2B;
}

.wanafun-pack h3 {
    margin: 0 0 10px;
    font-size: 19px;
    line-height: 1.3;
    font-weight: 800;
}

.wanafun-pack-teal h3 {
    color: #0F766E;
}

.wanafun-pack-orange h3 {
    color: #E58A2B;
}

.wanafun-pack h4 {
    margin: 0 0 14px;
    color: #1C1C1C;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 800;
}


/* =========================================================
   DESCRIPTION DES 3 PACKS
   ========================================================= */

.wanafun-pack p {
    margin: 0 0 17px;
    color: #4A5568;
    font-size: 13px;
    line-height: 1.6;
    font-weight: 400;
    text-align: justify !important;
}


/* =========================================================
   PHRASES DES 3 PACKS
   ========================================================= */

.wanafun-pack-mood {
    margin-top: auto;
    margin-bottom: 18px;
    padding: 11px 12px;
    background: #F5F9F8;
    border-radius: 10px;
    color: #4A5568;
    font-size: 14px !important;
    line-height: 1.5;
    font-weight: 600 !important;
    text-align: center !important;
}

.wanafun-pack-orange .wanafun-pack-mood {
    background: #FFF7EE;
}

.wanafun-pack-mood::before,
.wanafun-pack-mood::after {
    content: none !important;
    display: none !important;
}


/* =========================================================
   RÉSERVATION DES PACKS
   ========================================================= */

.wanafun-pack-book {
    margin-top: 0;
    padding-top: 4px;
}

.wanafun-pack-book > span {
    display: block;
    margin-bottom: 10px;
    color: #64748B;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .3px;
}

.wanafun-pack-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.wanafun-period-button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 8px;
    border-radius: 22px;
    color: #FFFFFF !important;
    text-decoration: none !important;
    text-align: center;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
}

.wanafun-period-week {
    background: #0F766E !important;
}

.wanafun-period-weekend {
    background: #E58A2B !important;
}


/* =========================================================
   LIVRAISON
   ========================================================= */

.wanafun-delivery {
    width: 100%;
    margin: 0 0 48px;
    padding: 34px 15px;
    background: #F5F9F8;
    border-top: 1px solid #DDEDEA;
    border-bottom: 1px solid #DDEDEA;
}

.wanafun-delivery-inner {
    max-width: 950px;
    margin: 0 auto;
}

.wanafun-centered-title {
    margin-bottom: 26px;
    text-align: center;
}

.wanafun-centered-title h2 {
    margin: 0 0 10px;
    color: #1C1C1C;
    font-size: 25px;
    line-height: 1.3;
    font-weight: 800;
}

.wanafun-centered-title p {
    max-width: 680px;
    margin: 0 auto;
    color: #4A5568;
    font-size: 14px;
    line-height: 1.6;
}

.wanafun-benefits {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 18px;
}

.wanafun-benefit {
    min-width: 0;
    padding: 20px 17px;
    background: #FFFFFF;
    border-radius: 16px;
    box-shadow: 0 5px 16px rgba(28,28,28,0.06);
}

.wanafun-benefit h3 {
    margin: 0 0 8px;
    color: #0F766E;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 800;
}

.wanafun-benefit p {
    margin: 0;
    color: #4A5568;
    font-size: 13px;
    line-height: 1.55;
}


/* =========================================================
   JEUX
   ========================================================= */

.wanafun-games {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
    align-items: stretch !important;
}


/* =========================================================
   CARDS DES JEUX
   ========================================================= */

.wanafun-game {
    width: 100% !important;
    min-width: 0 !important;

    display: flex !important;
    flex-direction: column !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    padding: 0 !important;

    background: #FFFFFF !important;
    border: 1px solid #E8EEEE !important;
    border-radius: 16px !important;

    box-shadow: 0 5px 16px rgba(28,28,28,0.07) !important;

    overflow: hidden !important;
}


/* =========================================================
   FLIPPER
   ========================================================= */

.wanafun-flipper {
    width: 100% !important;
    max-width: 1000px !important;
    margin: 0 auto 30px !important;

    display: grid !important;

    grid-template-columns: minmax(0,1fr) minmax(0,2fr) !important;

    gap: 30px !important;

    align-items: center !important;
}

.wanafun-flipper-image {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.wanafun-flipper-image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 18px !important;

    box-shadow: 0 6px 18px rgba(28,28,28,0.10);

    object-fit: contain !important;
}

.wanafun-flipper-info {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;

    height: auto !important;
    max-height: none !important;

    visibility: visible !important;
    opacity: 1 !important;

    overflow: visible !important;

    text-align: left !important;
}

.wanafun-flipper-info h3 {
    display: block !important;
    width: 100% !important;

    margin: 0 0 10px !important;
    padding: 0 !important;

    color: #1C1C1C !important;

    font-size: 20px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;

    text-align: left !important;
}

.wanafun-flipper-info p {
    display: block !important;
    width: 100% !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #4A5568 !important;
    background: transparent !important;

    font-size: 14px !important;
    line-height: 1.65 !important;
    font-weight: 400 !important;

    text-align: justify !important;

    white-space: normal !important;

    overflow: visible !important;
    text-overflow: clip !important;

    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
}


/* =========================================================
   IMAGE DES 3 JEUX
   ========================================================= */

.wanafun-game-image {
    width: 100% !important;

    height: 230px !important;
    min-height: 230px !important;
    max-height: 230px !important;

    padding: 12px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #FFFFFF !important;

    flex-shrink: 0 !important;

    overflow: hidden !important;

    border-radius: 16px 16px 0 0 !important;
}

.wanafun-game-image img {
    display: block !important;

    width: auto !important;
    height: auto !important;

    max-width: 100% !important;
    max-height: 100% !important;

    object-fit: contain !important;
    object-position: center !important;

    margin: auto !important;
}


/* =========================================================
   NOM DES JEUX
   ========================================================= */

.wanafun-game h3 {
    display: block !important;
    width: 100% !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 13px 16px 0 !important;

    color: #1C1C1C !important;
    background: #FFFFFF !important;

    font-size: 15px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;

    text-align: center !important;

    overflow: visible !important;
}


/* =========================================================
   DESCRIPTION DES 3 JEUX
   ========================================================= */

.wanafun-game .wanafun-game-description {
    display: block !important;
    width: 100% !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 8px 0 0 !important;
    padding: 0 18px 18px !important;

    color: #4A5568 !important;
    background: #FFFFFF !important;

    font-size: 13px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;

    text-align: justify !important;

    white-space: normal !important;

    overflow: visible !important;
    text-overflow: clip !important;

    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    word-break: normal !important;

    flex: 0 0 auto !important;
}


/* =========================================================
   COMMENT ÇA MARCHE
   ========================================================= */

.wanafun-steps {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px;
}

.wanafun-step {
    display: flex;
    gap: 15px;
    min-width: 0;
    padding: 22px 20px;
    background: #F5F9F8;
    border-radius: 16px;
}

.wanafun-step-number {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0F766E;
    border-radius: 50%;
    color: #FFFFFF;
    font-size: 15px;
    font-weight: 800;
}

.wanafun-step h3 {
    margin: 0 0 7px;
    color: #0F766E;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 800;
}

.wanafun-step p {
    margin: 0;
    color: #4A5568;
    font-size: 14px;
    line-height: 1.6;
}


/* =========================================================
   CAUTION
   ========================================================= */

.wanafun-deposit {
    width: 100%;
    max-width: 850px;
    margin: 0 auto 48px;
    padding: 16px 20px;
    background: #F7F9F9;
    border: 1px solid #E1E8E7;
    border-radius: 12px;
}

.wanafun-deposit h2 {
    margin: 0 0 5px;
    color: #0F766E;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 800;
}

.wanafun-deposit p {
    margin: 0;
    color: #64748B;
    font-size: 13px;
    line-height: 1.55;
}


/* =========================================================
   CTA
   ========================================================= */

.wanafun-cta {
    width: 100%;
    max-width: 900px;
    margin: 0 auto 45px;
    padding: 34px 24px;
    background: #F0F7F6;
    border: 1px solid #D5E9E5;
    border-radius: 22px;
    text-align: center;
}

.wanafun-cta h2 {
    margin: 0 0 10px;
    color: #1C1C1C;
    font-size: 25px;
    line-height: 1.3;
    font-weight: 800;
}

.wanafun-cta p {
    margin: 0 auto 25px;
    color: #4A5568;
    font-size: 15px;
    line-height: 1.6;
}

.wanafun-book-buttons {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 15px;
    max-width: 620px;
    margin: 0 auto;
}

.wanafun-button {
    display: inline-block;
    width: 100%;
    padding: 12px 18px;
    border-radius: 28px;
    color: #FFFFFF !important;
    text-align: center;
    text-decoration: none !important;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
}

.wanafun-button-teal {
    background: #0F766E !important;
}

.wanafun-button-orange {
    background: #E58A2B !important;
}


/* =========================================================
   CONTACT
   ========================================================= */

.wanafun-contact {
    max-width: 950px;
    margin: 0 auto;
    padding: 22px 10px 5px;
    border-top: 1px solid #E8EEEE;
    color: #64748B;
    text-align: center;
    font-size: 13px;
}

.wanafun-contact strong {
    color: #0F766E;
}

.wanafun-contact p {
    margin: 6px 0 0;
    line-height: 1.6;
}

.wanafun-contact a {
    color: #0F766E !important;
    text-decoration: underline;
}


/* =========================================================
   TABLETTE
   ========================================================= */

@media (max-width: 900px) {

    .wanafun-occasions,
    .wanafun-benefits {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .wanafun-packs {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .wanafun-pack:last-child {
        grid-column: 1 / -1;
        max-width: calc(50% - 11px);
        width: 100%;
        margin: 0 auto;
    }

    .wanafun-games {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }

    .wanafun-flipper {
        max-width: 800px !important;
        grid-template-columns: 1fr 1.5fr !important;
        gap: 22px !important;
    }

    .wanafun-flipper-info h3 {
        text-align: left !important;
    }

    .wanafun-flipper-info p {
        text-align: justify !important;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .wanafun-page {
        width: 100%;
        padding: 0 0 25px;
    }

    .wanafun-header {
        padding: 5px 8px 22px;
    }

    .wanafun-title-box {
        padding: 16px 12px;
        border-radius: 12px;
    }

    .wanafun-title-box h1 {
        font-size: 24px;
    }

    .wanafun-header h2 {
        font-size: 21px;
    }

    .wanafun-intro {
        width: fit-content;
        max-width: 100%;
        font-size: 15px;
        text-align: justify !important;
    }

    .wanafun-zone {
        width: fit-content !important;
        max-width: 100% !important;
        font-size: 15px !important;
        line-height: 1.75 !important;
        text-align: justify !important;
    }

    .wanafun-zone strong {
        font-size: 18px !important;
    }

    .wanafun-section-title h2,
    .wanafun-centered-title h2,
    .wanafun-cta h2 {
        font-size: 22px;
    }

    .wanafun-section-title h2::before {
        top: 2px;
        height: 21px;
    }

    .wanafun-title-underlined h2::before {
        display: none;
    }

    .wanafun-occasions,
    .wanafun-packs,
    .wanafun-benefits,
    .wanafun-games,
    .wanafun-steps,
    .wanafun-book-buttons {
        grid-template-columns: 1fr !important;
    }

    .wanafun-pack:last-child {
        grid-column: auto;
        max-width: none;
        width: 100%;
    }

    .wanafun-pack-image {
        height: auto;
        min-height: 220px;
    }

    .wanafun-pack-content {
        padding: 20px 17px 20px;
    }


    /* =====================================================
       FLIPPER MOBILE
       ===================================================== */

    .wanafun-flipper {
        display: block !important;
        width: 100% !important;
        max-width: 500px !important;
        margin: 0 auto 25px !important;
    }

    .wanafun-flipper-image {
        width: 100% !important;
        max-width: 500px !important;
    }

    .wanafun-flipper-image img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
    }

    .wanafun-flipper-info {
        display: block !important;
        width: 100% !important;
        margin-top: 12px !important;
        text-align: center !important;
        overflow: visible !important;
    }

    .wanafun-flipper-info h3 {
        display: block !important;
        width: 100% !important;
        margin: 0 0 8px !important;
        padding: 0 !important;
        color: #1C1C1C !important;
        font-size: 19px !important;
        text-align: center !important;
    }

    .wanafun-flipper-info p {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 13px !important;
        line-height: 1.6 !important;
        text-align: justify !important;
        white-space: normal !important;
        overflow: visible !important;
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
    }


    /* =====================================================
       3 CARDS JEUX MOBILE
       ===================================================== */

    .wanafun-game {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: hidden !important;
    }

    .wanafun-game-image {
        width: 100% !important;
        height: 240px !important;
        min-height: 240px !important;
        max-height: 240px !important;
        padding: 10px !important;
    }

    .wanafun-game h3 {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 13px 16px 0 !important;
        font-size: 15px !important;
        text-align: center !important;
        overflow: visible !important;
    }

    .wanafun-game .wanafun-game-description {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 8px 0 0 !important;
        padding: 0 18px 18px !important;
        font-size: 13px !important;
        line-height: 1.55 !important;
        text-align: justify !important;
        white-space: normal !important;
        overflow: visible !important;
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
        word-break: normal !important;
    }

    .wanafun-step {
        align-items: flex-start;
    }

    .wanafun-delivery {
        padding: 30px 12px;
    }

    .wanafun-deposit {
        padding: 15px 17px;
    }

    .wanafun-hero {
        width: 100%;
        max-width: 100%;
        margin: 0 auto 35px;
        border-radius: 14px;
    }

    .wanafun-hero img {
        display: block;
        width: 100%;
        height: auto;
        max-width: 100%;
    }

}

/* =========================================================
   PAGE OFFRES DE LOCATION WANAfun
   ========================================================= */

.wanafun-offres-page {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 0 45px;
    background: #FFFFFF;
    color: #1C1C1C;
    font-family: "Google Sans", "Helvetica Neue", Arial, sans-serif;
    box-sizing: border-box;
}

.wanafun-offres-page *,
.wanafun-offres-page *::before,
.wanafun-offres-page *::after {
    box-sizing: border-box;
}


/* =========================================================
   EN-TÊTE
   ========================================================= */

.wanafun-offres-header {
    padding: 8px 15px 35px;
    text-align: center;
}

.wanafun-offres-title-box {
    max-width: 850px;
    margin: 0 auto 20px;
    padding: 18px 24px;
    background: #0F766E;
    border-radius: 14px;
}

.wanafun-offres-title-box h1 {
    margin: 0;
    color: #FFFFFF !important;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 800;
}

.wanafun-offres-header h2 {
    max-width: 760px;
    margin: 0 auto 12px;
    color: #0F766E;
    font-size: 23px;
    line-height: 1.3;
    font-weight: 800;
}

.wanafun-offres-intro {
    max-width: 760px;
    margin: 0 auto;
    color: #4A5568;
    font-size: 16px;
    line-height: 1.65;
    text-align: center;
}


/* =========================================================
   SECTION OFFRES
   ========================================================= */

.wanafun-offres-section {
    width: 100%;
    max-width: 950px;
    margin: 0 auto 50px;
    padding: 0 15px;
}

.wanafun-offres-title {
    margin-bottom: 25px;
}

.wanafun-offres-title h2 {
    position: relative;
    margin: 0;
    padding-left: 14px;
    color: #0F766E;
    font-size: 25px;
    line-height: 1.25;
    font-weight: 800;
}

.wanafun-offres-title h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 4px;
    height: 24px;
    background: #E58A2B;
    border-radius: 4px;
}


/* =========================================================
   CARTES MERCREDI / WEEK-END
   ========================================================= */

.wanafun-offres-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.wanafun-offre-card {
    display: flex;
    flex-direction: column;
    padding: 30px 25px 25px;
    background: #FFFFFF;
    border: 1px solid #E8EEEE;
    border-radius: 20px;
    box-shadow: 0 7px 22px rgba(28, 28, 28, 0.09);
    text-align: center;
}

.wanafun-offre-mercredi {
    border-top: 5px solid #0F766E;
}

.wanafun-offre-weekend {
    border-top: 5px solid #E58A2B;
}


/* =========================================================
   ICÔNES
   ========================================================= */

.wanafun-offre-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: #F5F9F8;
    font-size: 27px;
}

.wanafun-offre-weekend .wanafun-offre-icon {
    background: #FFF7EE;
}


/* =========================================================
   TEXTE CARTES
   ========================================================= */

.wanafun-offre-card h3 {
    margin: 0 0 15px;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 800;
}

.wanafun-offre-mercredi h3 {
    color: #0F766E;
}

.wanafun-offre-weekend h3 {
    color: #E58A2B;
}

.wanafun-offre-card p {
    margin: 0 0 12px;
    color: #4A5568;
    font-size: 14px;
    line-height: 1.65;
}

.wanafun-offre-card p:last-of-type {
    margin-bottom: 25px;
}


/* =========================================================
   BLOC SUR DEVIS
   ========================================================= */

.wanafun-devis {
    width: 100%;
    margin: 0 0 50px;
    padding: 40px 20px;
    background: #F5F9F8;
    border-top: 1px solid #DDEDEA;
    border-bottom: 1px solid #DDEDEA;
}

.wanafun-devis-inner {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.wanafun-devis-title {
    margin-bottom: 15px;
}

.wanafun-devis-title h2 {
    margin: 0;
    color: #1C1C1C;
    font-size: 25px;
    line-height: 1.3;
    font-weight: 800;
}

.wanafun-devis-inner > p {
    max-width: 720px;
    margin: 0 auto 10px;
    color: #4A5568;
    font-size: 15px;
    line-height: 1.65;
}

.wanafun-devis-inner > p strong {
    color: #0F766E;
}


/* =========================================================
   POINTS DU DEVIS
   ========================================================= */

.wanafun-devis-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
    margin: 28px 0;
}

.wanafun-devis-point {
    min-width: 0;
    padding: 18px 15px;
    background: #FFFFFF;
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(28, 28, 28, 0.06);
}

.wanafun-devis-point strong {
    display: block;
    margin-bottom: 8px;
    color: #0F766E;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 800;
}

.wanafun-devis-point span {
    display: block;
    color: #4A5568;
    font-size: 13px;
    line-height: 1.5;
}


/* =========================================================
   BOUTON DEVIS
   ========================================================= */

.wanafun-devis-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 24px;
    background: #E58A2B !important;
    border-radius: 25px;
    color: #FFFFFF !important;
    text-decoration: none !important;
    font-size: 14px;
    line-height: 1.25;
    font-weight: 800;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.wanafun-devis-button:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}


/* =========================================================
   RÉSUMÉ
   ========================================================= */

.wanafun-offres-resume {
    width: 100%;
    max-width: 950px;
    margin: 0 auto 45px;
    padding: 0 15px;
}

.wanafun-offres-resume > h2 {
    margin: 0 0 22px;
    color: #0F766E;
    font-size: 25px;
    line-height: 1.3;
    font-weight: 800;
    text-align: center;
}

.wanafun-resume-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.wanafun-resume-card {
    padding: 22px 18px;
    background: #FFFFFF;
    border: 1px solid #E8EEEE;
    border-radius: 16px;
    box-shadow: 0 5px 16px rgba(28, 28, 28, 0.07);
    text-align: center;
}

.wanafun-resume-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin: 0 auto 12px;
    border-radius: 50%;
    background: #0F766E;
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 800;
}

.wanafun-resume-card:nth-child(2) .wanafun-resume-number {
    background: #E58A2B;
}

.wanafun-resume-card h3 {
    margin: 0 0 8px;
    color: #1C1C1C;
    font-size: 17px;
    line-height: 1.3;
    font-weight: 800;
}

.wanafun-resume-card p {
    margin: 0;
    color: #4A5568;
    font-size: 13px;
    line-height: 1.55;
}


/* =========================================================
   CONTACT
   ========================================================= */

.wanafun-offres-contact {
    max-width: 750px;
    margin: 0 auto;
    padding: 22px 18px;
    background: #FFFFFF;
    border: 1px solid #E8EEEE;
    border-radius: 15px;
    text-align: center;
}

.wanafun-offres-contact strong {
    display: block;
    margin-bottom: 7px;
    color: #0F766E;
    font-size: 16px;
    font-weight: 800;
}

.wanafun-offres-contact p {
    margin: 0;
    color: #4A5568;
    font-size: 14px;
    line-height: 1.6;
}

.wanafun-offres-contact a {
    color: #0F766E !important;
    font-weight: 700;
    text-decoration: underline;
}


/* =========================================================
   RESPONSIVE TABLETTE
   ========================================================= */

@media (max-width: 800px) {

    .wanafun-offres-cards {
        grid-template-columns: 1fr;
    }

    .wanafun-devis-points {
        grid-template-columns: 1fr;
    }

    .wanafun-resume-grid {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   RESPONSIVE MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .wanafun-offres-page {
        padding-bottom: 30px;
    }

    .wanafun-offres-header {
        padding: 5px 10px 28px;
    }

    .wanafun-offres-title-box {
        padding: 16px 18px;
        margin-bottom: 16px;
        border-radius: 12px;
    }

    .wanafun-offres-title-box h1 {
        font-size: 25px;
    }

    .wanafun-offres-header h2 {
        font-size: 20px;
    }

    .wanafun-offres-intro {
        font-size: 14px;
        line-height: 1.6;
    }

    .wanafun-offres-section,
    .wanafun-offres-resume {
        padding-left: 10px;
        padding-right: 10px;
    }

    .wanafun-offres-title h2,
    .wanafun-offres-resume > h2 {
        font-size: 22px;
    }

    .wanafun-offre-card {
        padding: 25px 18px 20px;
    }

    .wanafun-offre-card h3 {
        font-size: 20px;
    }

    .wanafun-offre-card p {
        font-size: 13px;
    }

    .wanafun-devis {
        padding: 32px 15px;
    }

    .wanafun-devis-title h2 {
        font-size: 21px;
    }

    .wanafun-devis-inner > p {
        font-size: 14px;
    }

    .wanafun-devis-button {
        width: 100%;
    }

    .wanafun-offres-contact {
        margin: 0 10px;
    }

}

/* =========================================================
   CATALOGUE — VERSION UNIFIÉE ET CORRIGÉE
   Zoom par case à cocher : ouverture et fermeture sans JavaScript.
   ========================================================= */

.catalog-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 20px;
  padding: 10px 0;
  font-family: inherit;
}

@media (min-width: 640px) {
  .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  .catalog-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.catalog-card {
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .04);
  transition: box-shadow .2s ease;
}

.catalog-card:hover {
  /* Pas de déplacement/agrandissement au survol : évite les effets instables. */
  box-shadow: 0 6px 18px rgba(0, 0, 0, .08);
}

.catalog-image-container {
  position: relative;
  width: 100%;
  height: 230px;
  flex: 0 0 auto;
  padding: 8px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #f8fafc;
}

.catalog-image-container.portrait { height: 300px; }

.catalog-card-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: none;
  transform: none;
}

.catalog-card-info {
  margin-top: auto;
  padding: 12px 8px;
  text-align: center;
}

.catalog-card-title {
  margin: 0 0 4px;
  color: #1e293b;
  font-size: 1rem;
  font-weight: 600;
}

.catalog-card-dimensions {
  margin: 0;
  color: #64748b;
  font-size: .875rem;
  font-weight: normal;
}

/* La case est invisible mais reste fonctionnelle avec les labels. */
.catalog-zoom-toggle {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.catalog-zoom-trigger {
  display: block;
  width: 100%;
  height: 100%;
  cursor: zoom-in;
  text-align: center;
}

.catalog-zoom-hint {
  position: absolute;
  left: 50%;
  bottom: 8px;
  transform: translateX(-50%);
  max-width: calc(100% - 20px);
  padding: 4px 8px;
  border-radius: 12px;
  background: rgba(255, 255, 255, .9);
  color: #334155;
  font-size: 11px;
  line-height: 1.3;
  pointer-events: none;
}

.catalog-zoom-modal { display: none; }

.catalog-zoom-toggle:checked ~ .catalog-zoom-modal {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  box-sizing: border-box;
}

.catalog-zoom-backdrop {
  position: absolute;
  inset: 0;
  display: block;
  background: rgba(0, 0, 0, .82);
  cursor: zoom-out;
}

.catalog-zoom-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: auto;
  max-width: 94vw;
  max-height: 94vh;
  padding: 44px 12px 12px;
  box-sizing: border-box;
  overflow: auto;
  background: #fff;
  border-radius: 10px;
}

.catalog-zoom-content img {
  display: block;
  width: auto;
  height: auto;
  max-width: calc(94vw - 24px);
  max-height: calc(94vh - 80px);
  object-fit: contain;
}

.catalog-zoom-close {
  position: absolute;
  top: 8px;
  right: 8px;
  display: inline-block;
  padding: 7px 10px;
  border-radius: 6px;
  background: #1f2937;
  color: #fff;
  font-size: 14px;
  line-height: 1.2;
  cursor: pointer;
}

.catalog-zoom-toggle:focus-visible ~ .catalog-zoom-trigger {
  outline: 3px solid #2563eb;
  outline-offset: -3px;
}

@media (max-width: 480px) {
  .catalog-grid { grid-template-columns: 1fr; gap: 14px; }
  .catalog-image-container { height: 210px; }
  .catalog-image-container.portrait { height: 260px; }
  .catalog-zoom-toggle:checked ~ .catalog-zoom-modal { padding: 8px; }
  .catalog-zoom-content { max-width: 96vw; max-height: 96vh; padding: 42px 8px 8px; }
  .catalog-zoom-content img { max-width: calc(96vw - 16px); max-height: calc(96vh - 72px); }
}


/* =========================================================
   SUPPRESSION DU BOUTON DE LA BANNIÈRE (HEADER)
   ========================================================= */

.btn-bar,
a.btn.book,
.header-btn-block,
#header-book-button {
    display: none !important;
}

/* =========================================================
   SUPPRESSION DU BOUTON RETOUR (#sb_back_button)
   ========================================================= */

#sb_back_button {
    display: none !important;
}

/* =========================================================
   DÉSACTIVER LE LIEN SUR "OFFRES DE LOCATION" (ÉTAPES)
   ========================================================= */

/* Rend le lien incliquable et conserve l'élément visible */
#sb_booking_info .step_info_item:first-child a,
#sb_booking_info a[href="#book/count/1/"] {
    pointer-events: none !important; /* Empêche le clic */
    cursor: default !important;       /* Remet le curseur normal */
    text-decoration: none !important;
}

