/* Guide Irlande SEO Listings v37.0 — CSS de secours sans hero.
   Le CSS principal est injecté par le plugin. Ce fichier garantit les interactions si le cache bloque l'inline. */
.gi-hub .gi-hidden,.gi-hub.gi-hub--compact .gi-hidden{display:none!important;}
.gi-hub-buttons,.gi-listing-type-nav__buttons{display:flex;flex-wrap:wrap;gap:9px;}
.gi-hub-btn,.gi-hub-more,.gi-related-links a,.gi-listing-type-nav__button{border-radius:999px;text-decoration:none;cursor:pointer;}
.gi-listing-page .gi-listing-intro-panel,.gi-listing-page .gi-editorial-section,.gi-listing-page .gi-neighbourhoods,.gi-listing-page .gi-listing-type-nav,.gi-listing-page .gi-booking-grid,.gi-listing-page .gi-magazine-wrap,.gi-listing-page .gi-pagination,.gi-listing-page .gi-premium-cta,.gi-listing-page .gi-faq,.gi-listing-page .gi-related{width:100%;max-width:100%;}
.gi-booking-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;}
.gi-neighbourhood-card{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.70)),var(--gi-neighbourhood-bg)!important;background-size:cover!important;background-position:center!important;}
@media(max-width:1180px){.gi-booking-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:920px){.gi-booking-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:680px){.gi-booking-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:430px){.gi-booking-grid{grid-template-columns:1fr;}}

/* =========================================================
   GI SEO LISTINGS — PREMIUM UX CSS EXTERNALISÉ V37.17
   Ancien CSS inline déplacé ici pour alléger le HTML et améliorer le cache navigateur.
========================================================= */
:root{
    --gi-green:#0B493E;
    --gi-green-dark:#06362E;
    --gi-green-soft:#EAF3EF;
    --gi-gold:#E4C585;
    --gi-gold-dark:#B9975B;
    --gi-cream:#F8F5EC;
    --gi-paper:#FFFFFF;
    --gi-ink:#16342F;
    --gi-muted:rgba(22,52,47,.72);
    --gi-muted-soft:rgba(22,52,47,.56);
    --gi-line:rgba(11,73,62,.12);
    --gi-line-strong:rgba(11,73,62,.18);
    --gi-shadow:0 22px 60px rgba(8,44,38,.11);
    --gi-shadow-soft:0 12px 34px rgba(8,44,38,.075);
    --gi-radius-xl:30px;
    --gi-radius-lg:24px;
    --gi-radius-md:18px;
}

/* =========================================================
   SCOPE GLOBAL — NE TOUCHE PAS AU HERO DU SITE
========================================================= */
.gi-listing-page,
.gi-hub,
.gi-related,
.gi-booking-grid,
.gi-pagination,
.gi-faq,
.gi-premium-cta,
.gi-editorial-section,
.gi-listing-intro-panel,
.gi-neighbourhoods{
    box-sizing:border-box;
}
.gi-listing-page *,
.gi-hub *,
.gi-related *,
.gi-booking-grid *,
.gi-pagination *,
.gi-faq *,
.gi-premium-cta *,
.gi-editorial-section *,
.gi-listing-intro-panel *,
.gi-neighbourhoods *{
    box-sizing:border-box;
}
.gi-listing-page main{
    position:relative;
}

