/* ═══════════════════════════════════════════════════════
   TABLET — iPad Portrait & Landscape (768px – 1024px)
   Fichier dédié — n'impacte ni mobile ni desktop/laptop.
   ═══════════════════════════════════════════════════════ */

@media (min-width: 768px) and (max-width: 1024px) {

    /* ─── CONTAINER ─── */
    .o-container {
        padding-right: 3rem !important;
        padding-left: 3rem !important;
    }

    .o-section {
        padding-top: 4rem !important;
        padding-bottom: 4rem !important;
    }


    /* ─── HERO HOME ─── */
    .c-hero-home__title {
        font-size: 50px !important;
        margin-bottom: 4.5rem !important;
    }

    .c-hero-home__subtitle {
        font-size: 24px !important;
        margin: 0 auto 5rem !important;
    }

    .c-hero-home__text {
        margin-top: -40px !important;
    }

    .c-hero-home .c-hero-btn {
        font-size: 0.8rem !important;
        height: 45px !important;
        padding: 0 14px !important;
    }

    .c-hero-home__ctas {
        gap: 1rem !important;
    }


    /* ─── HEADER ─── */
    .c-header_nav .menu-item a {
        font-size: 1rem !important;
    }

    .o-section.-included-items .c-included_media {
        max-height: 330px !important;
        overflow: hidden !important;
    }



    /* ─── MEDIA-TEXT — côte à côte mais proportions tablette ─── */
    .c-media-text {
        flex-direction: row-reverse !important;
        gap: 2rem !important;
    }

    .c-media-text_media {
        width: 50% !important;
    }

    .c-media-text_content {
        width: 50% !important;
    }

    .c-media-text:not(.-reversed) .c-media-text_media {
        margin-left: calc(3rem - ((100vw - 100%) / 2)) !important;
        width: calc(50% + 3rem + ((100vw - 100%) / 2)) !important;
        margin-right: 0 !important;
    }

    .c-media-text.-reversed .c-media-text_media {
        margin-right: calc(3rem - ((100vw - 100%) / 2)) !important;
        margin-left: 0 !important;
        width: calc(50% + 3rem + ((100vw - 100%) / 2)) !important;
    }

    .c-media-text_image {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
    }

    /* Boutons media-text */
    .c-media-text_content .c-media-text_btn {
        flex-wrap: wrap !important;
        gap: 0.75rem !important;
        align-items: flex-start !important;
    }


    /* ─── TEXT CONTENT HORIZONTAL ─── */
    .c-text-content.-horizontal.--nova-content .c-text-content_title {
        width: 45% !important;
        margin-right: 2rem !important;
        font-size: 2.5rem !important;
    }

    .c-text-content.-horizontal.--nova-content .c-text-content_content {
        width: 55% !important;
        margin-left: 0 !important;
    }

    .c-text-content.-horizontal.--nova {
        padding-left: 3rem !important;
    }

    .c-text-content.-horizontal .c-text-content_title {
        width: 18rem !important;
    }

    .c-text-content_actions_items,
    .c-text-content_actions_appart {
        flex-direction: column !important;
        align-items: flex-start !important;
        margin-bottom: 1.5rem !important;
    }


    /* ─── GALLERY ─── */
    .c-gallery_media {
        height: 380px !important;
        width: 85% !important;
    }

    .c-gallery_cell {
        width: 30% !important;
        margin: 0 4px !important;
    }

    .c-gallery_cell.is-selected {
        width: 45% !important;
    }

    .c-gallery.o-carousel .flickity-prev-next-button.next {
        top: -5rem !important;
    }

    .c-gallery.o-carousel .flickity-prev-next-button.previous {
        top: -5rem !important;
    }


    /* ─── SHOWCASE / ACCORDIONS ─── */
    .c-showcase_accordions {
        width: 100% !important;
        margin-right: 0 !important;
    }

    .c-showcase_image {
        padding-top: 3rem !important;
        padding-bottom: 5rem !important;
    }

    .c-showcase_accordions .c-accordion_content img {
        height: 280px !important;
        width: 100% !important;
        object-fit: cover !important;
    }


    /* ─── COMMODITÉS ─── */
    .c-commodites__items {
        padding-left: 0 !important;
    }

    .c-commodites__item {
        padding: 20px 0 !important;
    }

    .c-commodites .c-media-text_image {
        padding: 6rem 3rem !important;
    }


    /* ─── GALLERY COLLAGE ─── */
    .gallery-collage {
        margin-top: -4rem !important;
        padding-left: 3rem !important;
        padding-right: 3rem !important;
    }

    .gallery-collage .gallery-collage-inner {
        gap: 1rem !important;
    }


    /* ─── NEWS NOVA ─── */
    .o-section.--news-nova .nn-layout {
        flex-direction: column !important;
        gap: 2rem !important;
    }

    .o-section.--news-nova .nn-content {
        flex: unset !important;
        width: 100% !important;
    }

    .o-section.--news-nova .nn-carousel-wrapper {
        flex: unset !important;
        width: 100% !important;
        margin-left: 0 !important;
    }

    .o-section.--news-nova .nn-slide {
        flex: 0 0 280px !important;
        width: 280px !important;
        min-width: 280px !important;
    }

    .o-section.--news-nova .nn-slide + .nn-slide {
        padding-left: 2rem !important;
    }

    .o-section.--news-nova .nn-post-media {
        height: 220px !important;
    }

    .o-section.--news-nova .nn-title {
        font-size: 2.5rem !important;
    }


    /* ─── CTA BANNER ─── */
    .c-cta-banner {
        height: auto !important;
        padding: 3rem 0 !important;
    }

    .c-cta-banner__inner {
        flex-direction: column !important;
        gap: 2rem !important;
    }

    .c-cta-banner__left {
        flex: unset !important;
        width: 100% !important;
    }

    .c-cta-banner__title {
        font-size: 2.25rem !important;
    }


    /* ─── POI LÉGENDE ─── */
    .c-poi_legend .o-layout {
        column-count: 2 !important;
    }

    .c-poi_legend {
        padding-left: 3rem !important;
    }


    /* ─── QUARTIER PHOTOS ─── */
    .c-media-quartier__photos {
        gap: 0.75rem !important;
        padding-bottom: 3rem !important;
    }


    /* ─── TITLE HEADER PAGE (sous-pages) ─── */
    .title-header-page {
        font-size: 5rem !important;
        top: -12rem !important;
        left: 30px !important;
        position: relative !important;
    }

    .c-page-header_inner {
        min-height: 60vh !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;
        padding-bottom: 0 !important;
    }

    .c-page-header.has-image {
        min-height: 60vh !important;
        background-size: cover !important;
    }


    /* ─── SOUS-PAGES — text-content empilé proprement ─── */
    .o-section.-collapse.--nova-content {
        padding-top: 4rem !important;
        padding-bottom: 3rem !important;
    }

    .c-text-content.-horizontal.--nova-content {
        flex-direction: column !important;
    }

    .c-text-content.-horizontal.--nova-content .c-text-content_title {
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 1.5rem !important;
        font-size: 2.5rem !important;
    }

    .c-text-content.-horizontal.--nova-content .c-text-content_content {
        width: 100% !important;
        margin-left: 0 !important;
    }


    /* ─── SOUS-PAGES — media-text side by side ─── */
    .c-media-text_content {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }

    /* Inclusions carousel */
    .c-included.o-carousel .flickity-prev-next-button {
        top: -44px !important;
    }

    .c-included.o-carousel .flickity-prev-next-button.next {
        right: 0 !important;
    }

    .c-included.o-carousel .flickity-prev-next-button.previous {
        right: 44px !important;
    }


    /* ─── SOUS-PAGES — sections spécifiques ─── */
    .size_espace_communs {
        padding-top: 4rem !important;
        padding-bottom: 3rem !important;
    }

    .disponibilite_size {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    .quartier_map_size {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    /* Commodités image sur sous-pages */
    .c-commodites .c-media-text.-reversed .c-media-text_media {
        display: flex !important;
    }


    /* ─── DRAWER ─── */
    .c-drawer {
        height: 40rem !important;
    }


    /* ─── LAYOUT GUTTER ─── */
    .o-layout.-gutter-x {
        margin-left: -2rem !important;
    }

    .o-layout.-gutter-x > .o-layout_item {
        padding-left: 0.5rem !important;
    }

    .o-layout.-gutter-x.--included h3 {
        white-space: normal !important;
    }
    .c-hero-btn {
        font-size: 0.75rem !important;
    }

    .c-poi--container-full {
        padding-left: 0rem !important;
        padding-right: 0rem !important;
    }
    .c-poi_legend {
        width: 100% !important;
        padding-left: 2rem !important;
    }

}