/* =========================================================
   INTRO + BLOCS ÉDITORIAUX — PREMIUM, LISIBLE, NON MASSIF
========================================================= */
.gi-listing-intro-panel,
.gi-editorial-section{
    position:relative!important;
    max-width:1120px!important;
    margin:30px auto!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:var(--gi-radius-xl)!important;
    background:
        radial-gradient(circle at 100% 0, rgba(228,197,133,.18), transparent 32%),
        linear-gradient(135deg, #ffffff 0%, #fbfaf5 100%)!important;
    border:1px solid var(--gi-line)!important;
    box-shadow:var(--gi-shadow-soft)!important;
}
.gi-listing-intro-panel:before,
.gi-editorial-section:before{
    content:"";
    position:absolute;
    left:24px;
    right:24px;
    top:0;
    height:3px;
    background:linear-gradient(90deg,var(--gi-green),var(--gi-gold),transparent);
    opacity:.78;
}
.gi-listing-intro-panel-inner,
.gi-editorial-section-inner{
    position:relative!important;
    z-index:1!important;
    padding:26px 30px!important;
}
.gi-editorial-label{
    display:inline-flex!important;
    align-items:center!important;
    gap:8px!important;
    width:auto!important;
    margin:0 0 12px!important;
    color:var(--gi-gold-dark)!important;
    font-size:.72rem!important;
    line-height:1!important;
    font-weight:950!important;
    letter-spacing:.14em!important;
    text-transform:uppercase!important;
}
.gi-editorial-label:before{
    content:"";
    width:7px;
    height:7px;
    border-radius:999px;
    background:var(--gi-gold)!important;
    box-shadow:0 0 0 4px rgba(228,197,133,.20)!important;
    flex:0 0 auto;
}
.gi-listing-intro,
.gi-editorial-content{
    color:var(--gi-ink)!important;
    font-size:1rem!important;
    line-height:1.78!important;
}
.gi-listing-intro p,
.gi-editorial-content p{
    margin:0 0 1.05em!important;
    color:var(--gi-muted)!important;
}
.gi-listing-intro p:last-child,
.gi-editorial-content p:last-child{
    margin-bottom:0!important;
}
.gi-editorial-content h2,
.gi-editorial-content h3,
.gi-editorial-content h4{
    margin:1.15em 0 .55em!important;
    color:var(--gi-ink)!important;
    line-height:1.12!important;
    font-weight:950!important;
    letter-spacing:-.04em!important;
}
.gi-editorial-content h2{font-size:clamp(1.45rem,2.4vw,2rem)!important;}
.gi-editorial-content h3{font-size:clamp(1.18rem,2vw,1.55rem)!important;}
.gi-editorial-content a{
    color:var(--gi-green)!important;
    font-weight:850!important;
    text-decoration-thickness:1px!important;
    text-underline-offset:4px!important;
}
.gi-editorial-content ul,
.gi-editorial-content ol{
    margin:1em 0 1em 1.2em!important;
    padding:0!important;
    color:var(--gi-muted)!important;
}
.gi-editorial-content li{margin:.35em 0!important;}
.gi-why-section{
    background:
        radial-gradient(circle at 0 0, rgba(11,73,62,.08), transparent 34%),
        linear-gradient(135deg,#fff,#F8F5EC)!important;
}
.gi-editorial-middle{
    margin-top:36px!important;
}

/* =========================================================
   HUBS + BOUTONS — ÉPURÉS, COMPACTS, PREMIUM
========================================================= */
.gi-hub,
.gi-hub.gi-hub--compact{
    position:relative!important;
    max-width:1180px!important;
    margin:30px auto!important;
    padding:22px 24px!important;
    overflow:hidden!important;
    background:
        radial-gradient(circle at 100% 0,rgba(228,197,133,.20),transparent 34%),
        linear-gradient(135deg,#ffffff,#fbfaf5)!important;
    border:1px solid var(--gi-line)!important;
    border-radius:var(--gi-radius-xl)!important;
    box-shadow:var(--gi-shadow)!important;
}
.gi-hub:before,
.gi-hub.gi-hub--compact:before{
    content:"";
    position:absolute;
    left:24px;
    right:24px;
    top:0;
    height:3px;
    background:linear-gradient(90deg,var(--gi-green),var(--gi-gold),transparent);
    opacity:.85;
}
.gi-hub h2,
.gi-hub.gi-hub--compact h2{
    margin:0 0 14px!important;
    color:var(--gi-ink)!important;
    font-size:clamp(1.28rem,2.2vw,1.78rem)!important;
    line-height:1.08!important;
    font-weight:950!important;
    letter-spacing:-.045em!important;
}
.gi-hub-group,
.gi-hub.gi-hub--compact .gi-hub-group{
    margin:14px 0 0!important;
    padding:0!important;
}
.gi-hub-group + .gi-hub-group{
    padding-top:13px!important;
    border-top:1px solid rgba(11,73,62,.08)!important;
}
.gi-hub-group h3,
.gi-hub.gi-hub--compact .gi-hub-group h3{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    margin:0 0 9px!important;
    color:rgba(22,52,47,.88)!important;
    font-size:.79rem!important;
    line-height:1.1!important;
    font-weight:950!important;
    letter-spacing:.13em!important;
    text-transform:uppercase!important;
}
.gi-hub-group h3:before{
    content:"";
    width:7px;
    height:7px;
    border-radius:999px;
    background:var(--gi-gold);
    box-shadow:0 0 0 4px rgba(228,197,133,.18);
    flex:0 0 auto;
}
.gi-hub-buttons,
.gi-hub.gi-hub--compact .gi-hub-buttons{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    align-items:center!important;
}
.gi-hub-btn,
.gi-hub-more,
.gi-related-links a{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    min-height:34px!important;
    margin:0!important;
    padding:8px 12px!important;
    color:var(--gi-green)!important;
    background:rgba(255,255,255,.84)!important;
    border:1px solid rgba(11,73,62,.14)!important;
    border-radius:999px!important;
    box-shadow:0 7px 18px rgba(8,44,38,.065)!important;
    font-family:inherit!important;
    font-size:.74rem!important;
    line-height:1.1!important;
    font-weight:900!important;
    letter-spacing:-.01em!important;
    text-decoration:none!important;
    cursor:pointer!important;
    transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.gi-hub-btn:hover,
.gi-hub-btn:focus-visible,
.gi-hub-more:hover,
.gi-hub-more:focus-visible,
.gi-related-links a:hover,
.gi-related-links a:focus-visible{
    color:#fff!important;
    background:linear-gradient(135deg,var(--gi-green),var(--gi-green-dark))!important;
    border-color:rgba(11,73,62,.58)!important;
    box-shadow:0 12px 26px rgba(11,73,62,.18)!important;
    transform:translateY(-1px);
    outline:none!important;
}
.gi-hub-btn span,
.gi-related-links a span{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:22px!important;
    height:20px!important;
    margin-left:2px!important;
    padding:0 7px!important;
    color:#7B5D1E!important;
    background:rgba(228,197,133,.27)!important;
    border:1px solid rgba(228,197,133,.46)!important;
    border-radius:999px!important;
    font-size:.64rem!important;
    font-weight:950!important;
    line-height:1!important;
}
.gi-hub-btn:hover span,
.gi-hub-btn:focus-visible span,
.gi-related-links a:hover span,
.gi-related-links a:focus-visible span{
    color:#fff!important;
    background:rgba(255,255,255,.17)!important;
    border-color:rgba(255,255,255,.30)!important;
}
.gi-hub .gi-hidden,
.gi-hub.gi-hub--compact .gi-hidden{
    display:none!important;
}

/* =========================================================
   HÉBERGEMENTS — GRILLE PREMIUM 5 COLONNES DESKTOP
========================================================= */
.gi-booking-grid{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:18px!important;
    align-items:stretch!important;
    margin:30px 0 36px!important;
}
.gi-booking-card{
    min-width:0!important;
    height:100%!important;
    margin:0!important;
}
.gi-booking-card-link{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    height:100%!important;
    overflow:hidden!important;
    border-radius:22px!important;
    background:#fff!important;
    border:1px solid rgba(11,73,62,.10)!important;
    box-shadow:var(--gi-shadow-soft)!important;
    text-decoration:none!important;
    transform:translateY(0);
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.gi-booking-card-link:hover,
.gi-booking-card-link:focus-visible{
    transform:translateY(-3px);
    border-color:rgba(228,197,133,.58)!important;
    box-shadow:0 24px 54px rgba(8,44,38,.16)!important;
    outline:none!important;
}
.gi-booking-card-image{
    position:relative!important;
    aspect-ratio:4/3!important;
    overflow:hidden!important;
    background:linear-gradient(135deg,var(--gi-green),#123f36)!important;
}
.gi-booking-card-image:after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:44%;
    background:linear-gradient(180deg,transparent,rgba(0,0,0,.42));
    pointer-events:none;
}
.gi-booking-card-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
    transform:scale(1.01);
    transition:transform .35s ease, filter .35s ease;
}
.gi-booking-card-link:hover .gi-booking-card-image img{
    transform:scale(1.06);
    filter:saturate(1.04) contrast(1.03);
}
.gi-booking-card-placeholder{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:100%!important;
    color:#fff!important;
    font-weight:950!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
}
.gi-booking-card-badge{
    position:absolute!important;
    z-index:2!important;
    top:10px!important;
    left:10px!important;
    padding:6px 9px!important;
    color:#173D35!important;
    background:rgba(255,255,255,.92)!important;
    border:1px solid rgba(255,255,255,.72)!important;
    border-radius:999px!important;
    box-shadow:0 8px 22px rgba(0,0,0,.16)!important;
    backdrop-filter:blur(10px);
    font-size:.60rem!important;
    font-weight:950!important;
    line-height:1!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
}
.gi-booking-card-content{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    padding:14px 14px 15px!important;
}
.gi-booking-card-content h3{
    margin:0 0 7px!important;
    color:var(--gi-ink)!important;
    font-size:.98rem!important;
    line-height:1.18!important;
    font-weight:950!important;
    letter-spacing:-.035em!important;
}
.gi-booking-card-content p{
    margin:0 0 12px!important;
    color:var(--gi-muted)!important;
    font-size:.78rem!important;
    line-height:1.45!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden!important;
}
.gi-booking-card-button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin-top:auto!important;
    min-height:36px!important;
    padding:8px 11px!important;
    color:#fff!important;
    background:linear-gradient(135deg,var(--gi-green),var(--gi-green-dark))!important;
    border-radius:999px!important;
    font-size:.66rem!important;
    font-weight:950!important;
    line-height:1.15!important;
    letter-spacing:.08em!important;
    text-align:center!important;
    text-transform:uppercase!important;
    box-shadow:0 10px 22px rgba(11,73,62,.18)!important;
    transition:background .22s ease, transform .22s ease;
}
.gi-booking-card-link:hover .gi-booking-card-button{
    background:linear-gradient(135deg,#0f5d50,var(--gi-green))!important;
}

/* =========================================================
   QUARTIERS MANUELS — PREMIUM MAIS COMPACT
========================================================= */
.gi-neighbourhoods{
    position:relative!important;
    max-width:1180px!important;
    margin:34px auto!important;
    padding:26px!important;
    overflow:hidden!important;
    border-radius:var(--gi-radius-xl)!important;
    background:linear-gradient(135deg,var(--gi-green),#07372F)!important;
    box-shadow:var(--gi-shadow)!important;
}
.gi-neighbourhoods-head{
    max-width:760px!important;
    margin:0 0 18px!important;
}
.gi-neighbourhoods-head h2{
    margin:0 0 9px!important;
    color:#fff!important;
    font-size:clamp(1.45rem,2.6vw,2.2rem)!important;
    line-height:1.05!important;
    font-weight:950!important;
    letter-spacing:-.05em!important;
}
.gi-neighbourhoods-head p:not(.gi-editorial-label){
    margin:0!important;
    color:rgba(255,255,255,.78)!important;
    font-size:.98rem!important;
    line-height:1.55!important;
}
.gi-neighbourhoods .gi-editorial-label{color:var(--gi-gold)!important;}
.gi-neighbourhood-grid{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:14px!important;
}
.gi-neighbourhood-card{
    position:relative!important;
    min-height:168px!important;
    overflow:hidden!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.10)!important;
    background-size:cover!important;
    background-position:center!important;
    text-decoration:none!important;
    box-shadow:0 16px 35px rgba(0,0,0,.16)!important;
    transform:translateY(0);
    transition:transform .22s ease, box-shadow .22s ease;
}
.gi-neighbourhood-card:hover,
.gi-neighbourhood-card:focus-visible{
    transform:translateY(-3px);
    box-shadow:0 24px 50px rgba(0,0,0,.22)!important;
    outline:none!important;
}
.gi-neighbourhood-card-overlay{
    position:absolute!important;
    inset:0!important;
    background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.68))!important;
}
.gi-neighbourhood-card-content{
    position:absolute!important;
    z-index:2!important;
    left:15px!important;
    right:15px!important;
    bottom:15px!important;
    color:#fff!important;
}
.gi-neighbourhood-card-kicker{
    display:block!important;
    margin:0 0 6px!important;
    color:var(--gi-gold)!important;
    font-size:.62rem!important;
    font-weight:950!important;
    letter-spacing:.13em!important;
    text-transform:uppercase!important;
}
.gi-neighbourhood-card strong{
    display:block!important;
    color:#fff!important;
    font-size:1.08rem!important;
    line-height:1.12!important;
    font-weight:950!important;
    letter-spacing:-.04em!important;
}
.gi-neighbourhood-card em{
    display:block!important;
    margin-top:7px!important;
    color:rgba(255,255,255,.78)!important;
    font-size:.76rem!important;
    font-style:normal!important;
    font-weight:800!important;
}

/* =========================================================
   CTA + FAQ + RELATED + PAGINATION
========================================================= */
.gi-premium-cta{
    position:relative!important;
    max-width:1120px!important;
    margin:34px auto!important;
    padding:28px!important;
    overflow:hidden!important;
    border-radius:var(--gi-radius-xl)!important;
    background:
        radial-gradient(circle at 100% 0,rgba(228,197,133,.28),transparent 34%),
        linear-gradient(135deg,var(--gi-green),var(--gi-green-dark))!important;
    box-shadow:var(--gi-shadow)!important;
}
.gi-premium-cta-content{position:relative!important;z-index:1!important;max-width:760px!important;}
.gi-premium-cta h2{
    margin:0 0 16px!important;
    color:#fff!important;
    font-size:clamp(1.45rem,2.8vw,2.35rem)!important;
    line-height:1.05!important;
    font-weight:950!important;
    letter-spacing:-.055em!important;
}
.gi-premium-cta .gi-editorial-label{color:var(--gi-gold)!important;}
.gi-premium-cta-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:42px!important;
    padding:11px 18px!important;
    color:var(--gi-green)!important;
    background:#fff!important;
    border:1px solid rgba(255,255,255,.65)!important;
    border-radius:999px!important;
    box-shadow:0 14px 28px rgba(0,0,0,.18)!important;
    font-size:.78rem!important;
    font-weight:950!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    text-decoration:none!important;
}
.gi-premium-cta-button:hover,
.gi-premium-cta-button:focus-visible{
    transform:translateY(-1px);
    color:#fff!important;
    background:var(--gi-gold-dark)!important;
    outline:none!important;
}
.gi-faq{
    max-width:1120px!important;
    margin:34px auto!important;
    padding:26px!important;
    border-radius:var(--gi-radius-xl)!important;
    background:#fff!important;
    border:1px solid var(--gi-line)!important;
    box-shadow:var(--gi-shadow-soft)!important;
}
.gi-faq h2{
    margin:0 0 16px!important;
    color:var(--gi-ink)!important;
    font-size:clamp(1.35rem,2.4vw,2rem)!important;
    line-height:1.08!important;
    font-weight:950!important;
    letter-spacing:-.05em!important;
}
.gi-faq details{
    margin:0!important;
    padding:0!important;
    border-top:1px solid rgba(11,73,62,.10)!important;
}
.gi-faq details:first-of-type{border-top:0!important;}
.gi-faq summary{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:16px!important;
    min-height:58px!important;
    padding:14px 0!important;
    color:var(--gi-ink)!important;
    cursor:pointer!important;
    list-style:none!important;
}
.gi-faq summary::-webkit-details-marker{display:none!important;}
.gi-faq summary:after{
    content:"+";
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 30px!important;
    width:30px!important;
    height:30px!important;
    color:var(--gi-green)!important;
    background:var(--gi-green-soft)!important;
    border-radius:999px!important;
    font-size:1.1rem!important;
    font-weight:950!important;
}
.gi-faq details[open] summary:after{content:"−";}
.gi-faq-question{font-weight:950!important;letter-spacing:-.025em!important;}
.gi-faq-answer{
    padding:0 0 16px!important;
    color:var(--gi-muted)!important;
    font-size:.98rem!important;
    line-height:1.72!important;
}
.gi-faq-answer p{margin:0 0 .85em!important;}
.gi-faq-answer p:last-child{margin-bottom:0!important;}
.gi-related{
    max-width:1120px!important;
    margin:34px auto!important;
    padding:24px!important;
    border-radius:var(--gi-radius-xl)!important;
    background:#fff!important;
    border:1px solid var(--gi-line)!important;
    box-shadow:var(--gi-shadow-soft)!important;
}
.gi-related h2{
    margin:0 0 14px!important;
    color:var(--gi-ink)!important;
    font-size:clamp(1.2rem,2vw,1.6rem)!important;
    font-weight:950!important;
    letter-spacing:-.04em!important;
}
.gi-related-links{display:flex!important;flex-wrap:wrap!important;gap:8px!important;}
.gi-pagination{
    display:flex!important;
    justify-content:center!important;
    margin:34px auto 18px!important;
    clear:both!important;
}
.gi-pagination ul,
.gi-pagination .page-numbers{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    gap:8px!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
}
.gi-pagination li{margin:0!important;padding:0!important;list-style:none!important;}
.gi-pagination a,
.gi-pagination span{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:38px!important;
    min-height:38px!important;
    padding:8px 12px!important;
    color:var(--gi-green)!important;
    background:#fff!important;
    border:1px solid rgba(11,73,62,.13)!important;
    border-radius:999px!important;
    box-shadow:0 8px 20px rgba(8,44,38,.07)!important;
    font-size:.78rem!important;
    font-weight:900!important;
    text-decoration:none!important;
}
.gi-pagination a:hover,
.gi-pagination a:focus-visible,
.gi-pagination .current{
    color:#fff!important;
    background:linear-gradient(135deg,var(--gi-green),var(--gi-green-dark))!important;
    border-color:var(--gi-green)!important;
    outline:none!important;
}

/* =========================================================
   RESPONSIVE
========================================================= */
@media (max-width:1180px){
    .gi-booking-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
    .gi-neighbourhood-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media (max-width:920px){
    .gi-booking-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
    .gi-neighbourhood-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
    .gi-hub,.gi-hub.gi-hub--compact,.gi-listing-intro-panel,.gi-editorial-section,.gi-faq,.gi-premium-cta,.gi-related,.gi-neighbourhoods{border-radius:24px!important;}
}
@media (max-width:680px){
    .gi-listing-intro-panel-inner,.gi-editorial-section-inner{padding:21px 18px!important;}
    .gi-listing-intro-panel,.gi-editorial-section,.gi-hub,.gi-hub.gi-hub--compact,.gi-faq,.gi-premium-cta,.gi-related,.gi-neighbourhoods{margin:22px auto!important;padding:18px!important;border-radius:20px!important;}
    .gi-listing-intro-panel,.gi-editorial-section{padding:0!important;}
    .gi-booking-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;margin-top:22px!important;}
    .gi-booking-card-link{border-radius:18px!important;}
    .gi-booking-card-content{padding:11px!important;}
    .gi-booking-card-content h3{font-size:.9rem!important;line-height:1.15!important;}
    .gi-booking-card-content p{display:none!important;}
    .gi-booking-card-button{min-height:32px!important;font-size:.60rem!important;padding:7px 9px!important;}
    .gi-booking-card-badge{font-size:.54rem!important;padding:5px 7px!important;}
    .gi-neighbourhood-grid{grid-template-columns:1fr 1fr!important;gap:12px!important;}
    .gi-neighbourhood-card{min-height:145px!important;border-radius:18px!important;}
    .gi-hub h2,.gi-hub.gi-hub--compact h2{font-size:1.22rem!important;margin-bottom:12px!important;}
    .gi-hub-group h3,.gi-hub.gi-hub--compact .gi-hub-group h3{font-size:.70rem!important;margin-bottom:8px!important;}
    .gi-hub-btn,.gi-hub-more,.gi-related-links a{font-size:.69rem!important;min-height:32px!important;padding:7px 10px!important;}
    .gi-hub-btn span,.gi-related-links a span{height:18px!important;min-width:20px!important;font-size:.60rem!important;}
    .gi-faq{padding:18px!important;}
    .gi-faq summary{min-height:52px!important;padding:12px 0!important;}
    .gi-pagination a,.gi-pagination span{min-width:34px!important;min-height:34px!important;padding:7px 10px!important;font-size:.72rem!important;}
}
@media (max-width:430px){
    .gi-booking-grid{grid-template-columns:1fr!important;}
    .gi-booking-card-image{aspect-ratio:16/10!important;}
    .gi-neighbourhood-grid{grid-template-columns:1fr!important;}
}

/* =========================================================
   V37 — BLOCS PLEINE LARGEUR + QUARTIERS IMAGE + FILTRES HÉBERGEMENTS
   Important : aucune règle ne cible le hero.
========================================================= */
.gi-listing-page .gi-listing-intro-panel,
.gi-listing-page .gi-editorial-section,
.gi-listing-page .gi-neighbourhoods,
.gi-listing-page .gi-listing-type-nav,
.gi-listing-page .gi-booking-grid,
.gi-listing-page .gi-magazine-wrap,
.gi-listing-page .gi-pagination,
.gi-listing-page .gi-premium-cta,
.gi-listing-page .gi-faq,
.gi-listing-page .gi-related{
    width:100%!important;
    max-width:100%!important;
}
.gi-listing-page .gi-listing-intro-panel,
.gi-listing-page .gi-editorial-section,
.gi-listing-page .gi-neighbourhoods,
.gi-listing-page .gi-listing-type-nav,
.gi-listing-page .gi-premium-cta,
.gi-listing-page .gi-faq,
.gi-listing-page .gi-related{
    margin-left:0!important;
    margin-right:0!important;
}
.gi-neighbourhood-card{
    background-color:rgba(255,255,255,.10)!important;
    background-image:
        linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.18) 40%,rgba(0,0,0,.74) 100%),
        var(--gi-neighbourhood-bg)!important;
    background-size:cover!important;
    background-position:center!important;
}
.gi-neighbourhood-card-overlay{
    background:
        radial-gradient(circle at 85% 10%,rgba(228,197,133,.20),transparent 32%),
        linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.58))!important;
}
.gi-listing-type-nav{
    position:relative!important;
    margin:26px 0 28px!important;
    padding:22px 24px!important;
    overflow:hidden!important;
    border-radius:30px!important;
    border:1px solid rgba(11,73,62,.13)!important;
    background:
        radial-gradient(circle at 100% 0,rgba(228,197,133,.18),transparent 34%),
        linear-gradient(135deg,#ffffff 0%,#fbfaf5 100%)!important;
    box-shadow:0 18px 48px rgba(8,44,38,.085)!important;
}
.gi-listing-type-nav:before{
    content:"";
    position:absolute;
    left:24px;
    right:24px;
    top:0;
    height:3px;
    background:linear-gradient(90deg,var(--gi-green),var(--gi-gold),transparent);
    opacity:.78;
}
.gi-listing-type-nav__head{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:18px!important;
    margin:0 0 14px!important;
}
.gi-listing-type-nav__head .gi-editorial-label{
    margin:0!important;
    flex:0 0 auto!important;
}
.gi-listing-type-nav__head h2{
    margin:0!important;
    color:var(--gi-ink)!important;
    font-size:clamp(1.22rem,2vw,1.75rem)!important;
    line-height:1.08!important;
    font-weight:950!important;
    letter-spacing:-.045em!important;
    text-align:right!important;
}
.gi-listing-type-nav__buttons{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:9px!important;
}
.gi-listing-type-nav__button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:9px!important;
    min-height:38px!important;
    padding:8px 10px 8px 14px!important;
    color:var(--gi-ink)!important;
    font-size:.76rem!important;
    line-height:1.1!important;
    font-weight:900!important;
    text-decoration:none!important;
    border-radius:999px!important;
    border:1px solid rgba(11,73,62,.12)!important;
    background:rgba(255,255,255,.78)!important;
    box-shadow:0 8px 18px rgba(8,44,38,.055)!important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease!important;
}
.gi-listing-type-nav__button em{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:24px!important;
    height:22px!important;
    padding:0 7px!important;
    color:#fff!important;
    font-size:.62rem!important;
    font-style:normal!important;
    font-weight:950!important;
    border-radius:999px!important;
    background:linear-gradient(135deg,var(--gi-green),var(--gi-green-dark))!important;
}
.gi-listing-type-nav__button:hover,
.gi-listing-type-nav__button:focus-visible,
.gi-listing-type-nav__button.is-active{
    transform:translateY(-2px)!important;
    color:#fff!important;
    border-color:rgba(11,73,62,.36)!important;
    background:linear-gradient(135deg,var(--gi-green),var(--gi-green-dark))!important;
    box-shadow:0 14px 28px rgba(8,44,38,.14)!important;
    outline:none!important;
}
.gi-listing-type-nav__button:hover em,
.gi-listing-type-nav__button:focus-visible em,
.gi-listing-type-nav__button.is-active em{
    color:var(--gi-green)!important;
    background:var(--gi-gold)!important;
}
.gi-hub,
.gi-hub.gi-hub--compact{
    width:100%!important;
}
.gi-hub-btn,
.gi-hub-more,
.gi-related-links a{
    border:1px solid rgba(11,73,62,.13)!important;
    background:
        linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,245,236,.88))!important;
    box-shadow:0 8px 18px rgba(8,44,38,.055)!important;
}
.gi-hub-btn:hover,
.gi-hub-btn:focus-visible,
.gi-hub-more:hover,
.gi-hub-more:focus-visible,
.gi-related-links a:hover,
.gi-related-links a:focus-visible{
    background:linear-gradient(135deg,var(--gi-green),var(--gi-green-dark))!important;
    color:#fff!important;
    border-color:rgba(11,73,62,.38)!important;
    box-shadow:0 14px 30px rgba(8,44,38,.16)!important;
}
@media(max-width:680px){
    .gi-listing-type-nav{padding:18px!important;border-radius:22px!important;}
    .gi-listing-type-nav__head{display:block!important;}
    .gi-listing-type-nav__head h2{text-align:left!important;margin-top:10px!important;font-size:1.18rem!important;}
    .gi-listing-type-nav__button{min-height:34px!important;font-size:.68rem!important;padding:7px 9px 7px 11px!important;}
}



/* =========================================================
   V37.1 — BOUTONS UNIFIÉS
   Même langage visuel pour hébergements, sites touristiques,
   hubs et liens associés. Aucune règle ne touche au hero.
========================================================= */
.gi-listing-type-nav--attractions,
.gi-listing-type-nav--accommodation{
    width:100%!important;
}
.gi-listing-type-nav__buttons,
.gi-hub-buttons,
.gi-related-links{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:10px!important;
    align-items:center!important;
}
.gi-listing-type-nav__button,
.gi-hub-btn,
.gi-hub-more,
.gi-related-links a{
    position:relative!important;
    isolation:isolate!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    min-height:40px!important;
    margin:0!important;
    padding:9px 11px 9px 15px!important;
    color:var(--gi-ink)!important;
    background:
        linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,245,236,.92))!important;
    border:1px solid rgba(11,73,62,.13)!important;
    border-radius:999px!important;
    box-shadow:0 9px 20px rgba(8,44,38,.06)!important;
    font-family:inherit!important;
    font-size:.76rem!important;
    line-height:1.1!important;
    font-weight:900!important;
    letter-spacing:-.01em!important;
    text-decoration:none!important;
    cursor:pointer!important;
    transform:translateY(0)!important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease!important;
}
.gi-listing-type-nav__button:before,
.gi-hub-btn:before,
.gi-hub-more:before,
.gi-related-links a:before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    border-radius:inherit;
    background:linear-gradient(135deg,var(--gi-green),var(--gi-green-dark));
    opacity:0;
    transition:opacity .18s ease;
}
.gi-listing-type-nav__button:hover,
.gi-listing-type-nav__button:focus-visible,
.gi-listing-type-nav__button.is-active,
.gi-hub-btn:hover,
.gi-hub-btn:focus-visible,
.gi-hub-more:hover,
.gi-hub-more:focus-visible,
.gi-related-links a:hover,
.gi-related-links a:focus-visible{
    color:#fff!important;
    border-color:rgba(11,73,62,.42)!important;
    box-shadow:0 15px 32px rgba(8,44,38,.16)!important;
    transform:translateY(-2px)!important;
    outline:none!important;
}
.gi-listing-type-nav__button:hover:before,
.gi-listing-type-nav__button:focus-visible:before,
.gi-listing-type-nav__button.is-active:before,
.gi-hub-btn:hover:before,
.gi-hub-btn:focus-visible:before,
.gi-hub-more:hover:before,
.gi-hub-more:focus-visible:before,
.gi-related-links a:hover:before,
.gi-related-links a:focus-visible:before{
    opacity:1;
}
.gi-listing-type-nav__button em,
.gi-hub-btn span,
.gi-related-links a span{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:25px!important;
    height:23px!important;
    margin-left:2px!important;
    padding:0 8px!important;
    color:#fff!important;
    background:linear-gradient(135deg,var(--gi-green),var(--gi-green-dark))!important;
    border:1px solid rgba(11,73,62,.12)!important;
    border-radius:999px!important;
    font-size:.62rem!important;
    font-style:normal!important;
    font-weight:950!important;
    line-height:1!important;
    letter-spacing:0!important;
    box-shadow:0 6px 14px rgba(8,44,38,.11)!important;
}
.gi-listing-type-nav__button:hover em,
.gi-listing-type-nav__button:focus-visible em,
.gi-listing-type-nav__button.is-active em,
.gi-hub-btn:hover span,
.gi-hub-btn:focus-visible span,
.gi-related-links a:hover span,
.gi-related-links a:focus-visible span{
    color:var(--gi-green)!important;
    background:var(--gi-gold)!important;
    border-color:rgba(255,255,255,.35)!important;
    box-shadow:none!important;
}
.gi-listing-type-nav--attractions .gi-listing-type-nav__button,
.gi-listing-type-nav--accommodation .gi-listing-type-nav__button{
    flex:0 1 auto!important;
}

.gi-listing-type-nav .gi-hidden{
    display:none!important;
}
.gi-listing-type-nav .gi-visible-extra{
    display:inline-flex!important;
}
.gi-listing-type-nav__more{
    flex:0 0 auto!important;
}
@media(max-width:680px){
    .gi-listing-type-nav__buttons,
    .gi-hub-buttons,
    .gi-related-links{gap:8px!important;}
    .gi-listing-type-nav__button,
    .gi-hub-btn,
    .gi-hub-more,
    .gi-related-links a{
        min-height:34px!important;
        padding:7px 9px 7px 11px!important;
        font-size:.68rem!important;
    }
    .gi-listing-type-nav__button em,
    .gi-hub-btn span,
    .gi-related-links a span{
        min-width:21px!important;
        height:19px!important;
        padding:0 6px!important;
        font-size:.58rem!important;
    }
}


/* =========================================================
   V37.3 — BOUTONS UNIFORMISÉS ET PLUS ÉPURÉS
   Objectif : même rendu partout, aucun rond dans un rond,
   conservation du dépliage "Voir toutes les catégories".
========================================================= */
.gi-listing-type-nav__buttons,
.gi-hub-buttons,
.gi-related-links{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:9px!important;
    align-items:center!important;
}
.gi-listing-type-nav__button,
.gi-hub-btn,
.gi-hub-more,
.gi-related-links a{
    position:relative!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    min-height:38px!important;
    margin:0!important;
    padding:9px 14px!important;
    color:var(--gi-green)!important;
    background:#fff!important;
    border:1px solid rgba(11,73,62,.16)!important;
    border-radius:16px!important;
    box-shadow:0 8px 18px rgba(8,44,38,.055)!important;
    font-family:inherit!important;
    font-size:.76rem!important;
    line-height:1.1!important;
    font-weight:900!important;
    letter-spacing:-.01em!important;
    text-decoration:none!important;
    cursor:pointer!important;
    transform:none!important;
    transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
    isolation:auto!important;
}
.gi-listing-type-nav__button:before,
.gi-hub-btn:before,
.gi-hub-more:before,
.gi-related-links a:before{
    display:none!important;
    content:none!important;
}
.gi-listing-type-nav__button:hover,
.gi-listing-type-nav__button:focus-visible,
.gi-listing-type-nav__button.is-active,
.gi-hub-btn:hover,
.gi-hub-btn:focus-visible,
.gi-hub-more:hover,
.gi-hub-more:focus-visible,
.gi-related-links a:hover,
.gi-related-links a:focus-visible{
    color:#fff!important;
    background:linear-gradient(135deg,var(--gi-green),var(--gi-green-dark))!important;
    border-color:rgba(11,73,62,.42)!important;
    box-shadow:0 14px 28px rgba(8,44,38,.16)!important;
    transform:translateY(-1px)!important;
    outline:none!important;
}
.gi-listing-type-nav__button span:first-child{
    display:inline!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    color:inherit!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    font-size:inherit!important;
    font-style:normal!important;
    font-weight:900!important;
    line-height:inherit!important;
}
.gi-listing-type-nav__button em,
.gi-hub-btn span,
.gi-related-links a span{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0 0 0 8px!important;
    color:rgba(11,73,62,.62)!important;
    background:transparent!important;
    border:0!important;
    border-left:1px solid rgba(11,73,62,.20)!important;
    border-radius:0!important;
    box-shadow:none!important;
    font-size:.70rem!important;
    font-style:normal!important;
    font-weight:950!important;
    line-height:1!important;
    letter-spacing:0!important;
}
.gi-listing-type-nav__button:hover em,
.gi-listing-type-nav__button:focus-visible em,
.gi-listing-type-nav__button.is-active em,
.gi-hub-btn:hover span,
.gi-hub-btn:focus-visible span,
.gi-related-links a:hover span,
.gi-related-links a:focus-visible span{
    color:rgba(255,255,255,.82)!important;
    background:transparent!important;
    border-color:rgba(255,255,255,.28)!important;
    box-shadow:none!important;
}
.gi-hub-more,
.gi-listing-type-nav__more{
    color:#7B5D1E!important;
    border-color:rgba(185,151,91,.32)!important;
    background:linear-gradient(180deg,#fffdf7,#f8f1df)!important;
}
.gi-hub-more:hover,
.gi-hub-more:focus-visible,
.gi-listing-type-nav__more:hover,
.gi-listing-type-nav__more:focus-visible{
    color:#fff!important;
    background:linear-gradient(135deg,var(--gi-gold-dark),#8d6d34)!important;
    border-color:rgba(185,151,91,.55)!important;
}
.gi-listing-type-nav .gi-hidden,
.gi-hub .gi-hidden{
    display:none!important;
}
.gi-listing-type-nav .gi-visible-extra,
.gi-hub .gi-visible-extra{
    display:inline-flex!important;
}
@media(max-width:680px){
    .gi-listing-type-nav__buttons,
    .gi-hub-buttons,
    .gi-related-links{gap:7px!important;}
    .gi-listing-type-nav__button,
    .gi-hub-btn,
    .gi-hub-more,
    .gi-related-links a{
        min-height:34px!important;
        padding:8px 11px!important;
        border-radius:14px!important;
        font-size:.68rem!important;
    }
    .gi-listing-type-nav__button em,
    .gi-hub-btn span,
    .gi-related-links a span{
        padding-left:7px!important;
        font-size:.62rem!important;
    }
}
