/* Syntaxe corrigée — version basée sur le fichier restructuré, sans refonte visuelle volontaire. */
/* =========================================================
   GUIDE IRLANDE 2026
   ---------------------------------------------------------

/*
Theme Name: Guide Irlande 2026
Theme URI: http://wordpress.org/
Description: Thème 2026 sur mesure, avec Custom Post Types, Taxonomies, Parallax et Google Map intégré. Site responsive design. Tous droits réservés.
Author: Guide Irlande.com
Tags: responsive, custom post type, taxonomie
*/
/* =Reset default browser CSS. Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
     background: transparent;
     border: 0;
     margin: 0;
     padding: 0;
     vertical-align: baseline;
     line-height: normal;
}

body {
     line-height: normal;
     background: #ffffff;
     font-family: 'League Spartan', sans-serif;
}




.gi-accommodation-hero {
    position: relative;
    margin: 0 0 40px;
    padding: 90px 40px;
    background-size: cover;
    background-position: center;
    color: #fff;
    overflow: hidden;
}

.gi-accommodation-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.45));
}

.gi-accommodation-hero.no-image {
    background: linear-gradient(135deg, #0B493E, #14705d);
}

.gi-accommodation-hero-inner {
    position: relative;
    z-index: 2;
    max-width: 920px;
    margin: auto;
}

.gi-accommodation-kicker {
    display: inline-block;
    margin-bottom: 14px;
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(255,255,255,.18);
    font-weight: 700;
    font-size: 14px;
}

.gi-accommodation-hero h1 {
    color: #fff;
    font-size: 44px;
    line-height: 1.15;
    margin: 0 0 20px;
}

.gi-accommodation-hero p {
    max-width: 760px;
    font-size: 18px;
    line-height: 1.8;
}

.gi-accommodation-intro,
.gi-accommodation-editorial,
.gi-accommodation-cta {
    background: #fff;
    border-radius: 22px;
    padding: 32px;
    margin: 35px 0;
    box-shadow: 0 14px 35px rgba(0,0,0,.07);
}

.gi-accommodation-intro h2,
.gi-accommodation-destinations h2,
.gi-accommodation-types h2,
.gi-accommodation-cta h2 {
    font-size: 28px;
    color: #0B493E;
    margin-bottom: 18px;
}

.gi-accommodation-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin: 25px 0 40px;
}

.gi-accommodation-card {
    background: #fff;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(0,0,0,.08);
    transition: transform .25s ease, box-shadow .25s ease;
}

.gi-accommodation-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 42px rgba(0,0,0,.13);
}

.gi-accommodation-card a {
    color: inherit;
    text-decoration: none;
}

.gi-accommodation-card img {
    width: 100%;
    height: 210px;
    object-fit: cover;
    display: block;
}

.gi-accommodation-card-content {
    padding: 22px;
}

.gi-accommodation-card h3 {
    margin: 0 0 10px;
    color: #0B493E;
    font-size: 22px;
}

.gi-accommodation-card p {
    margin: 0 0 16px;
    line-height: 1.6;
}

.gi-accommodation-card span {
    display: inline-block;
    padding: 8px 16px;
    border-radius: 999px;
    background: #0B493E;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
}

.gi-accommodation-type-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 25px 0 40px;
}

.gi-accommodation-type {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 20px;
    border-radius: 18px;
    background: #fff;
    text-decoration: none;
    color: #0B493E;
    box-shadow: 0 10px 25px rgba(0,0,0,.06);
    transition: all .25s ease;
}

.gi-accommodation-type:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(0,0,0,.11);
}

.gi-accommodation-type span {
    min-width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #0B493E;
    color: #fff;
    font-weight: 800;
}

.gi-accommodation-cta {
    background: linear-gradient(135deg, #0B493E, #14705d);
    color: #fff;
}

.gi-accommodation-cta h2,
.gi-accommodation-cta p {
    color: #fff;
}

.gi-accommodation-cta a {
    display: inline-block;
    margin-top: 14px;
    padding: 14px 26px;
    border-radius: 999px;
    background: #fff;
    color: #0B493E;
    font-weight: 800;
    text-decoration: none;
}

@media screen and (max-width: 900px) {
    .gi-accommodation-grid,
    .gi-accommodation-type-grid {
        grid-template-columns: 1fr;
    }

    .gi-accommodation-hero {
        padding: 60px 24px;
    }

    .gi-accommodation-hero h1 {
        font-size: 34px;
    }
}


/* ===========================
   MOBILE (280px – 700px)
   =========================== */
@media only screen and (min-device-width: 280px) and (max-device-width: 700px) {
     .slider, .slider-home {
         max-height: 550px;
         top: -30px;

    }

.text-container {
         width: 97%;
         padding: 15px 18px;

    }

h1.slider-titre {
         font-size: 2.2rem;
         line-height: 1.9rem;

    }

h1.slider-titre-home {
         font-size: 5.2rem;
         line-height: 1.9rem;

    }

.slider-titre {
         font-size: 2.8rem;

    }

.small-text {
         font-size: 1.4rem;

    }

.localisation-slider, .localisation-slider a {
         font-size: 0.9rem;
         line-height: 1.1rem;
         margin-top: -2px;

    }

.localisation-slider-type a, .localisation-slider-cat a {
         font-size: 14px;
         padding: 4px 8px;

    }

}

/* ===========================
   TABLETTES / IPAD (701px – 1180px)
   =========================== */
@media only screen and (min-width: 701px) and (max-width: 1180px) {
     .slider, .slider-home {
         max-height: 550px;
         top: -20px;
         bottom: -40px;

    }

.text-container {
         width: min(94%, 1000px);
         padding: 18px 24px;

    }

h1.slider-titre {
         font-size: 3rem;
         line-height: 2.6rem;

    }

.slider-titre {
         font-size: 4rem;

    }

.small-text {
         font-size: 1.2rem;

    }

}

/* FONTS */
/* league-spartan-100 - latin */
@font-face {
     font-display: swap;

    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'League Spartan';
     font-style: normal;
     font-weight: 100;
     src: url('/wp-content/uploads/fonts/league-spartan-v11-latin-100.woff2') format('woff2');

    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* league-spartan-300 - latin */
@font-face {
     font-display: swap;

    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'League Spartan';
     font-style: normal;
     font-weight: 300;
     src: url('/wp-content/uploads/fonts/league-spartan-v11-latin-300.woff2') format('woff2');

    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* league-spartan-regular - latin */
@font-face {
     font-display: swap;

    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'League Spartan';
     font-style: normal;
     font-weight: 400;
     src: url('/wp-content/uploads/fonts/league-spartan-v11-latin-regular.woff2') format('woff2');

    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* league-spartan-700 - latin */
@font-face {
     font-display: swap;

    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'League Spartan';
     font-style: normal;
     font-weight: 700;
     src: url('/wp-content/uploads/fonts/league-spartan-v11-latin-700.woff2') format('woff2');

    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* STRUCTURE */
/*-------------------------------------------------------------- */
#wrapper {
     min-height: 100%;
     max-width: 1260px;
     margin: 0 auto;
     position: relative;
     clear: both;
     display: block;
     padding-left: 3%;
     padding-right: 3%;

}

#conteneur {
     min-height: 100%;
     max-width: 1260px;
     margin: 0 auto;
     padding-left: 20px;
     padding-right: 20px;

}

#header-large {
     background-color: #0B493E;
     width: 100%;
     height: 190px;
     margin-top: -10px;

}

#header-top {
     width: 100%;
     text-align: right;

    /* Place #search à droite */
margin: 10px 0;

    /* Ajuste l’espace vertical */
}

#header {
     margin: 0 auto;
     min-height: 100%;
     max-width: 1260px;
     padding-left: 3%;
     padding-right: 3%;

}

#logo img {
     z-index: 99999;
     position: relative;
     width: 190px;
     height: auto;
     display: block;

    /* Permet de gérer les marges horizontales */
margin: 10px auto;

    /* Centre horizontalement (0 auto) et ajoute un margin-top/bottom de 10px */
margin-top : -40px;

}

/* FOOTER */



p.partenaire-footer {
     text-align: center;
     color: #ffffff;
     font-weight: 400;

}

h4.white {
     color: #ffffff;
     font-size: 26px;
     font-weight: 700 !important;
     margin-top: 10px;

}


.logos-partenaires img {
     max-width: 80px;
     height: auto;
     margin-right: 5px;

}



.grid-footer li {
     list-style: none;
}


/* FONT */
/*-------------------------------------------------------------- */
/* Font-size */
.span_8_of_8, .span_6_of_8, p, ul, ol, dd, pre, hr {
     font-size: 22px;
     text-align: justify;
     font-weight: 300;
     line-height: 28px;

}

ul ul, ol ol, ul ol, ol ul, ul li {
     margin-bottom: 0;
     line-height: 28px;
}

pre, kbd, tt, var {
     font-size: 11px;
     line-height: 21px;
     font-style: italic;
}

code {
     font-size: 13px;
}

dt, th {
     color: #ffffff;
}

.entry-title {
     color: #333333;
     font-size: 52px;
     margin-top: 20px;
     text-align: center;
     font-weight: 700;
}

.entry-title a:link, .entry-title a:visited {
     color: #333333;
     text-decoration: none;
}

.entry-title a:active, .entry-title a:hover {
     color: #99cc00;
}

h1, h4, h5, h6 {
     margin: 0 0 10px 0;
     line-height: normal;
}

h1 {
     color: #333333;
     line-height: normal;
     font-size: 50px;
     line-height: 50px;
     font-weight: 700;
     text-align: left;
}

h2 {
     color: #0B493E;
     font-size: 32px;
     line-height: 34px;
     text-align: left;
     font-weight: 700;
     margin-top: 30px;
     margin-bottom: 5px;
}

h1.h2-taxonomy {
     font-size: 50px;
     font-weight: 700;
     text-align: left;
     border-left: 0;

}

h2.h2-taxonomy {
     font-size: 50px;
     line-height: 52px;
     font-weight: 700;
     border-left: 0;
     margin-bottom: 40px;

}

h2.h2-taxonomy-visiter {
     font-size: 50px;
     line-height: 52px;
     font-weight: 700;
     border-left: 0;
     margin-bottom: 0;

}

h1.h2-taxonomy span, h2.h2-taxonomy span, h2.h2-taxonomy-visiter span {
     color: #8daf3b;
     font-size: 52px;
     font-weight: 700;

}

h2.entry-title {
     color: #333333;
     font-size: 38px;
     line-height: 38px;
     margin-top: 20px;
     text-align: center;
     font-weight: 800;
     text-transform: uppercase;
     border-bottom: 0;

}

h3 {
     color: #B9975B;
     font-size: 26px;
     margin-bottom: 15px;
     border-left: 2px;
     text-align: left;
     font-weight: 600;
     line-height: 24px !important;
}

h3.black {
     color: #333 !important;
}

h4 {
     color: #0B493E;
     font-size: 24px;
     line-height: 22px;
     margin-bottom: 20px;
     text-align: left;
}

h5 {
     color: #000000;
     font-size: 24px;
     padding-bottom: 0.2em;
     text-align: left;
     margin-bottom: 0;
     font-weight: 400;
     text-transform: uppercase;
}

ol, ul {
     list-style-type: disc;
}

blockquote {
        position: relative;
    margin: 48px 0;
    padding: 42px 42px 42px 90px;
    background:
        linear-gradient(
            135deg,
            #f8fbf9 0%,
            #ffffff 100%
        );
    border: 1px solid #e7eeea;
    border-radius: 28px;
    box-shadow:
        0 20px 60px rgba(11,73,62,.06),
        0 4px 12px rgba(11,73,62,.04);
    overflow: hidden;
}

blockquote:before {
    content: "“";
    position: absolute;
    top: -18px;
    left: 18px;
    color: rgba(185,151,91,.18);
    font-size: 8rem;
    line-height: 1;
    font-weight: 900;
    font-family: Georgia, serif;
    pointer-events: none;
}
blockquote::after {
    content: "";
    position: absolute;
    left: 0;
    top: 24px;
    bottom: 24px;
    width: 4px;
    border-radius: 999px;
    background:
        linear-gradient(
            180deg,
            #B9975B 0%,
            #0B493E 100%
        );
}



blockquote p {
    color: #1f302c;
    font-size: 1.18rem;
    font-weight: 500;
    line-height: 1.9;
    margin: 0;
}

blockquote cite {
    display: block;
    margin-top: 18px;
    color: #B9975B;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .10em;
    text-transform: uppercase;
}

@media (max-width: 768px) {

    blockquote {
        margin: 32px 0;
        padding:
            34px
            24px
            34px
            62px;
        border-radius: 22px;
    }

   blockquote::before {
        font-size: 5rem;
        top: -10px;
        left: 14px;
    }

   blockquote p {
        font-size: 1.02rem;
        line-height: 1.8;
    }
}


del {
     text-decoration: line-through;
}

/* TABLE */
/*-------------------------------------------------------------- */
table {
     background-color: #F3F4F8;
     border-radius: 20px;
     width: 100%;
     border-collapse: collapse;
     border-spacing: 0;
     margin-top: 40px;
     margin-bottom: 40px;

}

.table-responsive {
     overflow-x: auto;
     -webkit-overflow-scrolling: touch;
}

.table-responsive table {
     width: 100%;
     min-width: 600px;
}

tr th {
     color: #ffffff;
     padding: 20px;
     font-size: 18px;
     line-height: 20px;
     font-weight: 700;
     text-align: center;
     border-right: 1px solid #fff;
     background-color: #0B493E;
}

tr td {
     color: #333333;
     text-align: center;
     padding-top: 20px;
     padding-bottom: 20px;
     border-bottom: 1px solid #fff;
     border-right: 1px solid #fff;
     vertical-align: top;
     font-size: 16px;
     padding-left: 20px;
     padding-right: 20px;
}

hr {
     clear: both;
     margin-bottom: 18px;
     color: #cccccc;
     background-color: #cccccc;
     height: 1px;
     border: 0;
}

/* Text elements */
p {
     margin-bottom: 18px;
}

ul {
     list-style-type: disc;
     margin: 0 0 18px 1.5em;
}

ol {
     list-style: decimal;
     margin: 0 0 18px 1.5em;
}

ul li, ol li {
     line-height: 28px;
}

ol ol {
     list-style: upper-alpha;
}

ol ol ol {
     list-style: lower-roman;
}

ol ol ol ol {
     list-style: lower-alpha;
}

ul ul, ol ol, ul ol, ol ul {
     margin-bottom: 0;

}

dl {
     margin: 0 0 24px 0;

}

dt {
     font-weight: bold;

}

dd {
     margin-bottom: 18px;

}

strong {
     font-weight: bold;

}

cite, em {
     font-style: italic;

}

i {
     font-style: italic;

}

/* FORMULAIRES */
input, input[type="text"], input[type="email"], textarea, select {
     background: #f7f7f7;
     border: 1px solid #c0c0c0;
     padding: 10px;
     color: #8A8A8A;

}

/* LIENS */


a:link {
      color: #0B493E;
     text-decoration: none;
     font-weight: bold;
}

a:visited {
     color: #0B493E;
    font-weight: 850;
    text-decoration: none;
    box-shadow: inset 0 -1px 0 rgba(185,151,91,.45);
}

a:active {
     color: #0B493E;
    font-weight: 850;
    text-decoration: none;
    box-shadow: inset 0 -1px 0 rgba(185,151,91,.45);

}

a:hover {
     color: #B9975B;

}

/* Text meant only for screen readers */
.screen-reader-text {
     position: absolute;
     left: -9000px;

}

/* MOTEUR DE RECHERCHE */
/*-------------------------------------------------------------- */
#container-search {
     background-color: #0B493E;
     padding: 10px;
     margin-bottom: 20px;
     border-radius: 5px;

}

#container-search h3 {
     color: #ffffff;
}

p.search-description {
     color: #ffffff;
     font-size: 20px;
}

#search img:hover {
     -webkit-transform: rotate(360deg) scale(1);
     transform: rotate(360deg) scale(1);
     -webkit-transition: .3s ease-in-out;
     transition: .3s ease-in-out;

}

#search img {
     float: left;
     -webkit-transform: rotate(0) scale(1);
     transform: rotate(0) scale(1);
}

#search {
     position: relative;
     top: 0;

    /* Ou ajuste à ta convenance, ex. top: 10px; */
right: 0;

    /* Ancre #search dans le coin supérieur droit */
margin: 10px;

    /* Petit espace intérieur au conteneur */
}

#search-input {
     color: #333333;
     font-weight: 400;
     font-size: 13px;
     margin: 0;
     width: 180px;
     height: 20px;
     padding-left: 20px;
     padding-top: 5px;
     padding-bottom: 5px;
     padding-right: 10px;
     margin-top: 10px;
     border: 1px solid #ffffff;
     border-radius: 40px;

}

#searchsubmit {
     margin-left: -30px;
     margin-top: 10px;
     border: 1px solid #ffffff;
     font-size: 16px;
     border-radius: 40px;
     padding: 5px;

}

.search-submit, .search-submit:hover {
     padding-top: 3px;
     padding-bottom: 3px;
     padding-left: 5px;
     padding-right: 5px;
     margin-top: -2px;

}

/* Fil d'ariane */
.rank-math-breadcrumb p a {
     font-size: 16px;
     line-height: 16px;
     margin-top: 20px;
     color: #B9975B;
     font-weight: 400;
}

.rank-math-breadcrumb p a:hover {
     color: #333333;
}

.rank-math-breadcrumb span.separator {
     margin-left: 5px;
     font-size: 16px;
     line-height: 14px;
     font-weight: 400;
}

.rank-math-breadcrumb span.last {
     margin-left: 5px;
     font-size: 16px;
     line-height: 14px;
     font-weight: 400;
}

/** Pagination **/
.pagination {
     display: flex;
     flex-wrap: wrap;
     gap: 8px;
     justify-content: center;
     margin-top: 40px;
     margin-bottom: 60px;

}

.pagination a, .pagination span {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 40px;
     height: 40px;
     font-size: 16px;
     font-weight: bold;
     text-decoration: none;
     border-radius: 50%;
     background-color: #e0f2e9;

    /* vert très doux */
color: #007847;

    /* vert foncé */
transition: all 0.3s ease;

}

.pagination a:hover {
     background-color: #007847;
     color: #fff;

}

/* Style spécifique pour la page active */
.pagination .current {
     background-color: #007847;
     color: #fff;

}

/* Styles pour les liens "Précédent" et "Suivant" : forme ovale, pas circulaire */
.pagination a.prev, .pagination a.next {
     border-radius: 20px;
     padding: 0 16px;
     width: auto;

}

/* Empêche le texte d’être coupé */
.pagination a.prev::before, .pagination a.next::after {
     font-weight: normal;

}

/* IMAGES */
/* -------------------------------------------------------------- */
img {
     -webkit-transition: opacity .5s linear 0.25s;
     -moz-transition: opacity .5s linear 0.25s;
     transition: opacity .5s linear 0.25s;

}

img[data-lazy-original] {
     opacity: 0;

}

img[src^="http"] {
     opacity: 1;

}

.span_2_of_8 img {
     max-width: 100%;
     height: auto;

}

/* =Attachment pages
-------------------------------------------------------------- */
.attachment img {
     max-width: 100%;
     height: auto;
     overflow: hidden;

}

/* Alignement des images */
/*-------------------------------------------------------------- */
.alignnone img {
     height: auto;
     overflow: hidden;

}

.alignleft, img.alignleft {
     display: inline;
     float: left;
     margin-right: 24px;
     margin-top: 4px;

}

.alignright, img.alignright {
     display: inline;
     float: right;
     margin-left: 24px;

}

.aligncenter, img.aligncenter {
     clear: both;
     display: block;
     margin-left: auto;
     margin-right: auto;

}

img.alignleft, img.alignright, img.aligncenter {
     margin-bottom: 12px;

}

caption {
     font-size: 10pt;
     color: #000000;
     font-weight: bold;

}

.wp-caption {
     line-height: 12px;
     margin-bottom: 15px;
     padding: 4px;
     text-align: center;
     max-width: 100%;
     border-top-left-radius: 3px;
     border-top-right-radius: 3px;
     border-bottom-right-radius: 3px;
     border-bottom-left-radius: 3px;

}

.wp-caption img {
     -moz-border-radius: 10px;
     -webkit-border-radius: 10px;
     border-radius: 10px;
     border-top-left-radius: 3px;
     border-top-right-radius: 3px;
     border-bottom-right-radius: 3px;
     border-bottom-left-radius: 3px;

}

.wp-caption p.wp-caption-text {
     color: #ffffff;
     font-size: 14px;
     line-height: 15px;
     font-weight: 400;
     text-align: right;
     padding-top: 2px;
     padding-bottom: 2px;
     position: relative;
     margin-top: -35px;
     background-image: url(https://www.guide-irlande.com/wp-content/themes/guide-irlande-2018/images/fond-noir.png);
     margin-left: 5px;
     margin-right: 5px;
     padding-left: 10px;
     padding-right: 10px;

}

.wp-caption p.wp-caption-text a {
     color: #ffffff;
     font-weight: 700;

}

.wp-smiley {
     margin: 0;

}

a img {
     border: none;

}

/* =Gallery listing
-------------------------------------------------------------- */
.category-gallery .size-thumbnail img {
     border: 10px solid #C7C5C4;
     margin-bottom: 0;

}

.category-gallery .gallery-thumb {
     float: left;
     margin-right: 20px;
     margin-top: -4px;

}

.gallery {
     width: 100%;
     margin: 0 auto 18px;

}

.gallery .gallery-item {
     float: left;
     margin-top: 0;
     text-align: center;
     width: 33%;

}

.gallery-columns-2 .gallery-item {
     width: 50%;

}

.gallery-columns-4 .gallery-item {
     width: 25%;

}

.gallery img {
     border: 2px solid #ffffff;
     margin-right: 10px;

}

.gallery-columns-2 .attachment-medium {
     max-width: 92%;
     height: auto;

}

.gallery-columns-4 .attachment-thumbnail {
     max-width: 84%;
     height: auto;

}

.gallery .gallery-caption {
     color: #777;
     font-size: 12px;
     margin: 0 0 12px;

}

.gallery dl {
     margin: 0;

}

.gallery img {
     border: 10px solid #ffffff;

}

.gallery br+br {
     display: none;

}


/* LOOP */
/*-------------------------------------------------------------- */
#extrait {
     line-height: 18px;
     font-size: 17px;
     margin-top: 10px;
     text-align: justify;
}


/* PAGES SITES TOURISTIQUES */
/*-------------------------------------------------------------- */
/* Encart Infos pratiques */
#infos-pratiques {
     padding-left: 10px;
     padding-right: 10px;
     padding-bottom: 10px;
     background: #F3F4F8;
     border-radius: 10px;

}

#infos-pratiques h2 {
     padding-top: 20px;
     margin-bottom: 20px;

}

#infos-pratiques img {
     margin-right: 10px;

}

#etoiles {
     margin-left: 38px;
     margin-bottom: 10px;

}

#etoiles img {
     margin-right: 0;
     width: 16px;
     height: auto;

}

#infos-pratiques {
     padding-top: 1px;

}

#infos-pratiques, #infos-pratiques p {
     font-size: 15px;
     margin-bottom: 15px;
     line-height: normal;
     border-radius: 12px;

}

#infos-pratiques ul li {
     font-size: 15px;
     line-height: normal;
     margin-left: 20px;

}

#infos-pratiques small {
     font-size: 12px;
     line-height: normal;

}

/* CARTE */
#mapid {
     margin-top: -20px;

}

#mapidlittle {
     margin-bottom: 20px;

}

#mapidlittle.leaflet-control-attribution.leaflet-control {
     display: none !important;

}

.leaflet-container a {
     color: #0B493E !important;

}

.leaflet-container a:hover {
     color: #8daf3b !important;

}

.leaflet-popup-tip {
     background-color: #ffffff !important;

}

.map-title-spot a {
     font-size: 22px;
     line-height: 18px;
     font-weight: 700;
     font-family: 'League Spartan', sans-serif;

}

.map-title-spot a:hover {
     color: #8DAF3B !important;

}

.marker-green {
     color: #ffffff !important;

}

.marker-orange {
     color: #ffffff !important;

}

.marker-purple {
     color: #ffffff !important;

}

div.type a:active, div.type a:link, div.type a:visited {
     color: #ffffff;

}

div.type a:hover {
     color: #8DAF3B;

}

.leaflet-popup-content-wrapper {
     background-color: #ffffff !important;

}

.leaflet-popup-content-wrapper, .leaflet-popup-content {
     width: 300px !important;
     max-width: 480px !important;
     margin: 0 !important;
     padding: 0 !important;
     height: 100%;
     padding-bottom: 10px !important;

}

.map-title-spot, .type {
     padding-left: 10px;
     font-size: 15px;
     font-family: 'League Spartan', sans-serif;

}

.type a {
     font-weight: 300;

}

#legende-carte {
     width: 100%;
     background-color: #f3f4f8;
     font-size: 14px;
     padding-top: 10px;
     padding-bottom: 10px;

}

#legende-carte img {
     width: 36px;
     height: auto;
     padding-left: 10px;
     vertical-align: middle;
}

/* WIDGETS
-------------------------------------------------------------- */
.widget-area ul {
     list-style: none;
     margin-left: 0;
}

.widget-area ul ul {
     list-style: square;

}

.widget_search #s {

    /* This keeps the search inputs in line */
width: 60%;

}

.widget_search label {
     display: none;

}

.widget-container {
     margin: 0 0 18px 0;
     width: 100%;

}

.widget-container select, .widget-container input {
     width: 60%;
     padding: 10px;

}

.widget-area a:link, .widget-area a:visited {
     text-decoration: none;
     color: #0B493E;

}

.widget-title {
     font-size: 22px;
     line-height: 24px;
     font-weight: 700 !important;
     text-transform: uppercase;
     color: #0B493E;
     width: 100%;
     font-style: normal;

}

.clear {
     clear: both;
     display: block;
     height: 0;
     font-size: 1px;
     line-height: 0px;
     margin-bottom: 30px;

}

.clear-little {
     clear: both;
     display: block;
     height: 0;
     font-size: 1px;
     line-height: 0px;
     margin-bottom: 5px;

}

.clear2 {
     clear: both;
     display: block;
     height: 0;
     font-size: 1px;
     line-height: 0px;

}

#contenu-attachement {
     width: 845px;

}

#important {
     width: 95%;
     background-color: #750000;
     color: #ffffff;
     padding: 10px;
     margin-top: 12px;
     margin-bottom: 12px;

}

#important h2, #important p, #important a {
     color: #ffffff;

}

#comments img {
     margin-top: 20px;
     padding-right: 5px;

}

#merci-message-fond-blanc {
     color: #ffffff;
     font-size: 36px;
     text-align: center;
     font-weight: 700;

}

#merci-message {
     color: #000000;
     font-size: 36px;
     text-align: center;
     font-weight: 300;
     margin-bottom: -20px;

}

#merci-message-complement {
     color: #000000;
     font-size: 20px;
     text-align: center;
     font-weight: 300;

}

#merci-message-complement-fond-blanc {
     color: #ffffff;
     font-size: 20px;
     text-align: center;
     font-weight: 300;

}

#merci-message-complement-fond-blanc a {
     color: #ffffff;
     font-weight: 400;

}

#merci-message-complement a {
     color: #FFFFFF;
     font-weight: 400;

}

#bouton-more a {
     background-color: #0B493E;
     padding: 5px;
     color: #ffffff;
     margin-top: 10px;

}

#button-bottom-right {
     margin-top: 10px;
     position: absolute;
     bottom: 30px;
     right: 30px;
     align-items: center;
     color: white;
     text-decoration: none;
     border-radius: 10px;
     font-size: 16px;
     margin-bottom: 5px;
     text-align: center;

}



.padding10 {
     margin-right: 10px;
}

/*Youtube */
.youtube, .videoWrapper {
     position: relative;
     padding-bottom: 56.25%;

    /* 16:9 */
padding-top: 25px;
     height: 0;
     margin-bottom: 40px;

}

.youtube iframe, .videoWrapper iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;

}


/* Liste Posts des Taxonomies */
.header-taxo-green {
     position: relative;
     text-align: center;
     background-color: #6f826d;
     width: 100%;
     height: 150px;

}

.header-taxo {
     position: relative;
     text-align: center;

}

.header-taxo img {
     max-width: 100%;
     object-fit: cover;
     height: 220px;
     opacity: 1;
     -webkit-transition: .3s ease-in-out;
     transition: .3s ease-in-out;

}

.thumbnail-home-little:hover img, .post-image-line:hover img, .post-image-grid:hover img, .post-image:hover img, .post-image-article-relatif:hover img, .header-taxo:hover img {

    /*max-width : 100%;
	height: auto;*/
opacity: 1;
     -webkit-transition: .3s ease-in-out;
     transition: .3s ease-in-out;

}

.thumbnail-home-little:hover img, .post-image-article-relatif :hover img, .post-image-line :hover img, .post-image-grid :hover img, .header-taxo:hover img {
     opacity: .7;

}

.centered h1.entry-title {
     position: absolute;
     top: 45%;
     left: 50%;
     transform: translate(-50%, -50%);
     color: #ffffff;
     padding: 30px;
     border: 6px double #ffffff;
     font-size: 50px;
     line-height: 52px;
     text-shadow: 2px 2px 4px #000000;
     background-image: url(https://www.guide-irlande.com/wp-content/uploads/2016/05/fond-noir-25.png);

}

.post-image-grid.corner img {
     border-radius: 10px;

}

.centered h3 a {
     position: absolute;
     top: 45%;
     left: 50%;
     transform: translate(-50%, -50%);
     color: #ffffff;
     padding: 10px;

    /*background-clip: content-box;*/
border : 6px double #ffffff;
     font-size: 22px;
     line-height: 24px;
     text-shadow: 2px 2px 4px #000000;
     text-align: center;
     background-image: url(https://www.guide-irlande.com/wp-content/uploads/2016/05/fond-noir-25.png);

}

.centered h3 a:hover, .centered h4 a:hover {
     color: #8DAF3B;

}

.centered h4 a {
     position: absolute;
     top: 45%;
     left: 50%;
     transform: translate(-50%, -50%);
     color: #ffffff;
     padding: 10px;
     border: 6px double #ffffff;
     font-size: 18px;
     line-height: 20px;
     text-shadow: 2px 2px 4px #000000;
     text-align: center;
     background-image: url(https://www.guide-irlande.com/wp-content/uploads/2016/05/fond-noir-25.png);

}

h1.entry-title-single {
     text-align: justify;
     color: #333333;
     font-size: 32px;
     line-height: 34px;
     margin-top: 20px;
     font-weight: 600;
     text-transform: uppercase;

}

h1.entry-title-center {
     text-align: center;
     color: #333333;
     margin-top: 20px;
     font-weight: 700;
     font-size: 46px;
     line-height: 44px;

}

h2.entry-title-single {
     text-align: justify;
     text-decoration: none;
     font-size: 28px;
     line-height: 32px;
     font-weight: 100;
     color: #333333;
     margin-top: -10px;

}

h2.entry-title-single-home {
     text-align: center;
     font-style: italic;
     font-size: 28px;
     line-height: 38px;
     font-weight: 100;

}


.widget-area a:link .container-acf-hotel-combined,
.widget-area a:visited .container-acf-hotel-combined {
     text-decoration: none;
     color: #333333;

}

.container-acf-hotel-combined img {
     width: 100%;
     height: auto;
     opacity: 0.9;

}



#encart-details-sites .bottom-left-cpt a {
     color: #ffffff;
     background-color: transparent;
     font-size: 20px;

}

.container-img {
     position: relative;
     text-align: center;
     color: white;
     overflow: hidden;

}

.container-img a img {
     display: block;
     width: 100%;
     height: auto;

}

.container-img::after {
     content: "";
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     height: 50%;

    /* Ajuste la hauteur du dégradé selon tes besoins */
background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
     z-index: 1;

    /* Assure que le dégradé est sous le texte */
pointer-events: none;

}


.widget-area .bottom-left-cpt a:link, .widget-area .bottom-left-cpt a:visited {
     text-decoration: none;
     color: #ffffff;
     font-weight: 700;

}

.widget-area .bottom-left-cpt a:hover {
     color: #8daf3b;

}




/* LEAFLET */
.mycluster {
     height: 40px;
     width: 40px;
     border-radius: 50%;
     background-color: #0B493E;
     color: white;
     text-align: center;
     font-size: 20px;
     line-height: 40px;
     margin-top: -20px;
     margin-left: -20px;
     font-weight: 400;

}

.thumbnail img {
     width: 300px;
     height: auto;

}

.thumbnail-home img {
     width: 100%;
     height: auto;

}



.thumbnail-home-little-2 img {
     width: 32% !important;
     height: auto;
     float: left;
     padding-right: 10px;

}

.thumbnail-home-little img {
     width: 34%;
     height: auto;
     float: left;
     padding-right: 10px;

}

.thumbnail-left-mini img {
     width: 27%;
     height: auto;
     float: left;
     padding-right: 10px;

}

.leaflet-container a {
     color: #8daf3b;

}

/* ADSENSE */
ins.adsbygoogle {
     background: transparent !important;

}


.subtitle {
     font-weight: 300;
     text-transform: uppercase;
     text-align: center;
     font-size: 1em;
     padding-bottom: 40px;

}

.mention {
     color: #ffffff;
     font-size: 28px;
     font-weight: 700;

}

.a-la-une {
     margin-bottom: 10px;

}

.a-la-une img {
     max-width: 100%;
     height: auto;

}

#encart-vert-message {
     background-color: #8daf3b;

}

/* Ebook */
h3.ebook {
     color: #ffffff;

}

.ebook p {
     font-size: 14px;

}

.ebook img {
     margin-left: 20px;
     margin-top: -10px;

}



.header-taxo img {
     max-width: 100%;
     height: auto;

}

#detail-site-complet {
     background-color: #f2f2f2;
     color: #333333;
     padding-left: 40px;
     padding-right: 40px;
     padding-bottom: 10px;
     margin-top: -26px;
     font-size: 16px;
     border-radius: 5px;

}

#detail-site-complet h2 {
     padding-top: 15px;

}

#detail-site-complet ul li {
     font-size: 16px;
     font-style: italic;

}

#detail-site-complet a {
     color: #8daf3b;
     font-weight: 600;

}

#detail-site-complet a:hover {
     color: #333333;

}

#detail-site-complet .titre {
     font-size: 22px;
     font-weight: 400;

}

.retrait {
     padding-left: 30px;

}

#boite-travel-post .accroche-post {
     text-align: justify;

}

.accroche-post {
     margin-top: 10px;
     font-size: 15px;
     font-weight: 300;

}

.blanc {
     color: #ffffff;

}

.auteur {
     font-size: 10px;

}


.edit-link {
     font-size: 10px;

}


#fond-vert h2.taxonomy-titre {
     border-left: none;
     text-align: center;
     font-size: 48px;
     line-height: 60px;
     overflow: hidden;

}

#fond-vert h2.taxonomy-titre span {
     color: #ffffff;

}

h2.taxonomy-titre-infos {
     border-left: none;
     text-align: center;
     font-size: 52px;
     line-height: 54px;
     overflow: hidden;
     margin-top: 40px;

}

h1.taxonomy-titre, h2.taxonomy-titre {
     border-left: none;
     text-align: center;
     font-size: 44px;
     line-height: 46px;
     overflow: hidden;
     margin-top: 40px;
     margin-bottom: 30px;

}

h1.taxonomy-titre span, h2.taxonomy-titre span {
     color: #8daf3b;

}

h2.taxonomy-titre:before, h2.taxonomy-titre:after {
     background-color: #333;
     content: "";
     display: inline-block;
     height: 1px;
     position: relative;
     vertical-align: middle;
     width: 50%;

}

h2.taxonomy-titre:before {
     right: 0.5em;
     margin-left: -50%;

}

h2.taxonomy-titre:after {
     left: 0.5em;
     margin-right: -50%;

}

h2.h2small {
     text-align: center;
     font-size: 26px;
     line-height: 28px;
     font-weight: 700;

}

/* Newsletter */
#newsletter-horizontal {
     background-color: #8daf3b;
     border-radius: 5px;
     padding: 20px;
     margin-top: 40px;
     margin-bottom: 40px;

}

#newsletter-horizontal img {
     width: 150px;
     height: auto;
     padding-right: 10px;
     margin-top: 20px;

}

#newsletter-horizontal h2 {
     color: #ffffff;
     font-size: 32px;
     text-align: center;

}

#newsletter-horizontal .description-newsletter {
     text-align: left;
     color: #ffffff;
     padding-top: 10px;
     padding-left: 15px;
     padding-right: 15px;
     font-size: 14px;

}

.entete-newsletter {
     text-align: center;
     color: #ffffff;
     padding-top: 30px;
     padding-left: 15px;
     padding-right: 15px;
     font-size: 26px;

}

.description-newsletter, .description-newsletter p {
     color: #ffffff;
     padding-left: 15px;
     padding-right: 15px;
     font-size: 16px;
     line-height: 18px;

}





.taxo-post-relative-title .small h3 {
     font-size: 13px;

}


h2.taxonomy-titre-white {
     color: #ffffff;

}

h2.taxonomy-titre-white {
     border-left: none;
     text-align: center;
     font-size: 48px;
     line-height: 60px;
     overflow: hidden;

}

/* COLONNES */
/* -------------------------------------------------------------- */
.column {

    /*margin-bottom: 20px;*/
-webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
     box-sizing: border-box;

}

.column .col-group {
     display: block;

}

.column-wrap {
     max-width: calc( 100% + 20px );
     margin: 0 -10px;
     overflow: hidden;

}

.column {
     padding: 0 10px;
     float: left;
     margin-bottom: 20px;

}

.column-wrap .one {
     width: 100%;

}

.column-wrap .one-half {
     width: 50%;

}

.column-wrap .one-third {
     width: 33.33%;

}

.column-wrap .one-fourth {
     width: 25%;

}

.column-wrap .one-fifth {
     width: 20%;

}

.column-wrap .one-sixth {
     width: 16.66%;

}

.column-wrap .two-thirds {
     width: 66.66%;

}

.column-wrap .two-fourths {
     width: 50%;

}

.column-wrap .three-fourths {
     width: 75%;

}

.column-wrap .two-fifths {
     width: 40%;

}

.column-wrap .three-fifths {
     width: 60%;

}

.column-wrap .four-fifths {
     width: 80%;

}

.column-wrap .two-sixths {
     width: 33.33%;

}

.column-wrap .three-sixths {
     width: 50%;

}

.column-wrap .four-sixths {
     width: 66.66%;

}

.column-wrap .five-sixths {
     width: 83.33%;

}

.column-wrap .one-eight {
     width: 12.5%;

}

.column-wrap .one-nine {
     width: 11.1%;

}

.one-nine img {
     max-width: 100%;
     height: auto;

}

.one-third img {
     width: 100%;

}

.two-thirds img {

}



.picto img {
     width: 16px;
     height: 16px;

}



p.marker-green, p.marker-green a {
     text-align: center;
     color: #8daf3b;
     padding-top: 20px;

}

p.marker-green a:hover {
     color: #333333;

}

#mailjet {
     background-color: #8daf3b;

}
=

#pictoheader a {
     font-weight: 700;
     color: #8daf3b;

}

/* VERSION MOBILE : on accepte le retour à la ligne, mais proprement */
@media only screen and (min-device-width : 280px) and (max-device-width : 700px) {
     #pictoheader {
         display: inline-flex;
         flex-wrap: wrap;

        /* centre le bloc complet */
row-gap: 2px;
         column-gap: 6px;
         max-width: 90%;

    }

#pictoheader a {
         white-space: nowrap;

        /* "Inverness", "Highland", "Écosse" restent chacun sur une seule ligne */
font-size: 0.66rem;
	font-weight : 700;

    }

.localisation-slider {
         text-align: center;

    }

}

/* Le paragraphe de localisation : on le centre */
.localisation-slider {
     text-align: center;

}

/* Le bloc qui contient l’icône + les liens */
#pictoheader {
     display: inline-flex;

    /* on met tout sur une même “ligne” */
align-items: center;

    /* centrage vertical icône / texte */
gap: 2px;

    /* espace entre l’icône et le texte */
}

/* L’icône de localisation */
#pictoheader img.header-post {
     width: 25px;
     height: 25px;
     flex-shrink: 0;

    /* l’icône ne se compresse pas */
margin-top : -10px;

}

/* Optionnel : si tu as un vieux float sur .imgleft, on le neutralise ici */
.imgleft {
     float: none !important;

}

/* Single-site-touristique */
#cartographie {
     border: 1px solid #DEDEDE;
     border-radius: 20px;
     padding: 20px;
     font-size: 16px;
     box-shadow: 0 1px 2px rgba(0,0,0,.08),0 4px 12px rgba(0,0,0,.05);
     padding-bottom: 30px;

}


/* SVG */
.pictos-reseaux-sociaux {
     width: 32px;
     height: 32px;

}

img.pictos-reseaux-sociaux {
     width: 32px !important;
     height: 32px !important;

}

img.picto-16x16 {
     width: 16px;
     height: auto;
     vertical-align: middle;

}

img.vertical-align {
     vertical-align: middle;

}




#conditions-concours p {
     font-size: 16px;

}

#lots-concours li {
     font-size: 18px;

}

.confirmation-concours-titre {
     font-size: 36px;
     text-align: center;

}

.confirmation-concours-titre {
     font-size: 36px;
     text-align: center;
     font-family: 'League Spartan', sans-serif;
     font-weight: 700;

}

.confirmation-concours-description {
     font-size: 24px;
     text-align: center;
     font-weight: 100;

}



h3.300-weight-font a {
     color: #000 !important;
     font-weight: 300 !important;

}

img.thumbnail-left {
     float: left;
     width: 40%;
     height: auto;
     margin-right: 10px;

}


.borderadius img {
     border-radius: 10px 10px 0 0;

}


}

/* Produits affiliation */
.product-image img {
     width: 180px;
     height: auto;
     float: left;
     margin-right: 40px;

}

.product-title a {
     font-size: 18px;
     line-height: 20px;
     color: #000;
     font-weight: 400;

}

#bouton-amazon-bottom {
     position: absolute;

    /* Positionne .btn par rapport à sa boîte parente #boite */
bottom: 0;

    /* Fixe .btn à 5px du bas de la boîte */
right : 20px;
     align-items: center;
     background-color: #FFDD17;

    /* Couleur de fond du bouton */
color: white;

    /* Couleur du texte */
padding-top : 5px;
     padding-left: 10px;
     padding-right: 10px;
     padding-bottom: 5px;
     text-decoration: none;

    /* Supprime le soulignement du texte */
border-radius: 10px;

    /* Bords arrondis du bouton */
font-size: 16px;

    /* Taille du texte */
margin-bottom : 10px;
     text-align: center;

}

#bouton-amazon-bottom a {
     color: #333;

}




img.picto-related {
     width: 28px;
     height: auto;
     float: left;
     padding-right: 10px;

}



/* WP Forms */
.wpforms-form .wpforms-field input.wpforms-error, .wpforms-form .wpforms-field textarea.wpforms-error, .wpforms-form .wpforms-field select.wpforms-error {
     border: 1px solid #000 !important;

}

.wpforms-form .wpforms-required-label {
     color: #8daf3b;
     font-weight: 400;

}

div.wpforms-container-full .wpforms-confirmation-container-full {
     background-color: #8daf3b !important;
     padding-top: 80px !important;
     padding-bottom: 80px !important;

}

.wpforms-form button[type=submit] {
     background-color: #8daf3b !important;
     color: #fff !important;
     transition: background 0.3s ease-in-out;

}

.wpforms-form button[type=submit]:hover {
     background-color: #0B493E !important;

}

/* Ils parlent de nous */
h2.ilsparlentdenous {
     text-align: center;
     text-transform: uppercase;
     margin-top: 40px;
     font-size: 36px !important;
     color: #fff;

}

h2.ilsparlentdenous span {
     color: #8daf3b;

}

#top-search img {
     display: none;

}

/* BOUTONS */
#bouton a {
     display: block;

    /* Permet au bouton de prendre la largeur complète */
width: 100%;

    /* Adapte à la largeur du conteneur */
background-color: #8daf3b;
     padding: 10px;
     color: #ffffff;
     text-align: center;
     font-weight: 700;
     font-size: 22px;
     text-decoration: none;
     box-sizing: border-box;
     border-radius: 5px;

    /* Optionnel : arrondi des coins */
margin-bottom : 40px;

}



img.responsiveimg {
     max-width: 50%;
     height: auto;

}

.nina-timeline {
     max-width: 800px;
     margin: 2rem auto;
     font-family: system-ui, sans-serif;
     color: #111;
     line-height: 1.6;
     position: relative;

}

.timeline {
     position: relative;
     margin: 2rem 0;
     padding-left: 2.5rem;

    /* espace pour la ligne + les ronds */
border-left: 3px solid #0f766e;

    /* ligne verte */
}

.event {
     position: relative;
     margin-bottom: 2rem;
     max-width: 75%;

}

/* Ronds : centrés verticalement */
.event::before {
     content: "";
     position: absolute;
     left: -1.8rem;

    /* recule le rond dans la marge */
top: 0.2em;

    /* alignement avec la première ligne du texte */
width: 16px;
     height: 16px;
     border-radius: 50%;
     background: #0f766e;
     border: 3px solid #0f766e;

}

.event time {
     font-weight: bold;
     color: #0f766e;
     display: block;
     margin-bottom: 0.4rem;
     font-size: 1rem;

}

.event h4 {
     margin: 0.2rem 0;
     font-size: 1.05rem;
     line-height: 1.3;

}

.event p {
     margin: 0.2rem 0 0.8rem;
     font-size: 0.95rem;

}

/* Sur mobile : largeur complète */
@media (max-width: 600px) {
     .event {
         max-width: 100%;

    }

}

.hide-field {
    display: none;

}

/* Concours */
.score-message.success-message {
     color: #ffffff;
     font-size: 36px;
     text-align: center;
     font-weight: 700;

}

.explication-message {
     color: #ffffff;
     font-size: 26px;
     text-align: center;
     font-weight: 400;

}

b.lwptoc_title {
     font-weight: 700 !important;

}

.lwptoc a {
     font-weight: 400 !important;
     font-size: 14px !important;

}

div.wpforms-container-full .wpforms-form .wpforms-pagebreak-left .wpforms-page-button {
     background-color: #b43127 !important;

}

/* Bannière Brittany Ferries – Guide-Irlande.com */
/* Structure principale */
.gi-bf-banner-split {
     display: flex;
     width: 100%;
     max-width: 1200px;
     margin: 2rem auto;
     border-radius: 14px;
     overflow: hidden;
     box-shadow: 0 18px 45px rgba(0,0,0,0.25);
     font-family: system-ui, sans-serif;

}

.gi-bf-banner-link {
     display: flex;
     width: 100%;
     text-decoration: none;
     color: inherit;

}

/* Colonne image */
.gi-bf-col-image {
     width: 50%;
     background-image: url('/wp-content/themes/guide-irlande-2018/images/brittany-ferries.jpg');
     background-size: cover;
     background-position: center;

}

/* Colonne texte */
.gi-bf-col-text {
     width: 50%;
     background: #ffffff;
     display: flex;
     align-items: center;
     padding: 2rem 2.5rem;

}

.gi-bf-text-inner {
     max-width: 420px;

}

/* Style du texte */
.gi-bf-eyebrow {
     text-transform: uppercase;
     font-size: 0.8rem;
     letter-spacing: 0.1em;
     margin-bottom: 0.7rem;
     color: #555;

}

.gi-bf-title {
     font-size: 1.9rem;
     margin-bottom: 1rem;
     line-height: 1.9rem;
     color: #00285f;

}

.gi-bf-subtitle {
     font-size: 1rem;
     line-height: 1.2rem;
     margin-bottom: 1rem;
     color: #333;

}

.gi-bf-highlights {
     font-size: 0.95rem;
     margin-bottom: 1.4rem;
     color: #444;

}

/* CTA */
.gi-bf-cta {
     display: inline-flex;
     padding: 0.85rem 1.8rem;
     background: linear-gradient(135deg, #02c0ff, #06e4bb);
     color: #041021;
     border-radius: 50px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.05em;
     box-shadow: 0 10px 25px rgba(0,0,0,0.25);
     transition: 0.2s ease;

}

.gi-bf-cta:hover {
     transform: translateY(-2px);
     box-shadow: 0 15px 30px rgba(0,0,0,0.35);

}

@media (max-width: 900px) {
     .gi-bf-banner-split {
         flex-direction: column;

        /* l'image en premier */
    }

.gi-bf-col-image {
         width: 100%;
         min-height: 260px;
         order: 1;
         background-position: center top;
         background-size: cover;

    }

.gi-bf-col-text {
         width: 100%;
         order: 2;
         padding: 1.8rem 1.4rem;
         background: #ffffff;

        /* lisibilité parfaite */
    }

.gi-bf-text-inner {
         max-width: 100%;
         text-align: center;

        /* meilleur rendu mobile */
    }

.gi-bf-title {
         font-size: 1.5rem;
         width: 85%;

    }

.gi-bf-subtitle, .gi-bf-highlights {
         font-size: 0.95rem;
         width: 85%;

    }

.gi-bf-cta {
         width: 100%;
         padding: 0.9rem 1.2rem;
         display: inline-flex;
         justify-content: center;
         font-size: 0.95rem;

    }

}

@media (max-width: 600px) {

    /* On passe le lien en colonne → image en haut, texte en bas */
.gi-bf-banner-link {
         flex-direction: column;

    }

.gi-bf-col-image, .gi-bf-col-text {
         width: 100%;

    }

.gi-bf-col-image {
         order: 1;
         min-height: 230px;
         background-position: center top;

    }

.gi-bf-col-text {
         order: 2;
         padding: 1.6rem 1.4rem 2rem;
         background: #ffffff;
         justify-content: center;

    }

.gi-bf-text-inner {
         max-width: 100%;
         text-align: center;

    }

.gi-bf-cta {
         width: 70%;

    }

}




/* =========================================================
   GUIDE IRLANDE — MAGAZINE PREMIUM GRID + CARDS
========================================================= */

.gi-magazine-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 34px;
    align-items: stretch;
    width: 100%;
}

/* Neutralisation des anciens styles */
#format-350,
.article-home,
.container-img {
    float: none !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* =========================
   Carte globale
========================= */

.gi-mag-card {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 14px 38px rgba(11, 73, 62, .10);
    transition: transform .25s ease, box-shadow .25s ease;
}

.gi-mag-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 58px rgba(11, 73, 62, .17);
}

.gi-mag-card,
.gi-mag-card * {
    box-sizing: border-box;
}

.gi-mag-card a {
    text-decoration: none;
}

.gi-mag-card__media {
    display: block;
    overflow: hidden;
    width: 100%;
}

.gi-mag-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s ease, filter .55s ease;
}

.gi-mag-card:hover .gi-mag-card__media img {
    transform: scale(1.055);
}

/* =========================
   Carte à la une
========================= */

.gi-mag-card--featured {
    grid-column: span 2;
    min-height: 500px;
    color: #fff;
}

.gi-mag-card--featured .gi-mag-card__media,
.gi-mag-card--featured .gi-mag-card__media img {
    height: 600px;
}

.gi-mag-card--featured::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
background: linear-gradient(
    180deg,
    rgba(11,73,62,0) 20%,
    rgba(11,73,62,.10) 50%,
    rgba(11,73,62,.70) 100%
);
}

.gi-mag-card__overlay {
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 28px;
    z-index: 3;
    padding-right: 64px;
}

.gi-mag-card--featured .gi-mag-card__title {
    margin: 0;
    font-size: clamp(1.7rem, 2.4vw, 2.35rem);
    line-height: 1.05;
    font-weight: 850;
    letter-spacing: -0.045em;
}

.gi-mag-card--featured .gi-mag-card__title a {
    color: #fff;
    text-shadow: 0 4px 20px rgba(0, 0, 0, .30);
}

.gi-mag-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 16px;
    color: #d8f5e6;
    font-size: .9rem;
    font-weight: 650;
}

.gi-mag-card--featured .gi-mag-card__location,
.gi-mag-card--featured .gi-mag-card__location a,
.gi-mag-card--featured .gi-mag-card__rating,
.gi-mag-card--featured .gi-mag-card__rating a {
    color: #d8f5e6;
}

/* =========================
   Carte compacte
========================= */

.gi-mag-card--compact {
    display: flex;
    flex-direction: column;
    height: 600px;
}

.gi-mag-card--compact .gi-mag-card__media,
.gi-mag-card--compact .gi-mag-card__media img {
    height: 220px;
}

.gi-mag-card--compact .gi-mag-card__content {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 280px;
    padding: 22px 22px 20px;
}

.gi-mag-card__category {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 28px;
    margin-bottom: 14px;
}

.gi-mag-card__category a {
    display: inline-flex;
    align-items: center;
    padding: 6px 11px;
    border-radius: 999px;
    background: #eaf6ef;
    color: #0b493e;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .055em;
}

.gi-mag-card--compact .gi-mag-card__title {
    margin: 0;
    min-height: 46px;
    font-size: 1.25rem;
    line-height: 1.16;
    font-weight: 850;
    letter-spacing: -0.03em;
}

.gi-mag-card--compact .gi-mag-card__title a {
    color: #0b493e;
}

.gi-mag-card--compact .gi-mag-card__title a:hover {
    color: #11735f;
}

.gi-mag-card__excerpt {
    display: -webkit-box;
    max-height: 96px;
	overflow: hidden;
    color: #45635b;
    font-size: .95rem;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}

.gi-mag-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: auto;
}

.gi-mag-card--compact .gi-mag-card__location {
    color: #5f7c73;
    font-size: .86rem;
    font-weight: 650;
}

.gi-mag-card--compact .gi-mag-card__location a {
    color: #5f7c73;
}

.gi-mag-card__rating--compact {
    min-height: 22px;
    margin-top: 10px;
    color: #5f7c73;
    font-size: .82rem;
}

/* =========================
   Icône localisation
========================= */

.gi-mag-card__location-icon {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 6px;
    vertical-align: -2px;
    background-color: currentColor;
    mask: url("https://www.guide-irlande.com/wp-content/themes/guide-irlande-2018/images/svg/localisation-green-light.svg") center / contain no-repeat;
    -webkit-mask: url("https://www.guide-irlande.com/wp-content/themes/guide-irlande-2018/images/svg/localisation-green-light.svg") center / contain no-repeat;
}

/* =========================
   Bouton +
========================= */

.gi-mag-card__more {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #f7c948;
    color: #0b493e;
    font-size: 1.55rem;
    line-height: 1;
    font-weight: 850;
    box-shadow: 0 12px 26px rgba(0, 0, 0, .18);
    transition: transform .25s ease, background .25s ease, color .25s ease;
}

.gi-mag-card__more:hover {
    transform: rotate(90deg) scale(1.06);
    background: #0b493e;
    color: #fff;
}

.gi-mag-card--featured > .gi-mag-card__more {
    position: absolute;
    right: 28px;
    bottom: 28px;
    z-index: 4;
}

.gi-mag-card--compact .gi-mag-card__more {
    width: 40px;
    height: 40px;
    font-size: 1.4rem;
    box-shadow: none;
}

/* =========================
   Lien édition
========================= */

.gi-mag-card__edit {
    position: relative;
    z-index: 10;
    display: inline-block;
    margin-top: 12px;
    font-size: .75rem;
}

.gi-mag-card__edit a {
    color: #0b493e;
    font-weight: 700;
}

.gi-mag-card--featured .gi-mag-card__edit {
    position: absolute;
    left: 28px;
    top: 24px;
    margin: 0;
}

.gi-mag-card--featured .gi-mag-card__edit a {
    color: #fff;
}

/* =========================
   Responsive
========================= */

@media (max-width: 1100px) {
    .gi-magazine-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .gi-mag-card--featured {
        grid-column: span 2;
    }
}

.gi-magazine-item--featured {
    grid-column: span 2;
}

@media (max-width: 768px) {
    .gi-magazine-grid {
        grid-template-columns: 1fr !important;
        gap: 24px;
    }

    .gi-magazine-grid > *,
    .gi-mag-card,
    .gi-magazine-item,
    .gi-magazine-item--featured {
        width: 100%;
        max-width: 100%;
        grid-column: 1 / -1 !important;
    }

    .gi-mag-card {
        border-radius: 20px;
    }

    .gi-mag-card--featured {
        min-height: auto;
    }

    .gi-mag-card--featured .gi-mag-card__media,
    .gi-mag-card--featured .gi-mag-card__media img {
        height: 390px;
    }

    .gi-mag-card__overlay {
        left: 22px;
        right: 22px;
        bottom: 22px;
        padding-right: 58px;
    }

    .gi-mag-card--featured .gi-mag-card__title {
        font-size: 1.55rem;
    }

    .gi-mag-card__meta {
        font-size: .84rem;
    }

    .gi-mag-card--featured > .gi-mag-card__more {
        right: 22px;
        bottom: 22px;
    }

    .gi-mag-card--compact {
        min-height: auto;
    }

    .gi-mag-card--compact .gi-mag-card__media,
    .gi-mag-card--compact .gi-mag-card__media img {
        height: 220px;
    }

    .gi-mag-card--compact .gi-mag-card__content {
        min-height: 0;
        padding: 20px;
    }

    .gi-mag-card--compact .gi-mag-card__title,
    .gi-mag-card__excerpt {
        min-height: 0;
    }
}



/* TAXO REGION */

.gi-taxo-page,
.gi-taxo-bottom {
    max-width: 1180px;
    margin: 0 auto;
    padding: 34px 22px 0;
}

.gi-taxo-hero {
    position: relative;
}

.gi-taxo-hero__media.slider {
    position: relative;
    overflow: hidden;
}

.gi-taxo-hero__content {
    max-width: 820px;
}

.gi-taxo-hero__label,
.gi-taxo-kicker,
.gi-taxo-section__heading span {
    display: inline-flex;
    margin-bottom: 12px;
    color: #B9975B;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-taxo-hero__caption {
    right: 24px;
    bottom: 24px;
    padding: 8px 13px;
    color: #fff;
    font-size: .78rem;
    background: rgba(11, 73, 62, .76);
    backdrop-filter: blur(10px);
    border-radius: 999px;
}

.gi-taxo-breadcrumbs {
    margin-bottom: 22px;
    color: #65756f;
    font-size: .9rem;
}

.gi-taxo-intro {
    margin-bottom: 30px;
    padding: 42px;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.18), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f7faf8 100%);
    border: 1px solid #e6ece8;
    border-radius: 30px;
    box-shadow: 0 24px 70px rgba(11, 73, 62, .10);
}

.gi-taxo-intro .h2-taxonomy {
    margin: 0;
    color: #0B493E;
    font-size: clamp(2rem, 4vw, 3.1rem);
    line-height: 1.06;
    letter-spacing: -.05em;
}

.gi-taxo-intro .h2-taxonomy span {
    color: #0B493E;
}

.gi-taxo-intro__description {
    max-width: 820px;
    margin-top: 16px;
    color: #65756f;
    font-size: 1.08rem;
    line-height: 1.75;
}

.gi-taxo-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.gi-taxo-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 18px;
    color: #fff !important;
    font-size: .92rem;
    font-weight: 900;
    text-decoration: none !important;
    background: #0B493E;
    border: 1px solid #0B493E;
    border-radius: 999px;
    box-shadow: 0 12px 26px rgba(11, 73, 62, .18);
}

.gi-taxo-btn--light {
    color: #0B493E !important;
    background: #fff;
    border-color: #e6ece8;
    box-shadow: none;
}

.gi-taxo-btn:hover {
    color: #fff !important;
    background: #B9975B;
    border-color: #B9975B;
}

.gi-taxo-share,
.gi-taxo-hub {
    margin-bottom: 28px;
}

.gi-taxo-section {
    margin: 34px 0;
}

.gi-taxo-section__heading {
    margin-bottom: 18px;
}

.gi-taxo-section__heading .taxonomy-titre {
    margin: 0;
    color: #0B493E;
    font-size: clamp(1.55rem, 3vw, 2.2rem);
    line-height: 1.15;
    letter-spacing: -.035em;
}

.gi-taxo-section__heading .taxonomy-titre em {
    color: #B9975B;
    font-style: normal;
}

.gi-taxo-map-card {
    padding: 18px;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 28px;
    box-shadow: 0 22px 60px rgba(11, 73, 62, .10);
    overflow: hidden;
}

.gi-taxo-map-card iframe,
.gi-taxo-map-card img,
.gi-taxo-map-card svg,
.gi-taxo-map-card #map,
.gi-taxo-map-card #mapid {
    max-width: 100%;
    border-radius: 22px;
}

.gi-taxo-main-loops,
.gi-taxo-media-section,
.gi-taxo-booking-section,
.gi-taxo-transport-section,
.gi-taxo-info-section,
.gi-taxo-related-grid,
.gi-taxo-description {
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 28px;
    box-shadow: 0 18px 45px rgba(11, 73, 62, .08);
    overflow: hidden;
}

.gi-taxo-main-loops,
.gi-taxo-media-section,
.gi-taxo-booking-section,
.gi-taxo-transport-section,
.gi-taxo-info-section {
    padding: 30px;
}

.gi-taxo-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding: 28px;
}

.gi-taxo-related-grid > * {
    min-width: 0;
}

.gi-taxo-bottom {
    padding-bottom: 60px;
}

.gi-taxo-bottom__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 28px;
    align-items: start;
}

.gi-taxo-description {
    padding: 34px;
}

.gi-taxo-bottom .sidebar,
.gi-taxo-bottom aside {
    min-width: 0;
}

@media (max-width: 980px) {
    .gi-taxo-related-grid,
    .gi-taxo-bottom__layout {
        grid-template-columns: 1fr;
    }

    .gi-taxo-related-grid {
        gap: 22px;
    }
}

@media (max-width: 720px) {
    .gi-taxo-page,
    .gi-taxo-bottom {
        padding-left: 16px;
        padding-right: 16px;
    }

    .gi-taxo-intro {
        padding: 28px 22px;
        border-radius: 24px;
    }

    .gi-taxo-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .gi-taxo-btn {
        width: 100%;
    }

    .gi-taxo-map-card,
    .gi-taxo-main-loops,
    .gi-taxo-media-section,
    .gi-taxo-booking-section,
    .gi-taxo-transport-section,
    .gi-taxo-info-section,
    .gi-taxo-related-grid,
    .gi-taxo-description {
        padding: 22px;
        border-radius: 22px;
    }

    .gi-taxo-section {
        margin: 26px 0;
    }
}

/* =========================================================
   POSTS RELATIFS — VERSION PREMIUM COMPACTE
========================================================= */

.gi-related-section {
    margin: 54px 0;
    clear: both;
}

.gi-related-title {
    margin-bottom: 24px;
}

/* Grilles */
.gi-related-grid {
    display: grid;
    width: 100%;
    gap: 24px;
    margin-bottom: 34px;
}

.gi-related-grid--featured {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gi-related-grid--small {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gi-related-grid--addresses {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Grande carte compacte */
.gi-related-card {
    position: relative;
    overflow: hidden;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 10px 28px rgba(11, 73, 62, .10);
    transition: transform .25s ease, box-shadow .25s ease;
}

.gi-related-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 44px rgba(11, 73, 62, .16);
}

.gi-related-card a {
    text-decoration: none;
}

.gi-related-card__media {
    display: block;
    overflow: hidden;
}

.gi-related-card__media img {
    display: block;
    width: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.gi-related-card:hover .gi-related-card__media img {
    transform: scale(1.045);
}

.gi-related-card--large {
    min-height: 300px;
}

.gi-related-card--large .gi-related-card__media,
.gi-related-card--large .gi-related-card__media img {
    height: 300px;
}

.gi-related-card--large::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(11, 73, 62, 0) 20%,
        rgba(11, 73, 62, .20) 52%,
        rgba(11, 73, 62, .82) 100%
    );
    pointer-events: none;
}

.gi-related-card__overlay {
    position: absolute;
    left: 22px;
    right: 64px;
    bottom: 22px;
    z-index: 2;
}

.gi-related-card--large .gi-related-card__title {
    margin: 0;
    font-size: 1.35rem;
    line-height: 1.1;
    font-weight: 850;
    letter-spacing: -0.03em;
}

.gi-related-card--large .gi-related-card__title a {
    color: #fff;
    text-shadow: 0 3px 16px rgba(0,0,0,.28);
}

.gi-related-card__meta,
.gi-related-card__meta a {
    margin-top: 8px;
    color: #d8f5e6;
    font-size: .84rem;
    font-weight: 650;
}

/* Petites cartes */
.gi-related-card--small {
    display: flex;
    min-height: 130px;
}

.gi-related-card--small .gi-related-card__media {
    flex: 0 0 112px;
}

.gi-related-card--small .gi-related-card__media img {
    height: 100%;
    min-height: 130px;
}

.gi-related-card__content {
    padding: 16px;
}

.gi-related-card--small .gi-related-card__title {
    margin: 0;
    font-size: 1rem;
    line-height: 1.12;
    font-weight: 800;
}

.gi-related-card--small .gi-related-card__title a {
    color: #0b493e;
}

.gi-related-card--small .gi-related-card__meta,
.gi-related-card--small .gi-related-card__meta a {
    color: #5f7c73;
}

/* Bouton + */
.gi-related-card__more {
    position: absolute;
    right: 18px;
    bottom: 18px;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #f7c948;
    color: #0b493e;
    font-size: 1.35rem;
    line-height: 1;
    font-weight: 850;
    transition: transform .25s ease, background .25s ease, color .25s ease;
}

.gi-related-card__more:hover {
    transform: rotate(90deg) scale(1.06);
    background: #fff;
    color: #0b493e;
}

/* Adresses */
.gi-related-address-card {
    display: flex;
    overflow: hidden;
    min-height: 120px;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 10px 26px rgba(11, 73, 62, .09);
}

.gi-related-address-card__media {
    flex: 0 0 105px;
}

.gi-related-address-card__media img {
    display: block;
    width: 105px;
    height: 100%;
    min-height: 120px;
    object-fit: cover;
}

.gi-related-address-card__content {
    padding: 15px;
}

.gi-related-address-card__title {
    margin: 0;
    font-size: 1rem;
    line-height: 1.12;
    font-weight: 800;
}

.gi-related-address-card__title a {
    color: #0b493e;
}

.gi-related-address-card__meta,
.gi-related-address-card__meta a {
    margin-top: 8px;
    color: #5f7c73;
    font-size: .82rem;
    font-weight: 650;
}

/* Icône localisation */
.gi-related-card__location-icon {
    display: inline-block;
    width: 13px;
    height: 13px;
    margin-right: 5px;
    vertical-align: -2px;
    background-color: currentColor;
    mask: url("https://www.guide-irlande.com/wp-content/themes/guide-irlande-2018/images/svg/localisation-green-light.svg") center / contain no-repeat;
    -webkit-mask: url("https://www.guide-irlande.com/wp-content/themes/guide-irlande-2018/images/svg/localisation-green-light.svg") center / contain no-repeat;
}

/* Responsive */
@media (max-width: 1100px) {
    .gi-related-grid--small {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gi-related-grid--addresses {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .gi-related-grid--featured,
    .gi-related-grid--small,
    .gi-related-grid--addresses {
        grid-template-columns: 1fr;
    }

    .gi-related-card--large,
    .gi-related-card--large .gi-related-card__media,
    .gi-related-card--large .gi-related-card__media img {
        height: 260px;
        min-height: 260px;
    }

    .gi-related-card--small,
    .gi-related-address-card {
        min-height: 110px;
    }
}







#infos-pratiques-widget.gi-premium-info {
    --gi-green: #0B493E;
    --gi-gold: #B9975B;
    --gi-ink: #16231f;
    --gi-muted: #65756f;
    --gi-line: #e6ece8;
    --gi-soft: #f7faf8;
    --gi-white: #ffffff;

    margin: 52px 0;
    background: var(--gi-white);
    border: 1px solid var(--gi-line);
    border-radius: 30px;
    box-shadow: 0 26px 80px rgba(11, 73, 62, .12);
    overflow: hidden;
}

.gi-premium-info__hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 28px;
    padding: 38px 42px;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.18), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f8fbf9 100%);
    border-bottom: 1px solid var(--gi-line);
}

.gi-premium-info__label,
.gi-premium-section-title span,
.gi-premium-booking__intro span,
.gi-premium-info__tip span {
    display: inline-flex;
    margin-bottom: 11px;
    color: var(--gi-gold);
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-premium-info__hero h2 {
    margin: 0;
    color: var(--gi-green);
    font-size: clamp(1.75rem, 3vw, 2.65rem);
    line-height: 1.04;
    letter-spacing: -.045em;
}

.gi-premium-info__hero p {
    max-width: 720px;
    margin: 13px 0 0;
    color: var(--gi-muted);
    font-size: 1.03rem;
    line-height: 1.7;
}

.gi-premium-info__hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.gi-premium-info__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 18px;
    color: #fff !important;
    font-size: .92rem;
    font-weight: 900;
    text-decoration: none !important;
    background: var(--gi-green);
    border: 1px solid var(--gi-green) !important;
    border-radius: 999px;
    box-shadow: 0 12px 26px rgba(11,73,62,.18);
    white-space: nowrap;
}

.gi-premium-info__cta--light {
    color: var(--gi-green) !important;
    background: #fff;
    border-color: var(--gi-line) !important;
    box-shadow: none;
}

.gi-premium-info__cta:hover {
    color: #fff !important;
    background: var(--gi-gold);
    border-color: var(--gi-gold) !important;
}

.gi-premium-info__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 38px;
    padding: 18px 42px 22px;
}

.gi-premium-info__item {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 19px;
    padding: 23px 0;
    border-bottom: 1px solid var(--gi-line);
    min-width: 0;
}

.gi-premium-info__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    color: var(--gi-green);
    background: #f1f7f4;
    border: 1px solid #dcebe4;
    border-radius: 50%;
    flex: 0 0 auto;
}

.gi-premium-info__icon svg {
    width: 21px;
    height: 21px;
    fill: currentColor;
}

.gi-premium-info__item strong {
    display: block;
    margin-bottom: 6px;
    color: var(--gi-ink);
    font-size: .83rem;
    font-weight: 950;
    letter-spacing: .085em;
    text-transform: uppercase;
}

.gi-premium-info__item p {
    margin: 0;
    color: #2d3f39;
    font-size: 1rem;
    line-height: 1.72;
}

.gi-premium-info__item a {
    color: var(--gi-green);
    font-weight: 700 !important;
    text-decoration: none;
}

.gi-premium-info__item a:hover {
    color: var(--gi-gold);
}

.gi-premium-info__notice {
    display: block;
    margin-top: 9px;
    color: #7c8a84;
    font-size: .78rem;
    line-height: 1.55;
}

.gi-premium-info__item p ul,
.gi-premium-info__item ul {
    margin: 10px 0 0 !important;
    padding-left: 0 !important;
    list-style: none !important;
}

.gi-premium-info__item p li,
.gi-premium-info__item li {
    position: relative;
    margin: 0 0 8px !important;
    padding-left: 24px !important;
    color: #2d3f39;
    line-height: 1.6;
}

.gi-premium-info__item p li:last-child,
.gi-premium-info__item li:last-child {
    margin-bottom: 0 !important;
}

.gi-premium-info__item p li::before,
.gi-premium-info__item li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .68em;
    width: 7px;
    height: 7px;
    background: var(--gi-gold);
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(185, 151, 91, .14);
    transform: translateY(-50%);
}

.gi-premium-info__tip {
    margin: 0;
    padding: 30px 42px;
    background: linear-gradient(135deg, rgba(11,73,62,.98), rgba(9,61,52,.96));
    border-top: 1px solid rgba(255,255,255,.08);
	color : #fff;
}

.gi-premium-info__tip span {
    color: #e4c585;
}

.gi-premium-info__tip p {
    max-width: 920px;
    margin: 0;
    color: #fff;
    font-size: 1.02rem;
    line-height: 1.75;
}

.gi-premium-booking {
    padding: 36px 42px;
    background: var(--gi-soft);
    border-top: 1px solid var(--gi-line);
}

.gi-premium-booking__intro {
    max-width: 760px;
    margin-bottom: 24px;
}

.gi-premium-booking__intro h3,
.gi-premium-section-title h3 {
    margin: 0 0 9px;
    color: var(--gi-green);
    font-size: 1.48rem;
    line-height: 1.22;
    letter-spacing: -.025em;
}

.gi-premium-booking__intro p {
    margin: 0;
    color: var(--gi-muted);
    font-size: .99rem;
    line-height: 1.68;
}

.gi-premium-booking__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
    gap: 18px;
}

.gi-premium-booking__card {
    min-width: 0;
    padding: 20px;
    background: #fff;
    border: 1px solid var(--gi-line);
    border-radius: 22px;
    box-shadow: 0 15px 38px rgba(11, 73, 62, .08);
    overflow: hidden;
}

.gi-premium-booking__card--wide {
    grid-column: span 2;
}

.gi-premium-booking__card-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.gi-premium-booking__card-title .gi-premium-info__icon {
    width: 36px;
    height: 36px;
}

.gi-premium-booking__card-title .gi-premium-info__icon svg {
    width: 18px;
    height: 18px;
}

.gi-premium-booking__card-title strong {
    display: block;
    color: var(--gi-green);
    font-size: .84rem;
    font-weight: 950;
    letter-spacing: .085em;
    text-transform: uppercase;
}

.gi-premium-booking__card iframe {
    width: 100%;
    max-width: 100%;
    border: 0;
    border-radius: 16px;
}

.gi-premium-booking__card script + iframe,
.gi-premium-booking__card div,
.gi-premium-booking__card form {
    max-width: 100%;
}

.gi-premium-info__walk,
.gi-premium-info__map-section {
    padding: 36px 42px;
    border-top: 1px solid var(--gi-line);
    background: #fff;
}

.gi-premium-info__walk {
    background: #fbfdfc;
}

.gi-premium-section-title {
    margin-bottom: 22px;
}

.gi-premium-info__chips {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 14px;
}

.gi-premium-info__chips div {
    padding: 19px;
    background: #fff;
    border: 1px solid var(--gi-line);
    border-radius: 20px;
    box-shadow: 0 12px 30px rgba(11, 73, 62, .055);
}

.gi-premium-info__chips .gi-premium-info__icon {
    width: 38px;
    height: 38px;
    margin-bottom: 12px;
}

.gi-premium-info__chips .gi-premium-info__icon svg {
    width: 18px;
    height: 18px;
}

.gi-premium-info__chips strong {
    display: block;
    margin-bottom: 7px;
    color: var(--gi-gold);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .105em;
    text-transform: uppercase;
}

.gi-premium-info__chips span {
    display: block;
    color: var(--gi-ink);
    font-size: .94rem;
    line-height: 1.58;
}

#infos-pratiques-widget #mapid {
    height: 520px !important;
    margin: 0;
    border: 1px solid var(--gi-line);
    border-radius: 24px;
    box-shadow: 0 18px 44px rgba(11,73,62,.13);
    overflow: hidden;
}

.gi-premium-info__popup {
    min-width: 170px;
    text-align: center;
}

.gi-premium-info__popup img {
    display: block;
    width: 100%;
    object-fit: cover;
    margin-bottom: 9px;
    border-radius: 14px;
}

.gi-premium-info__popup strong {
    color: var(--gi-green);
    font-size: .96rem;
}

@media (max-width: 980px) {
    .gi-premium-info__hero {
        display: block;
    }

    .gi-premium-info__hero-actions {
        justify-content: flex-start;
        margin-top: 20px;
    }

    .gi-premium-booking__card--wide {
        grid-column: span 1;
    }
}

@media (max-width: 860px) {
    .gi-premium-info__list {
        grid-template-columns: 1fr;
        gap: 0;
    }
}

@media (max-width: 680px) {
    #infos-pratiques-widget.gi-premium-info {
        margin: 36px 0;
        border-radius: 22px;
    }

    .gi-premium-info__hero,
    .gi-premium-info__list,
    .gi-premium-info__tip,
    .gi-premium-booking,
    .gi-premium-info__walk,
    .gi-premium-info__map-section {
        padding-left: 22px;
        padding-right: 22px;
    }

    .gi-premium-info__hero {
        padding-top: 28px;
        padding-bottom: 28px;
    }

    .gi-premium-info__item {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 14px;
        padding: 20px 0;
    }

    .gi-premium-info__icon {
        width: 38px;
        height: 38px;
    }

    .gi-premium-info__icon svg {
        width: 18px;
        height: 18px;
    }

    .gi-premium-info__hero-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .gi-premium-info__cta {
        width: 100%;
    }

    #infos-pratiques-widget #mapid {
        height: 380px !important;
        border-radius: 20px;
    }
}


/* Index.php */

.gi-news-page {
    max-width: 1180px;
    margin: 0 auto;
    padding: 34px 22px 60px;
}

.gi-news-breadcrumbs {
    margin-bottom: 22px;
    color: #65756f;
    font-size: .9rem;
}

.gi-news-hero {
    margin-bottom: 34px;
    padding: 42px;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.18), transparent 35%),
        linear-gradient(135deg, #ffffff 0%, #f7faf8 100%);
    border: 1px solid #e6ece8;
    border-radius: 30px;
    box-shadow: 0 24px 70px rgba(11, 73, 62, .10);
}

.gi-news-kicker,
.gi-news-card__label,
.gi-news-section-title span {
    display: inline-flex;
    margin-bottom: 12px;
    color: #B9975B;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-news-hero h1 {
    margin: 0;
    color: #0B493E;
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.03;
    letter-spacing: -.05em;
}

.gi-news-hero p {
    max-width: 760px;
    margin: 15px 0 0;
    color: #65756f;
    font-size: 1.06rem;
    line-height: 1.75;
}

.gi-news-top {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    gap: 22px;
    margin-bottom: 28px;
}

.gi-news-top__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.gi-news-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 24px;
    box-shadow: 0 18px 45px rgba(11, 73, 62, .09);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.gi-news-card:hover {
    transform: translateY(-4px);
    border-color: rgba(185, 151, 91, .45);
    box-shadow: 0 24px 60px rgba(11, 73, 62, .13);
}

.gi-news-card__image {
    display: block;
    position: relative;
    overflow: hidden;
    background: #f1f7f4;
}

.gi-news-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 190px;
    object-fit: cover;
    transition: transform .35s ease;
}

.gi-news-card:hover .gi-news-card__image img {
    transform: scale(1.045);
}

.gi-news-card__content {
    padding: 22px;
}

.gi-news-card h2 {
    margin: 0;
    color: #0B493E;
    font-size: 1.22rem;
    line-height: 1.18;
    letter-spacing: -.025em;
}

.gi-news-card h2 a,
.gi-news-line a {
    color: inherit;
    text-decoration: none;
}

.gi-news-card h2 a:hover,
.gi-news-line a:hover {
    color: #B9975B;
}

.gi-news-card p {
    margin: 12px 0 0;
    color: #65756f;
    font-size: .98rem;
    line-height: 1.65;
}

.gi-news-card__meta {
    margin-top: 16px;
    color: #7c8a84;
    font-size: .82rem;
    font-weight: 700;
}

.gi-news-card--lead {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.gi-news-card--lead .gi-news-card__image {
    height: 370px;
}

.gi-news-card--lead h2 {
    font-size: clamp(1.65rem, 3vw, 2.3rem);
}

.gi-news-card--compact .gi-news-card__image {
    height: 150px;
}

.gi-news-card--compact .gi-news-card__content {
    padding: 17px;
}

.gi-news-card--compact h2 {
    font-size: 1rem;
    line-height: 1.25;
}

.gi-news-card--compact .gi-news-card__label,
.gi-news-card--compact p {
    display: none;
}

.gi-news-more {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 24px;
    align-items: start;
    margin-top: 28px;
}

.gi-news-more__featured {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.gi-news-card--medium .gi-news-card__image {
    height: 230px;
}

.gi-news-latest {
    padding: 28px;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 26px;
    box-shadow: 0 18px 45px rgba(11, 73, 62, .08);
}

.gi-news-section-title {
    margin-bottom: 16px;
}

.gi-news-section-title h2 {
    margin: 0;
    color: #0B493E;
    font-size: 1.45rem;
    line-height: 1.18;
    letter-spacing: -.025em;
}

.gi-news-line {
    padding: 17px 0;
    border-top: 1px solid #e6ece8;
}

.gi-news-line a {
    display: block;
    color: #16231f;
    font-weight: 850;
    line-height: 1.35;
}

.gi-news-line time {
    display: block;
    margin-top: 6px;
    color: #7c8a84;
    font-size: .82rem;
    font-weight: 700;
}

.gi-news-empty {
    padding: 36px;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 24px;
    box-shadow: 0 18px 45px rgba(11, 73, 62, .08);
}

.gi-news-empty h2 {
    margin: 0 0 8px;
    color: #0B493E;
}

.gi-news-empty p {
    margin: 0;
    color: #65756f;
}

.gi-news-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 36px;
    justify-content: center;
}

.gi-news-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 42px;
    padding: 9px 14px;
    color: #0B493E;
    font-weight: 850;
    text-decoration: none;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 999px;
}

.gi-news-pagination .page-numbers.current,
.gi-news-pagination .page-numbers:hover {
    color: #fff;
    background: #0B493E;
    border-color: #0B493E;
}

@media (max-width: 980px) {
    .gi-news-top,
    .gi-news-more {
        grid-template-columns: 1fr;
    }

    .gi-news-card--lead .gi-news-card__image {
        height: 330px;
    }

    .gi-news-latest {
        order: 2;
    }
}

@media (max-width: 720px) {
    .gi-news-page {
        padding: 24px 16px 46px;
    }

    .gi-news-hero {
        padding: 28px 22px;
        border-radius: 24px;
    }

    .gi-news-top__grid,
    .gi-news-more__featured {
        grid-template-columns: 1fr;
    }

    .gi-news-card,
    .gi-news-latest,
    .gi-news-empty {
        border-radius: 22px;
    }

    .gi-news-card--lead .gi-news-card__image,
    .gi-news-card--medium .gi-news-card__image,
    .gi-news-card--compact .gi-news-card__image {
        height: 220px;
    }

    .gi-news-card__content,
    .gi-news-latest {
        padding: 20px;
    }

    .gi-news-card--lead h2 {
        font-size: 1.45rem;
    }
}

.gi-news-tax {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    margin-bottom: 10px;
    padding: 6px 10px;
    color: #0B493E;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    background: #f1f7f4;
    border: 1px solid #dcebe4;
    border-radius: 999px;
}

.gi-news-tax a {
    color: inherit;
    text-decoration: none;
    box-shadow: none;
}

.gi-news-tax a:hover {
    color: #B9975B;
}

.gi-news-tax--small {
    margin-bottom: 8px;
    padding: 5px 9px;
    font-size: .66rem;
}


.gi-category-page,
.gi-category-content {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.gi-category-page {
    padding: 34px 22px 0;
}

.gi-category-content {
    padding: 0 22px 60px;
}

.gi-category-page .col,
.gi-category-content .col {
    float: left;
}

.gi-category-hero h1 {
    margin: 0;
    color: #0B493E;
    font-size: clamp(2rem, 4vw, 3.1rem);
    line-height: 1.05;
    letter-spacing: -.05em;
}

.gi-category-description {
    max-width: 760px;
    margin: 15px 0 0;
    color: #65756f;
    font-size: 1.06rem;
    line-height: 1.75;
}

.gi-category-posts {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.gi-category-card-premium {
    display: flex;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 24px;
    box-shadow: 0 18px 45px rgba(11, 73, 62, .09);
}

.gi-category-card-premium__image {
    display: block;
    flex: 0 0 285px;
    min-height: 230px;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.18), transparent 35%),
        linear-gradient(135deg, #f7faf8 0%, #ffffff 100%);
}

.gi-category-card-premium__image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 230px;
    object-fit: cover;
    transition: transform .35s ease;
}

.gi-category-card-premium:hover .gi-category-card-premium__image img {
    transform: scale(1.045);
}

.gi-category-card-premium__image span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 230px;
    color: #0B493E;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gi-category-card-premium__content {
    flex: 1;
    min-width: 0;
    padding: 26px;
}

.gi-category-card-premium__content h2 {
    margin: 0;
    color: #0B493E;
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    line-height: 1.18;
    letter-spacing: -.025em;
}

.gi-category-card-premium__content h2 a {
    color: inherit;
    text-decoration: none;
}

.gi-category-card-premium__content h2 a:hover {
    color: #B9975B;
}

.gi-category-card-premium__content time {
    display: block;
    margin-top: 10px;
    color: #7c8a84;
    font-size: .82rem;
    font-weight: 700;
}

.gi-category-card-premium__content p {
    margin: 14px 0 0;
    color: #65756f;
    font-size: .98rem;
    line-height: 1.65;
}

.gi-category-readmore {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin-top: 18px;
    padding: 10px 16px;
    color: #fff !important;
    font-size: .88rem;
    font-weight: 900;
    text-decoration: none !important;
    background: #0B493E;
    border-radius: 999px;
    box-shadow: 0 12px 26px rgba(11, 73, 62, .16);
}

.gi-category-readmore:hover {
    color: #fff !important;
    background: #B9975B;
}

@media (max-width: 760px) {
    .gi-category-page,
    .gi-category-content {
        padding-left: 16px;
        padding-right: 16px;
    }

    .gi-category-card-premium {
        display: block;
        border-radius: 22px;
    }

    .gi-category-card-premium__image {
        width: 100%;
        min-height: 220px;
    }

    .gi-category-card-premium__image img {
        min-height: 220px;
    }

    .gi-category-card-premium__content {
        padding: 22px;
    }
}


/* TAXO CIRCUITS */

.gi-circuits-page,
.gi-circuits-bottom {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.gi-circuits-page {
    padding: 34px 22px 0;
}

.gi-circuits-bottom {
    padding: 0 22px 60px;
}

.gi-circuits-hero-label {
    display: inline-flex;
    margin-bottom: 12px;
    color: #E4C585;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-circuits-intro h1 {
    margin: 0;
    color: #0B493E;
    font-size: clamp(2rem, 4vw, 3.15rem);
    line-height: 1.05;
    letter-spacing: -.05em;
}

.gi-circuits-description {
    max-width: 820px;
    margin-top: 15px;
    color: #65756f;
    font-size: 1.06rem;
    line-height: 1.75;
}

.gi-circuits-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 34px 0;
}

.gi-circuit-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: 0;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 26px;
    box-shadow: 0 18px 45px rgba(11, 73, 62, .09);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.gi-circuit-card:hover {
    transform: translateY(-4px);
    border-color: rgba(185, 151, 91, .45);
    box-shadow: 0 24px 60px rgba(11, 73, 62, .13);
}

.gi-circuit-card__image {
    position: relative;
    display: block;
    height: 235px;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.18), transparent 35%),
        linear-gradient(135deg, #f7faf8 0%, #ffffff 100%);
}

.gi-circuit-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.gi-circuit-card:hover .gi-circuit-card__image img {
    transform: scale(1.045);
}

.gi-circuit-card__image > span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #0B493E;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gi-circuit-card__type {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.gi-circuit-card__type a {
    display: inline-flex;
    padding: 7px 11px;
    color: #0B493E;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 999px;
    backdrop-filter: blur(10px);
}

.gi-circuit-card__type a:hover {
    color: #fff;
    background: #B9975B;
}

.gi-circuit-card__content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 24px;
}

.gi-circuit-card__content h2 {
    margin: 0;
    color: #0B493E;
    font-size: 1.32rem;
    line-height: 1.18;
    letter-spacing: -.025em;
}

.gi-circuit-card__content h2 a {
    color: inherit;
    text-decoration: none;
}

.gi-circuit-card__content h2 a:hover {
    color: #B9975B;
}

.gi-circuit-card__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.gi-circuit-pill {
    padding: 13px 14px;
    background: #f7faf8;
    border: 1px solid #e6ece8;
    border-radius: 18px;
}

.gi-circuit-pill span,
.gi-circuit-location span {
    display: block;
    margin-bottom: 4px;
    color: #B9975B;
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.gi-circuit-pill strong {
    display: block;
    color: #16231f;
    font-size: .95rem;
    line-height: 1.35;
}

.gi-circuit-location {
    margin-top: 16px;
    color: #65756f;
    font-size: .94rem;
    line-height: 1.6;
}

.gi-circuit-location a {
    color: #0B493E;
    font-weight: 850;
    text-decoration: none;
    box-shadow: inset 0 -1px 0 rgba(185,151,91,.45);
}

.gi-circuit-location a:hover {
    color: #B9975B;
}

.gi-circuit-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 20px;
}

.gi-circuit-card .gi-category-readmore {
    margin-top: 0;
}

.gi-circuits-bottom .col {
    float: left;
}

@media (max-width: 980px) {
    .gi-circuits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .gi-circuits-page,
    .gi-circuits-bottom {
        padding-left: 16px;
        padding-right: 16px;
    }

    .gi-circuits-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .gi-circuit-card {
        border-radius: 22px;
    }

    .gi-circuit-card__image {
        height: 230px;
    }

    .gi-circuit-card__content {
        padding: 22px;
    }

    .gi-circuit-card__meta {
        grid-template-columns: 1fr;
    }
}

/* HOME */

/* HOME SITES TOURISTIQUES */

.gi-home-discover {
    margin: 52px 0;
    padding: 36px;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.14), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f7faf8 100%);
    border: 1px solid #e6ece8;
    border-radius: 32px;
    box-shadow: 0 26px 80px rgba(11, 73, 62, .11);
}

.gi-home-discover__heading {
    margin-bottom: 30px;
}

.gi-home-discover__heading span,
.gi-home-favorites__heading span {
    display: inline-flex;
    margin-bottom: 10px;
    color: #B9975B;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-home-discover__heading h1,
.gi-home-favorites__heading h2 {
    margin: 0;
    color: #0B493E;
    line-height: 1.06;
    letter-spacing: -.045em;
}

.gi-home-discover__heading h1 {
    font-size: clamp(2rem, 4vw, 3.15rem);
	text-align : center;
}

.gi-home-favorites__heading h2 {
    font-size: clamp(1.55rem, 3vw, 2.2rem);
}

.gi-home-discover__heading h1 em {
    color: #8daf3b;
    font-style: normal;
}

.gi-home-discover__layout {
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(0, 1.6fr);
    gap: 28px;
    align-items: stretch;
}

.gi-home-discover__map {
    min-width: 0;
}


.gi-home-discover__map-inner svg,
.gi-home-discover__map-inner img,
.gi-home-discover__map-inner canvas {
    max-width: 100%;
    height: auto;
}

.gi-home-favorites {
    min-width: 0;
}

.gi-home-favorites__heading {
    margin-bottom: 20px;
}

.gi-home-favorites__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 22px;
}

.gi-home-place {
    position: relative;
    overflow: hidden;
    min-height: 520px;
    background: #0B493E;
    border-radius: 28px;
    box-shadow: 0 22px 60px rgba(11, 73, 62, .16);
}

.gi-home-place__image {
    position: absolute;
    inset: 0;
    display: block;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.18), transparent 35%),
        linear-gradient(135deg, #f7faf8 0%, #ffffff 100%);
}

.gi-home-place__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(0,0,0,.04) 0%, rgba(0,0,0,.34) 42%, rgba(0,0,0,.76) 100%);
}

.gi-home-place__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .38s ease;
}

.gi-home-place:hover .gi-home-place__image img {
    transform: scale(1.045);
}

.gi-home-place__image span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #0B493E;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
    background: #f7faf8;
}

.gi-home-place__overlay {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    z-index: 2;
    color: #fff;
}

.gi-home-place__location,
.gi-home-place-mini__location {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 10px;
}

.gi-home-place__location a,
.gi-home-place-mini__location a,
.gi-home-place-mini__type a {
    display: inline-flex;
    padding: 6px 10px;
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 999px;
}

.gi-home-place__location a {
    color: #0B493E;
    background: rgba(255,255,255,.92);
}

.gi-home-place-mini__location a,
.gi-home-place-mini__type a {
    color: #0B493E;
    background: #f1f7f4;
    border: 1px solid #dcebe4;
}

.gi-home-place__location a:hover,
.gi-home-place-mini__location a:hover,
.gi-home-place-mini__type a:hover {
    color: #fff;
    background: #B9975B;
    border-color: #B9975B;
}

.gi-home-place h3 {
    margin: 0;
    font-size: clamp(1.65rem, 3vw, 2.25rem);
    line-height: 1.08;
    letter-spacing: -.035em;
}

.gi-home-place h3 a {
    color: #fff;
    text-decoration: none;
}

.gi-home-place h3 a:hover {
    color: #E4C585;
}

.gi-home-place__rating,
.gi-home-place-mini__rating {
    margin-top: 10px;
    color: #E4C585;
    font-size: .85rem;
}

.gi-home-place__more {
    display: inline-flex;
    margin-top: 18px;
    padding: 10px 16px;
    color: #0B493E !important;
    font-size: .86rem;
    font-weight: 900;
    text-decoration: none !important;
    background: #fff;
    border-radius: 999px;
}

.gi-home-place__more:hover {
    color: #fff !important;
    background: #B9975B;
}

.gi-home-favorites__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.gi-home-place-mini {
    display: grid;
    grid-template-columns: 128px minmax(0, 1fr);
    min-height: 118px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 22px;
    box-shadow: 0 16px 42px rgba(11, 73, 62, .07);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.gi-home-place-mini:hover {
    transform: translateY(-3px);
    border-color: rgba(185, 151, 91, .45);
    box-shadow: 0 22px 58px rgba(11, 73, 62, .12);
}

.gi-home-place-mini__image {
    display: block;
    min-height: 118px;
    overflow: hidden;
    background: #f7faf8;
}

.gi-home-place-mini__image img {
    width: 100%;
    height: 100%;
    min-height: 118px;
    object-fit: cover;
    transition: transform .35s ease;
}

.gi-home-place-mini:hover .gi-home-place-mini__image img {
    transform: scale(1.045);
}

.gi-home-place-mini__image span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 118px;
    color: #0B493E;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .12em;
}

.gi-home-place-mini__content {
    padding: 16px;
    min-width: 0;
}

.gi-home-place-mini h3 {
    margin: 0;
    color: #0B493E;
    font-size: 1rem;
    line-height: 1.25;
}

.gi-home-place-mini h3 a {
    color: inherit;
    text-decoration: none;
}

.gi-home-place-mini h3 a:hover {
    color: #B9975B;
}

.gi-home-place-mini__type {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 9px;
}

@media (max-width: 1080px) {
    .gi-home-discover__layout {
        grid-template-columns: 1fr;
    }

    .gi-home-discover__map-inner {
        min-height: 0;
    }
}

@media (max-width: 820px) {
    .gi-home-favorites__grid {
        grid-template-columns: 1fr;
    }

    .gi-home-place {
        min-height: 420px;
    }
}

@media (max-width: 560px) {
    .gi-home-discover {
        padding: 22px;
        border-radius: 24px;
    }

    .gi-home-place {
        min-height: 360px;
        border-radius: 22px;
    }

    .gi-home-place__overlay {
        left: 20px;
        right: 20px;
        bottom: 20px;
    }

    .gi-home-place-mini {
        grid-template-columns: 96px minmax(0, 1fr);
        min-height: 112px;
    }

    .gi-home-place-mini__image,
    .gi-home-place-mini__image img,
    .gi-home-place-mini__image span {
        min-height: 112px;
    }

    .gi-home-place-mini__content {
        padding: 14px;
    }

    .gi-home-place-mini h3 {
        font-size: .94rem;
    }
}

.gi-home-discover__map-inner {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.gi-home-discover__map-inner > * {
    max-width: 100%;
}

.gi-home-discover__map-inner svg {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
}

.gi-home-discover__map-inner .gi-carte-irlande,
.gi-home-discover__map-inner .gi-carte-irlande-wrap,
.gi-home-discover__map-inner .gi-map-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden;
}

/* HOME ACTU */

.gi-premium-news-block {
    margin: 46px 0;
    padding: 34px;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 30px;
    box-shadow: 0 24px 70px rgba(11, 73, 62, .10);
}

.gi-premium-news-heading {
    margin-bottom: 26px;
}

.gi-premium-news-heading span {
    display: inline-flex;
    margin-bottom: 10px;
    color: #B9975B;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-premium-news-heading h2 {
    margin: 0;
    color: #0B493E;
    font-size: clamp(1.75rem, 3vw, 2.45rem);
    line-height: 1.08;
    letter-spacing: -.04em;
}

.gi-premium-news-heading h2 em {
    color: #B9975B;
    font-style: normal;
}

.gi-premium-news-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 24px;
}

.gi-premium-news-card,
.gi-premium-news-mini {
    overflow: hidden;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 24px;
    box-shadow: 0 16px 42px rgba(11, 73, 62, .08);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.gi-premium-news-card:hover,
.gi-premium-news-mini:hover {
    transform: translateY(-3px);
    border-color: rgba(185, 151, 91, .45);
    box-shadow: 0 22px 58px rgba(11, 73, 62, .13);
}

.gi-premium-news-card__image {
    display: block;
    height: 340px;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.18), transparent 35%),
        linear-gradient(135deg, #f7faf8 0%, #ffffff 100%);
}

.gi-premium-news-card__image img,
.gi-premium-news-mini__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.gi-premium-news-card:hover img,
.gi-premium-news-mini:hover img {
    transform: scale(1.045);
}

.gi-premium-news-card__image span,
.gi-premium-news-mini__image span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #0B493E;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gi-premium-news-card__content {
    padding: 24px;
}

.gi-premium-news-card h3,
.gi-premium-news-mini h3 {
    margin: 0;
    color: #0B493E;
    line-height: 1.18;
    letter-spacing: -.025em;
}

.gi-premium-news-card h3 {
    font-size: clamp(1.35rem, 2.4vw, 1.95rem);
}

.gi-premium-news-mini h3 {
    font-size: 1.02rem;
}

.gi-premium-news-card h3 a,
.gi-premium-news-mini h3 a {
    color: inherit;
    text-decoration: none;
}

.gi-premium-news-card h3 a:hover,
.gi-premium-news-mini h3 a:hover {
    color: #B9975B;
}

.gi-premium-news-card time,
.gi-premium-news-mini time {
    display: block;
    margin-top: 9px;
    color: #7c8a84;
    font-size: .82rem;
    font-weight: 700;
}

.gi-premium-news-card p {
    margin: 14px 0 0;
    color: #65756f;
    font-size: .98rem;
    line-height: 1.65;
}

.gi-premium-news-tax {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 12px;
}

.gi-premium-news-tax a {
    display: inline-flex;
    padding: 6px 10px;
    color: #0B493E;
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    background: #f1f7f4;
    border: 1px solid #dcebe4;
    border-radius: 999px;
}

.gi-premium-news-tax a:hover {
    color: #fff;
    background: #B9975B;
    border-color: #B9975B;
}

.gi-premium-news-tax--small {
    margin-bottom: 8px;
}

.gi-premium-news-tax--small a {
    padding: 5px 8px;
    font-size: .62rem;
}

.gi-premium-news-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.gi-premium-news-mini {
    display: grid;
    grid-template-columns: 128px minmax(0, 1fr);
    min-height: 128px;
}

.gi-premium-news-mini__image {
    display: block;
    min-height: 128px;
    overflow: hidden;
    background: #f7faf8;
}

.gi-premium-news-mini__content {
    padding: 17px;
    min-width: 0;
}

.gi-premium-news-more {
    display: flex;
    justify-content: center;
    margin-top: 28px;
}

.gi-premium-news-more a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 19px;
    color: #fff !important;
    font-size: .9rem;
    font-weight: 900;
    text-decoration: none !important;
    background: #0B493E;
    border-radius: 999px;
    box-shadow: 0 12px 26px rgba(11, 73, 62, .18);
}

.gi-premium-news-more a:hover {
    color: #fff !important;
    background: #B9975B;
}

@media (max-width: 860px) {
    .gi-premium-news-layout {
        grid-template-columns: 1fr;
    }

    .gi-premium-news-card__image {
        height: 280px;
    }
}

@media (max-width: 560px) {
    .gi-premium-news-block {
        padding: 22px;
        border-radius: 24px;
    }

    .gi-premium-news-mini {
        grid-template-columns: 96px minmax(0, 1fr);
        min-height: 112px;
    }

    .gi-premium-news-mini__image {
        min-height: 112px;
    }

    .gi-premium-news-mini__content {
        padding: 14px;
    }

    .gi-premium-news-mini h3 {
        font-size: .94rem;
    }
}

/* HOME VILLES */

.gi-home-cities {
    margin: 48px 0;
    padding: 34px;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 30px;
    box-shadow: 0 24px 70px rgba(11, 73, 62, .10);
}

.gi-home-cities__heading {
    margin-bottom: 26px;
}

.gi-home-cities__heading span {
    display: inline-flex;
    margin-bottom: 10px;
    color: #B9975B;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-home-cities__heading h2 {
    margin: 0;
    color: #0B493E;
    font-size: clamp(1.7rem, 3vw, 2.4rem);
    line-height: 1.08;
    letter-spacing: -.04em;
}

.gi-home-cities__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
}

.gi-home-city-card {
    min-width: 0;
}

.gi-home-city-card__link {
    display: block;
    height: 100%;
    overflow: hidden;
    color: inherit;
    text-decoration: none !important;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 22px;
    box-shadow: 0 14px 34px rgba(11, 73, 62, .07);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.gi-home-city-card__link:hover {
    transform: translateY(-4px);
    border-color: rgba(185, 151, 91, .45);
    box-shadow: 0 22px 52px rgba(11, 73, 62, .13);
}

.gi-home-city-card__image {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.16), transparent 35%),
        linear-gradient(135deg, #f7faf8 0%, #ffffff 100%);
}

.gi-home-city-card__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.36) 100%);
    opacity: .85;
    pointer-events: none;
}

.gi-home-city-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.gi-home-city-card__link:hover .gi-home-city-card__image img {
    transform: scale(1.055);
}

.gi-home-city-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 150px;
    color: #0B493E;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gi-home-city-card__content {
    display: block;
    padding: 15px 14px 16px;
}

.gi-home-city-card__content strong {
    display: block;
    color: #0B493E;
    font-size: 1rem;
    font-weight: 950;
    line-height: 1.2;
    letter-spacing: -.015em;
}

.gi-home-city-card__content small {
    display: block;
    margin-top: 5px;
    color: #B9975B;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

@media (max-width: 1100px) {
    .gi-home-cities__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .gi-home-cities {
        padding: 22px;
        border-radius: 24px;
    }

    .gi-home-cities__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .gi-home-city-card__link {
        border-radius: 18px;
    }

    .gi-home-city-card__content {
        padding: 13px;
    }

    .gi-home-city-card__content strong {
        font-size: .95rem;
    }
}


/* HOME BLOCS THEMATIQUES */

.gi-home-plan {
    position: relative;
    width: 100%;
    margin: 56px 0;
    padding: 70px 0;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.22), transparent 34%),
        linear-gradient(135deg, #07372f 0%, #0B493E 52%, #0d5a4d 100%);
}

.gi-home-plan::before {
    content: "";
    position: absolute;
    top: -150px;
    right: -150px;
    width: 450px;
    height: 450px;
    border-radius: 50%;
    background: rgba(228,197,133,.08);
    pointer-events: none;
}

.gi-home-plan::after {
    content: "";
    position: absolute;
    bottom: -200px;
    left: -200px;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: rgba(228,197,133,.05);
    pointer-events: none;
}

.gi-home-plan__inner {
    position: relative;
    z-index: 2;
    max-width: 1180px;
    width: 100%;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}

.gi-home-plan__heading {
    max-width: 760px;
    margin-bottom: 32px;
}

.gi-home-plan__heading span {
    display: inline-flex;
    margin-bottom: 10px;
    color: #E4C585;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-home-plan__heading h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.1rem);
    line-height: 1.06;
    letter-spacing: -.045em;
}

.gi-home-plan__heading h2 em {
    color: #E4C585;
    font-style: normal;
}

.gi-home-plan__heading p {
    margin: 14px 0 0;
    color: rgba(255,255,255,.78);
    font-size: 1.05rem;
    line-height: 1.65;
}

.gi-home-plan__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
}

.gi-home-plan-card {
    min-width: 0;
}

.gi-home-plan-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    color: inherit;
    text-decoration: none !important;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 22px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .18);
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

.gi-home-plan-card__link:hover {
    transform: translateY(-4px);
    background: #fff;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .26);
}

.gi-home-plan-card__image {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.18), transparent 35%),
        linear-gradient(135deg, #f7faf8 0%, #ffffff 100%);
}

.gi-home-plan-card__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.34) 100%);
    opacity: .85;
    pointer-events: none;
}

.gi-home-plan-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.gi-home-plan-card__link:hover .gi-home-plan-card__image img {
    transform: scale(1.055);
}

.gi-home-plan-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 140px;
    color: #0B493E;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gi-home-plan-card__content {
    display: block;
    padding: 15px 14px 16px;
}

.gi-home-plan-card__content strong {
    display: block;
    color: #0B493E;
    font-size: .98rem;
    font-weight: 950;
    line-height: 1.2;
    letter-spacing: -.015em;
}

.gi-home-plan-card__content small {
    display: block;
    margin-top: 6px;
    color: #B9975B;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

@media (max-width: 1100px) {
    .gi-home-plan__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .gi-home-plan {
        margin: 42px 0;
        padding: 46px 0;
    }

    .gi-home-plan__inner {
        padding: 0 16px;
    }

    .gi-home-plan__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .gi-home-plan-card__link {
        border-radius: 18px;
    }

    .gi-home-plan-card__content {
        padding: 13px;
    }

    .gi-home-plan-card__content strong {
        font-size: .92rem;
    }
}

/* HOME ORGANISATION / CULTURE / FESTIVALS */

.gi-home-roadtrip {
    margin: 52px 0;
    padding: 36px;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 32px;
    box-shadow: 0 26px 80px rgba(11, 73, 62, .10);
}

.gi-home-roadtrip__heading {
    max-width: 820px;
    margin-bottom: 30px;
}

.gi-home-roadtrip__heading > span,
.gi-home-roadtrip__column-heading span {
    display: inline-flex;
    margin-bottom: 10px;
    color: #B9975B;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-home-roadtrip__heading h2 {
    margin: 0;
    color: #0B493E;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.06;
    letter-spacing: -.045em;
}

.gi-home-roadtrip__heading h2 em {
    color: #B9975B;
    font-style: normal;
}

.gi-home-roadtrip__heading p {
    margin: 14px 0 0;
    color: #65756f;
    font-size: 1.05rem;
    line-height: 1.7;
}

.gi-home-roadtrip__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.gi-home-roadtrip__column {
    min-width: 0;
}

.gi-home-roadtrip__column-heading {
    margin-bottom: 16px;
}

.gi-home-roadtrip__column-heading h3 {
    margin: 0;
    color: #0B493E;
    font-size: 1.45rem;
    line-height: 1.18;
    letter-spacing: -.025em;
}

.gi-home-roadtrip-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 26px;
    box-shadow: 0 18px 45px rgba(11, 73, 62, .08);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.gi-home-roadtrip-card:hover {
    transform: translateY(-4px);
    border-color: rgba(185, 151, 91, .45);
    box-shadow: 0 24px 60px rgba(11, 73, 62, .13);
}

.gi-home-roadtrip-card__image {
    display: block;
    height: 280px;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.16), transparent 35%),
        linear-gradient(135deg, #f7faf8 0%, #ffffff 100%);
}

.gi-home-roadtrip-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.gi-home-roadtrip-card:hover .gi-home-roadtrip-card__image img {
    transform: scale(1.045);
}

.gi-home-roadtrip-card__image span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #0B493E;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gi-home-roadtrip-card__content {
    padding: 24px;
}

.gi-home-roadtrip-card__tax {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 12px;
}

.gi-home-roadtrip-card__tax a {
    display: inline-flex;
    padding: 6px 10px;
    color: #0B493E;
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    background: #f1f7f4;
    border: 1px solid #dcebe4;
    border-radius: 999px;
}

.gi-home-roadtrip-card__tax a:hover {
    color: #fff;
    background: #B9975B;
    border-color: #B9975B;
}

.gi-home-roadtrip-card h3 {
    margin: 0;
    color: #0B493E;
    font-size: 1.35rem;
    line-height: 1.18;
    letter-spacing: -.025em;
}

.gi-home-roadtrip-card h3 a {
    color: inherit;
    text-decoration: none;
}

.gi-home-roadtrip-card h3 a:hover {
    color: #B9975B;
}

.gi-home-roadtrip-card p {
    margin: 13px 0 0;
    color: #65756f;
    font-size: .98rem;
    line-height: 1.2;
}


.gi-home-roadtrip__more a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 42px;
    margin-top: 18px;
    padding: 10px 16px;
    color: #fff !important;
    font-size: .88rem;
    font-weight: 900;
    text-decoration: none !important;
    background: #0B493E;
    border-radius: 999px;
    box-shadow: 0 12px 26px rgba(11, 73, 62, .16);
}
.gi-home-roadtrip-card__more {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    margin-top: 18px;
    padding: 8px 14px;

    color: #0B493E !important;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none !important;

    background: #f7faf8;
    border: 1px solid #dfe8e4;
    border-radius: 999px;

    transition: all .25s ease;
}

.gi-home-roadtrip-card__more::after {
    content: "";
    width: 18px;
    height: 18px;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B493E' stroke-width='2'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M13 5l7 7-7 7'/%3E%3C/svg%3E");

    background-size: contain;
    background-repeat: no-repeat;

    transition: transform .25s ease;
}

.gi-home-roadtrip-card__more:hover {
    color: #fff !important;
    background: #0B493E;
    border-color: #0B493E;
}

.gi-home-roadtrip-card__more:hover::after {
    transform: translateX(3px);
    filter: brightness(0) invert(1);
}

.gi-home-roadtrip__more {
    margin-top: 18px;
}

@media (max-width: 860px) {
    .gi-home-roadtrip__grid {
        grid-template-columns: 1fr;
    }

    .gi-home-roadtrip-card__image {
        height: 240px;
    }
}

@media (max-width: 560px) {
    .gi-home-roadtrip {
        padding: 22px;
        border-radius: 24px;
    }

    .gi-home-roadtrip-card {
        border-radius: 22px;
    }

    .gi-home-roadtrip-card__image {
        height: 220px;
    }

    .gi-home-roadtrip-card__content {
        padding: 20px;
    }
}

/* HOME GASTRONOMIE */

.gi-home-food {
    margin: 52px 0;
    padding: 36px;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.10), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f8fbf9 100%);
    border: 1px solid #e6ece8;
    border-radius: 32px;
    box-shadow: 0 26px 80px rgba(11, 73, 62, .10);
}

.gi-home-food__heading {
    max-width: 820px;
    margin-bottom: 30px;
}

.gi-home-food__heading > span,
.gi-home-food__list-heading span {
    display: inline-flex;
    margin-bottom: 10px;
    color: #B9975B;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-home-food__heading h2 {
    margin: 0;
    color: #0B493E;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.06;
    letter-spacing: -.045em;
}

.gi-home-food__heading h2 em {
    color: #B9975B;
    font-style: normal;
}

.gi-home-food__heading p {
    margin: 14px 0 0;
    color: #65756f;
    font-size: 1.05rem;
    line-height: 1.7;
}

.gi-home-food__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
    gap: 24px;
    align-items: start;
}

.gi-home-food__featured {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.gi-home-food-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 26px;
    box-shadow: 0 18px 45px rgba(11, 73, 62, .08);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.gi-home-food-card:hover {
    transform: translateY(-4px);
    border-color: rgba(185, 151, 91, .45);
    box-shadow: 0 24px 60px rgba(11, 73, 62, .13);
}

.gi-home-food-card__image {
    display: block;
    height: 260px;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.16), transparent 35%),
        linear-gradient(135deg, #f7faf8 0%, #ffffff 100%);
}

.gi-home-food-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.gi-home-food-card:hover .gi-home-food-card__image img {
    transform: scale(1.045);
}

.gi-home-food-card__image span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #0B493E;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gi-home-food-card__content {
    padding: 22px;
}

.gi-home-food-card__tax {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 12px;
}

.gi-home-food-card__tax a {
    display: inline-flex;
    padding: 6px 10px;
    color: #0B493E;
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    background: #f1f7f4;
    border: 1px solid #dcebe4;
    border-radius: 999px;
}

.gi-home-food-card__tax a:hover {
    color: #fff;
    background: #B9975B;
    border-color: #B9975B;
}

.gi-home-food-card h3 {
    margin: 0;
    color: #0B493E;
    font-size: 1.28rem;
    line-height: 1.18;
    letter-spacing: -.025em;
}

.gi-home-food-card h3 a,
.gi-home-food-line a {
    color: inherit;
    text-decoration: none;
}

.gi-home-food-card h3 a:hover,
.gi-home-food-line a:hover {
    color: #B9975B;
}

.gi-home-food-card p {
    margin: 13px 0 0;
    color: #65756f;
    font-size: .96rem;
    line-height: 1.2;
}

.gi-home-food__list {
    padding: 26px;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 26px;
    box-shadow: 0 18px 45px rgba(11, 73, 62, .08);
}

.gi-home-food__list-heading {
    margin-bottom: 12px;
}

.gi-home-food__list-heading h3 {
    margin: 0;
    color: #0B493E;
    font-size: 1.35rem;
    line-height: 1.18;
    letter-spacing: -.025em;
}

.gi-home-food-line {
    padding: 15px 0;
    border-top: 1px solid #e6ece8;
}

.gi-home-food-line a {
    display: block;
    color: #16231f;
    font-size: .98rem;
    font-weight: 850;
    line-height: 1.35;
}

.gi-home-food__more {
    margin-top: 24px;
}

.gi-home-food__more a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 42px;
    padding: 10px 16px;
    color: #fff !important;
    font-size: .88rem;
    font-weight: 900;
    text-decoration: none !important;
    background: #0B493E;
    border-radius: 999px;
    box-shadow: 0 12px 26px rgba(11, 73, 62, .16);
}

.gi-home-food__more a:hover {
    color: #fff !important;
    background: #B9975B;
}

@media (max-width: 900px) {
    .gi-home-food__layout {
        grid-template-columns: 1fr;
    }

    .gi-home-food-card__image {
        height: 240px;
    }
}

@media (max-width: 620px) {
    .gi-home-food {
        padding: 22px;
        border-radius: 24px;
    }

    .gi-home-food__featured {
        grid-template-columns: 1fr;
    }

    .gi-home-food-card,
    .gi-home-food__list {
        border-radius: 22px;
    }

    .gi-home-food-card__image {
        height: 220px;
    }

    .gi-home-food-card__content,
    .gi-home-food__list {
        padding: 20px;
    }
}

/* HOME CIRCUITS */

.gi-home-circuits {
    margin: 52px 0;
    padding: 36px;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 32px;
    box-shadow: 0 26px 80px rgba(11, 73, 62, .10);
}

.gi-home-circuits__heading {
    margin-bottom: 30px;
}

.gi-home-circuits__heading span {
    display: inline-flex;
    margin-bottom: 10px;
    color: #B9975B;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-home-circuits__heading h2 {
    margin: 0;
    color: #0B493E;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.06;
    letter-spacing: -.045em;
}

.gi-home-circuits__heading h2 em {
    color: #B9975B;
    font-style: normal;
}

.gi-home-circuits__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.gi-home-circuit-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 26px;
    box-shadow: 0 18px 45px rgba(11, 73, 62, .08);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.gi-home-circuit-card:hover {
    transform: translateY(-4px);
    border-color: rgba(185, 151, 91, .45);
    box-shadow: 0 24px 60px rgba(11, 73, 62, .13);
}

.gi-home-circuit-card__image {
    display: block;
    height: 230px;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.16), transparent 35%),
        linear-gradient(135deg, #f7faf8 0%, #ffffff 100%);
}

.gi-home-circuit-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.gi-home-circuit-card:hover .gi-home-circuit-card__image img {
    transform: scale(1.045);
}

.gi-home-circuit-card__image span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #0B493E;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gi-home-circuit-card__content {
    padding: 22px;
}

.gi-home-circuit-card__tax {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 12px;
}

.gi-home-circuit-card__tax a {
    display: inline-flex;
    padding: 6px 10px;
    color: #0B493E;
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    background: #f1f7f4;
    border: 1px solid #dcebe4;
    border-radius: 999px;
}

.gi-home-circuit-card__tax a:hover {
    color: #fff;
    background: #B9975B;
    border-color: #B9975B;
}

.gi-home-circuit-card h3 {
    margin: 0;
    color: #0B493E;
    font-size: 1.25rem;
    line-height: 1.18;
    letter-spacing: -.025em;
}

.gi-home-circuit-card h3 a {
    color: inherit;
    text-decoration: none;
}

.gi-home-circuit-card h3 a:hover {
    color: #B9975B;
}

.gi-home-circuit-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.gi-home-circuit-card__meta span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 7px 10px;
    color: #65756f;
    font-size: .78rem;
    font-weight: 800;
    background: #f7faf8;
    border: 1px solid #e6ece8;
    border-radius: 999px;
}

.gi-home-circuit-card__meta strong {
    color: #0B493E;
    font-weight: 950;
}

.gi-home-circuits__more {
    margin-top: 24px;
}

.gi-home-circuits__more a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 42px;
    padding: 10px 16px;
    color: #fff !important;
    font-size: .88rem;
    font-weight: 900;
    text-decoration: none !important;
    background: #0B493E;
    border-radius: 999px;
    box-shadow: 0 12px 26px rgba(11, 73, 62, .16);
}

.gi-home-circuits__more a:hover {
    color: #fff !important;
    background: #B9975B;
}

@media (max-width: 900px) {
    .gi-home-circuits__grid {
        grid-template-columns: 1fr;
    }

    .gi-home-circuit-card__image {
        height: 240px;
    }
}

@media (max-width: 560px) {
    .gi-home-circuits {
        padding: 22px;
        border-radius: 24px;
    }

    .gi-home-circuit-card {
        border-radius: 22px;
    }

    .gi-home-circuit-card__image {
        height: 220px;
    }

    .gi-home-circuit-card__content {
        padding: 20px;
    }
}

/* HOME H1 */

.gi-home-hero-title {
    max-width: 980px;
    margin: 40px auto 60px;
    text-align: center;
}

.gi-home-hero-title__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 14px;

    color: #B9975B;

    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.gi-home-hero-title__eyebrow::before,
.gi-home-hero-title__eyebrow::after {
    content: "";
    width: 40px;
    height: 1px;
    background: rgba(185,151,91,.45);
}

.gi-home-hero-title h1 {
    margin: 0;

    color: #0B493E;

    font-size: clamp(2.8rem, 6vw, 5rem);
    font-weight: 900;
    line-height: .95;
    letter-spacing: -.06em;
}

.gi-home-hero-title h1 em {
    display: block;
    margin-top: 8px;

    color: #B9975B;
    font-style: normal;
    font-weight: 700;

    font-size: .72em;
    letter-spacing: -.03em;
}

.gi-home-hero-title p {
    max-width: 760px;

    margin: 26px auto 0;

    color: #65756f;

    font-size: 1.15rem;
    line-height: 1.8;
}

@media (max-width: 768px) {

    .gi-home-hero-title {
        margin: 25px auto 40px;
    }

    .gi-home-hero-title h1 {
        font-size: 2.6rem;
        line-height: 1;
    }

    .gi-home-hero-title p {
        font-size: 1rem;
        line-height: 1.7;
    }

    .gi-home-hero-title__eyebrow::before,
    .gi-home-hero-title__eyebrow::after {
        width: 20px;
    }
}

/* HOME H1 */

.gi-home-section-heading {
    width: 100%;
    text-align: center;
    margin: 20px 0 40px;
}

.gi-home-section-heading span {
    display: block;
    margin-bottom: 12px;

    color: #B9975B;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.gi-home-section-heading h1 {
    margin: 0 auto !important;
    padding: 0;

    text-align: center !important;

    color: #0B493E;

    font-size: clamp(2.8rem, 5vw, 4.8rem);
    font-weight: 900;
    line-height: .95;
    letter-spacing: -.05em;

    float: none !important;
}

.gi-home-section-heading h1 em {
    display: block;

    margin-top: 8px;

    color: #8daf3b;
    font-style: normal;
    font-weight: 700;

    font-size: .62em;
    line-height: 1.1;
}


/* TAXONOMY BLOCS */

.gi-drinks-highlight {
    margin: 48px 0;
    padding: 34px;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.10), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f8fbf9 100%);
    border: 1px solid #e6ece8;
    border-radius: 30px;
    box-shadow: 0 24px 70px rgba(11, 73, 62, .10);
}

.gi-drinks-highlight__heading {
    margin-bottom: 28px;
}

.gi-drinks-highlight__heading span {
    display: inline-flex;
    margin-bottom: 10px;
    color: #B9975B;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-drinks-highlight__heading h2 {
    margin: 0;
    color: #0B493E;
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    line-height: 1.06;
    letter-spacing: -.045em;
}

.gi-drinks-highlight__heading h2 em {
    display: inline-block;
    color: #B9975B;
    font-style: normal;
}

.gi-drinks-highlight__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.gi-drink-card {
    min-width: 0;
}

.gi-drink-card__link {
    display: block;
    height: 100%;
    overflow: hidden;
    color: inherit;
    text-decoration: none !important;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 24px;
    box-shadow: 0 16px 42px rgba(11, 73, 62, .08);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.gi-drink-card__link:hover {
    transform: translateY(-4px);
    border-color: rgba(185, 151, 91, .45);
    box-shadow: 0 24px 60px rgba(11, 73, 62, .13);
}

.gi-drink-card__image {
    position: relative;
    display: block;
    height: 210px;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.16), transparent 35%),
        linear-gradient(135deg, #f7faf8 0%, #ffffff 100%);
}

.gi-drink-card__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 52%, rgba(0,0,0,.32) 100%);
    pointer-events: none;
}

.gi-drink-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.gi-drink-card__link:hover .gi-drink-card__image img {
    transform: scale(1.055);
}

.gi-drink-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #0B493E;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gi-drink-card__content {
    display: block;
    padding: 18px 18px 20px;
}

.gi-drink-card__content strong {
    display: block;
    color: #0B493E;
    font-size: 1.08rem;
    font-weight: 950;
    line-height: 1.22;
    letter-spacing: -.015em;
}

.gi-drink-card__content small {
    display: inline-flex;
    margin-top: 8px;
    color: #B9975B;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

@media (max-width: 900px) {
    .gi-drinks-highlight__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .gi-drinks-highlight {
        padding: 22px;
        border-radius: 24px;
    }

    .gi-drinks-highlight__grid {
        grid-template-columns: 1fr;
    }

    .gi-drink-card__link {
        border-radius: 22px;
    }

    .gi-drink-card__image {
        height: 220px;
    }
}

/* taxonomy descriptions */

.gi-drinks-description {
    margin: 50px 0;
    padding: 0;
}

.gi-drinks-description__inner {
    padding: 36px;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.10), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f8fbf9 100%);
    border: 1px solid #e6ece8;
    border-radius: 30px;
    box-shadow: 0 24px 70px rgba(11, 73, 62, .10);
}

.gi-drinks-description__content {
    color: #2d3f39;
    font-size: 1.03rem;
    line-height: 1.85;
}

.gi-drinks-description__content h2 {
    color: #0B493E;
    letter-spacing: -.025em;
}

.gi-drinks-description__content a {
    color: #0B493E;
    font-weight: 850;
    text-decoration: none;
    box-shadow: inset 0 -1px 0 rgba(185,151,91,.45);
}

.gi-drinks-description__content a:hover {
    color: #B9975B;
}

.gi-drinks-description__warning {
    margin: 26px 0 0;
    padding: 14px 18px;
    color: #5f706a;
    font-size: .86rem;
    line-height: 1.55;
    background: #fff;
    border: 1px solid #e6ece8;
    border-left: 4px solid #B9975B;
    border-radius: 16px;
}

@media (max-width: 560px) {
    .gi-drinks-description__inner {
        padding: 22px;
        border-radius: 24px;
    }

    .gi-drinks-description__content {
        font-size: .98rem;
        line-height: 1.75;
    }
}


/* HOME HÉBERGEMENTS */

.gi-home-stays {
    position: relative;
    width: 100%;
    margin: 56px 0;
    padding: 70px 0;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.22), transparent 34%),
        linear-gradient(135deg, #07372f 0%, #0B493E 52%, #0d5a4d 100%);
}

.gi-home-stays::before {
    content: "";
    position: absolute;
    top: -150px;
    right: -150px;
    width: 450px;
    height: 450px;
    border-radius: 50%;
    background: rgba(228,197,133,.08);
    pointer-events: none;
}

.gi-home-stays::after {
    content: "";
    position: absolute;
    bottom: -200px;
    left: -200px;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: rgba(228,197,133,.05);
    pointer-events: none;
}

.gi-home-stays__inner {
    position: relative;
    z-index: 2;
    max-width: 1180px;
    width: 100%;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}

.gi-home-stays__heading {
    max-width: 780px;
    margin-bottom: 32px;
}

.gi-home-stays__heading span {
    display: inline-flex;
    margin-bottom: 10px;
    color: #E4C585;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-home-stays__heading h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.1rem);
    line-height: 1.06;
    letter-spacing: -.045em;
}

.gi-home-stays__heading h2 em {
    color: #E4C585;
    font-style: normal;
}

.gi-home-stays__heading p {
    margin: 14px 0 0;
    color: rgba(255,255,255,.78);
    font-size: 1.05rem;
    line-height: 1.65;
}

.gi-home-stays__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.gi-home-stay-card {
    overflow: hidden;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 24px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .18);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}

.gi-home-stay-card:hover {
    transform: translateY(-4px);
    background: #fff;
    border-color: rgba(228,197,133,.55);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .26);
}

.gi-home-stay-card__image {
    position: relative;
    display: block;
    height: 220px;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.18), transparent 35%),
        linear-gradient(135deg, #f7faf8 0%, #ffffff 100%);
}

.gi-home-stay-card__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.38) 100%);
    pointer-events: none;
}

.gi-home-stay-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.gi-home-stay-card:hover .gi-home-stay-card__image img {
    transform: scale(1.055);
}

.gi-home-stay-card__image > span:not(.gi-home-stay-card__type) {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #0B493E;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gi-home-stay-card__type {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 14px;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.gi-home-stay-card__type a {
    display: inline-flex;
    padding: 6px 10px;
    color: #0B493E;
    font-size: .66rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    background: rgba(255,255,255,.92);
    border-radius: 999px;
    backdrop-filter: blur(10px);
}

.gi-home-stay-card__type a:hover {
    color: #fff;
    background: #B9975B;
}

.gi-home-stay-card__content {
    padding: 22px;
}

.gi-home-stay-card__content h3 {
    margin: 0;
    color: #0B493E;
    font-size: 1.22rem;
    line-height: 1.2;
    letter-spacing: -.025em;
}

.gi-home-stay-card__content h3 a {
    color: inherit;
    text-decoration: none;
}

.gi-home-stay-card__content h3 a:hover {
    color: #B9975B;
}

.gi-home-stay-card__location {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 12px;
}

.gi-home-stay-card__location a {
    display: inline-flex;
    padding: 6px 10px;
    color: #0B493E;
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
    text-decoration: none;
    background: #f1f7f4;
    border: 1px solid #dcebe4;
    border-radius: 999px;
}

.gi-home-stay-card__location a:hover {
    color: #fff;
    background: #B9975B;
    border-color: #B9975B;
}

.gi-home-stay-card__booking {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 18px;
    padding: 12px 14px;
    color: #fff !important;
    text-decoration: none !important;
    background: #003b95;
    border-radius: 16px;
    box-shadow: 0 12px 26px rgba(0, 59, 149, .18);
    transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
}

.gi-home-stay-card__booking span {
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
    opacity: .9;
}

.gi-home-stay-card__booking strong {
    font-size: .95rem;
    font-weight: 950;
}

.gi-home-stay-card__booking:hover {
    color: #fff !important;
    background: #0B493E;
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(11, 73, 62, .20);
}

@media (max-width: 980px) {
    .gi-home-stays__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .gi-home-stays {
        margin: 42px 0;
        padding: 46px 0;
    }

    .gi-home-stays__inner {
        padding: 0 16px;
    }

    .gi-home-stays__grid {
        grid-template-columns: 1fr;
    }

    .gi-home-stay-card {
        border-radius: 22px;
    }

    .gi-home-stay-card__image {
        height: 220px;
    }

    .gi-home-stay-card__content {
        padding: 20px;
    }
}


/* TAXONOMY - HEBERGEMENTS */


.gi-home-stays {
    position: relative;
    width: 100%;
    margin: 56px 0;
    padding: 70px 0;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.22), transparent 34%),
        linear-gradient(135deg, #07372f 0%, #0B493E 52%, #0d5a4d 100%);
}

.gi-home-stays::before {
    content: "";
    position: absolute;
    top: -150px;
    right: -150px;
    width: 450px;
    height: 450px;
    border-radius: 50%;
    background: rgba(228,197,133,.08);
    pointer-events: none;
}

.gi-home-stays::after {
    content: "";
    position: absolute;
    bottom: -200px;
    left: -200px;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: rgba(228,197,133,.05);
    pointer-events: none;
}

.gi-home-stays__inner {
    position: relative;
    z-index: 2;
    max-width: 1180px;
    width: 100%;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}

.gi-home-stays__heading {
    max-width: 780px;
    margin-bottom: 32px;
}

.gi-home-stays__heading span {
    display: inline-flex;
    margin-bottom: 10px;
    color: #E4C585;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-home-stays__heading h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.1rem);
    line-height: 1.06;
    letter-spacing: -.045em;
}

.gi-home-stays__heading h2 em {
    color: #E4C585;
    font-style: normal;
}

.gi-home-stays__heading p {
    margin: 14px 0 0;
    color: rgba(255,255,255,.78);
    font-size: 1.05rem;
    line-height: 1.65;
}

.gi-home-stays__grid {
       display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 20px;
}

.gi-home-stay-card {
    overflow: hidden;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 24px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .18);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}

.gi-home-stay-card:hover {
    transform: translateY(-4px);
    background: #fff;
    border-color: rgba(228,197,133,.55);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .26);
}

.gi-home-stay-card__image {
    position: relative;
    display: block;
    height: 220px;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.18), transparent 35%),
        linear-gradient(135deg, #f7faf8 0%, #ffffff 100%);
}

.gi-home-stay-card__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.38) 100%);
    pointer-events: none;
}

.gi-home-stay-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.gi-home-stay-card:hover .gi-home-stay-card__image img {
    transform: scale(1.055);
}

.gi-home-stay-card__image > span:not(.gi-home-stay-card__type) {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #0B493E;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gi-home-stay-card__type {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 14px;
    z-index: 3;

    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.gi-home-stay-card__type a {
    display: inline-flex;
    align-items: center;

    padding: 7px 12px;

    background: rgba(255,255,255,.94);
    backdrop-filter: blur(12px);

    border-radius: 999px;

    color: #0B493E !important;

    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;

    text-decoration: none !important;

    box-shadow:
        0 6px 18px rgba(0,0,0,.12);

    transition: all .2s ease;
}

.gi-home-stay-card__type a:hover {
    background: #B9975B;
    color: #fff !important;
    transform: translateY(-1px);
}

.gi-home-stay-card__type br {
    display: none;
}

.gi-home-stay-card__type a + a {
    margin-left: 0;
}

.gi-home-stay-card__type a {
    display: inline-flex;
    padding: 6px 10px;
    color: #0B493E;
    font-size: .66rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    background: rgba(255,255,255,.92);
    border-radius: 999px;
    backdrop-filter: blur(10px);
}

.gi-home-stay-card__type a:hover {
    color: #fff;
    background: #B9975B;
}

.gi-home-stay-card__content {
    padding: 22px;
}

.gi-home-stay-card__content h3 {
    margin: 0;
    color: #0B493E;
    font-size: 1.22rem;
    line-height: 1.2;
    letter-spacing: -.025em;
}

.gi-home-stay-card__content h3 a {
    color: inherit;
    text-decoration: none;
}

.gi-home-stay-card__content h3 a:hover {
    color: #B9975B;
}

.gi-home-stay-card__location {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 12px;
}

.gi-home-stay-card__location a {
    display: inline-flex;
    padding: 6px 10px;
    color: #0B493E;
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
    text-decoration: none;
    background: #f1f7f4;
    border: 1px solid #dcebe4;
    border-radius: 999px;
}

.gi-home-stay-card__location a:hover {
    color: #fff;
    background: #B9975B;
    border-color: #B9975B;
}

.gi-home-stay-card__booking {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 18px;
    padding: 12px 14px;
    color: #fff !important;
    text-decoration: none !important;
    background: #003b95;
    border-radius: 16px;
    box-shadow: 0 12px 26px rgba(0, 59, 149, .18);
    transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
}

.gi-home-stay-card__booking span {
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
    opacity: .9;
}

.gi-home-stay-card__booking strong {
    font-size: .95rem;
    font-weight: 950;
}

.gi-home-stay-card__booking:hover {
    color: #fff !important;
    background: #0B493E;
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(11, 73, 62, .20);
}

@media (max-width: 980px) {
    .gi-home-stays__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .gi-home-stays {
        margin: 42px 0;
        padding: 46px 0;
    }

    .gi-home-stays__inner {
        padding: 0 16px;
    }

    .gi-home-stays__grid {
        grid-template-columns: 1fr;
    }

    .gi-home-stay-card {
        border-radius: 22px;
		margin : 18px;
    }

    .gi-home-stay-card__image {
        height: 220px;
    }

    .gi-home-stay-card__content {
        padding: 20px;
    }
}



/* HERO TAXO */
.gi-taxo-premium-hero {
    position: relative;
    width: 100%;
    min-height: clamp(480px, 38vh, 340px);
    overflow: hidden;
    background: #0B493E;
}

.gi-taxo-premium-hero__media,
.gi-taxo-premium-hero__media .slider,
.gi-taxo-premium-hero__media picture,
.gi-taxo-premium-hero__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.gi-taxo-premium-hero__media img {
    display: block;
    object-fit: cover;
    transform: scale(1.02);
}

.gi-taxo-premium-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        radial-gradient(
            circle at 82% 18%,
            rgba(185,151,91,.08),
            transparent 40%
        ),
        linear-gradient(
            90deg,
            rgba(3,28,24,.28) 0%,
            rgba(3,28,24,.16) 28%,
            rgba(3,28,24,.06) 55%,
            transparent 100%
        );
}

.gi-taxo-premium-hero__content p {
    text-shadow: 0 3px 18px rgba(0,0,0,.35);
}

.gi-taxo-premium-hero__content h1,
.gi-taxo-premium-hero__content p {
    text-shadow:
        0 2px 8px rgba(0,0,0,.25),
        0 8px 30px rgba(0,0,0,.15);
}


.gi-taxo-premium-hero__content {
    position: relative;
    z-index: 3;
    max-width: 1180px;
    min-height: clamp(240px, 38vh, 340px);
    margin: 0 auto;
    padding: 55px 24px 40px;
}

.gi-taxo-premium-hero__eyebrow {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 14px;
    color: #E4C585;
    font-size: .76rem;
    font-weight: 950;
    letter-spacing: .15em;
    text-transform: uppercase;
	 text-shadow:
        0 2px 8px rgba(0,0,0,.25),
        0 8px 30px rgba(0,0,0,.15);
}

.gi-taxo-premium-hero__content h1 {
    max-width: 860px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.7rem, 6vw, 5.6rem);
    line-height: .95;
    font-weight: 950;
    letter-spacing: -.06em;
    text-wrap: balance;
}

.gi-taxo-premium-hero__content p {
    max-width: 760px;
    margin: 22px 0 0;
    color: rgba(255,255,255,.84);
    font-size: clamp(1rem, 1.6vw, 1.18rem);
    line-height: 1.75;
}

.gi-taxo-premium-hero__caption {
    position: absolute;
    right: 28px;
    bottom: 24px;
    z-index: 4;
    max-width: min(460px, calc(100% - 56px));
    padding: 8px 13px;
    color: rgba(255,255,255,.88);
    font-size: .76rem;
    line-height: 1.45;
    background: rgba(3,28,24,.62);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    backdrop-filter: blur(12px);
}

@media (max-width: 720px) {

    .gi-taxo-premium-hero {
        min-height: 420px;
        margin-top: -20px;
    }

    .gi-taxo-premium-hero__content {
        min-height: 420px;
        padding: 42px 18px 28px;
    }

    .gi-taxo-premium-hero__eyebrow {
        margin-bottom: 8px;
        font-size: .65rem;
    }

    .gi-taxo-premium-hero__content h1 {
        font-size: clamp(2.9rem, 8vw, 2.8rem);
        line-height: .95;
    }

    .gi-taxo-premium-hero__content p {
        margin-top: 10px;
        font-size: .92rem;
        line-height: 1.55;
    }

    .gi-taxo-premium-hero__caption {
        display: none;
    }

    .gi-post-premium-hero__meta {
        gap: 6px;
        margin-top: 12px;
    }

    .gi-post-premium-hero__badge {
        padding: 5px 9px;
        font-size: .62rem;
    }

    .gi-home-premium-hero {
        min-height: 340px;
    }

    .gi-home-premium-hero__content {
        min-height: 340px;
        padding-top: 48px;
        padding-bottom: 36px;
    }

    .gi-home-premium-hero__content h1 {
        font-size: clamp(2.6rem, 12vw, 4.4rem);
        line-height: .85;
    }

    .gi-home-premium-hero__content h1 em {
        margin-top: 8px;
        font-size: 1.15rem;
    }

    .gi-home-premium-hero__btn {
        width: auto;
        min-height: 38px;
        padding: 9px 14px;
        font-size: .72rem;
    }
}

/* HERO POSTS : compléments au hero taxo existant */

.gi-post-premium-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-width: 860px;
    margin-top: 18px;
}

.gi-post-premium-hero__badge {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;

    padding: 7px 12px;

    color: #0B493E !important;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;

    text-decoration: none !important;

    background: rgba(255,255,255,.92);
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 999px;

    backdrop-filter: blur(10px);
    box-shadow: 0 8px 22px rgba(0,0,0,.12);
}

.gi-post-premium-hero__badge a {
    color: #0B493E !important;
    text-decoration: none !important;
}

.gi-post-premium-hero__badge:hover,
.gi-post-premium-hero__badge a:hover {
    color: #B9975B !important;
}

.gi-post-premium-hero__badge img,
.gi-post-premium-hero__meta img {
    display: none !important;
}

@media (max-width: 720px) {
    .gi-post-premium-hero__meta {
        margin-top: 14px;
    }

    .gi-post-premium-hero__badge {
        padding: 6px 10px;
        font-size: .66rem;
    }
}

/* Particularités HERO HOME */

.gi-home-premium-hero {
	min-height: clamp(350px, 50vh, 550px);}

.gi-home-premium-hero__content {
	min-height: clamp(350px, 50vh, 550px);   
	padding-top: 50px;
    padding-bottom: 58px;
}

.gi-home-premium-hero__content h1 {
    max-width: 850px;
    font-size: clamp(4rem, 10vw, 8.6rem);
    line-height: .82;
    letter-spacing: -.08em;
    text-transform: uppercase;
}

.gi-home-premium-hero__content h1 em {
    display: block;
    margin-top: 18px;
    color: #E4C585;
    font-size: clamp(2.45rem, 3vw, 2.6rem);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -.035em;
    text-transform: none;
    font-style: normal;
	text-shadow:
        0 2px 8px rgba(0,0,0,.25),
        0 8px 30px rgba(0,0,0,.15);
}

.gi-home-premium-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 28px;
}

.gi-home-premium-hero__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 18px;
    color: #0B493E !important;
    font-size: .84rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none !important;
    background: #E4C585;
    border-radius: 999px;
}

.gi-home-premium-hero__btn--light {
    color: #fff !important;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.32);
    backdrop-filter: blur(12px);
}

.gi-home-premium-hero__badge {
    position: absolute;
    right: max(24px, calc((100vw - 1180px) / 2 + 24px));
    bottom: 82px;
    z-index: 4;
    max-width: 260px;
    padding: 18px 20px;
    color: #fff;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 22px;
    backdrop-filter: blur(14px);
}

.gi-home-premium-hero__badge strong {
    display: block;
    color: #E4C585;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-home-premium-hero__badge span {
    display: block;
    margin-top: 6px;
    color: rgba(255,255,255,.82);
    font-size: .9rem;
    line-height: 1.45;
}

@media (max-width: 900px) {
    .gi-home-premium-hero__badge {
        display: none;
    }
}

@media (max-width: 720px) {
    .gi-home-premium-hero,
    .gi-home-premium-hero__content {
        min-height: 400px;
    }

    .gi-home-premium-hero__content h1 {
        font-size: clamp(4.6rem, 15vw, 6.4rem);
    }

    .gi-home-premium-hero__btn {
        width: 100%;
    }
}

/* PAGE RECHERCHE */

/* PAGE RECHERCHE PREMIUM GUIDE IRLANDE */

.gi-search-page {
    background: #f7f4ee;
    color: #123c35;
}

.gi-search-hero {
    position: relative;
    padding: clamp(70px, 9vw, 130px) 20px;
    background:
        radial-gradient(circle at 80% 20%, rgba(185,151,91,.22), transparent 32%),
        linear-gradient(135deg, #073b33 0%, #0b493e 52%, #123c35 100%);
    color: #fff;
    overflow: hidden;
}

.gi-search-hero::after {
    content: "";
    position: absolute;
    inset: auto -10% -40% -10%;
    height: 240px;
    background: rgba(255,255,255,.07);
    border-radius: 50% 50% 0 0;
}

.gi-search-hero__inner {
    position: relative;
    z-index: 2;
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
}

.gi-search-eyebrow {
    display: inline-flex;
    margin-bottom: 18px;
    padding: 8px 16px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    color: #e7c77d;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gi-search-hero h1 {
    max-width: 850px;
    margin: 0 auto 18px;
    font-size: clamp(36px, 6vw, 72px);
    line-height: .95;
    letter-spacing: -.05em;
    color: #fff;
}

.gi-search-hero p {
    max-width: 660px;
    margin: 0 auto 34px;
    color: rgba(255,255,255,.82);
    font-size: clamp(17px, 2vw, 21px);
    line-height: 1.6;
}

.gi-search-form {
    display: flex;
    gap: 10px;
    max-width: 760px;
    margin: 0 auto;
    padding: 8px;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    backdrop-filter: blur(14px);
}

.gi-search-form input {
    flex: 1;
    min-width: 0;
    height: 58px;
    padding: 0 24px;
    border: 0;
    border-radius: 999px;
    background: #fff;
    color: #123c35;
    font-size: 17px;
    outline: none;
}

.gi-search-form button {
    height: 58px;
    padding: 0 28px;
    border: 0;
    border-radius: 999px;
    background: #d6ad5c;
    color: #0b2f29;
    font-weight: 800;
    cursor: pointer;
    transition: transform .2s ease, background .2s ease;
}

.gi-search-form button:hover {
    transform: translateY(-1px);
    background: #e6bf70;
}

.gi-search-results {
    max-width: 1240px;
    margin: 0 auto;
    padding: clamp(42px, 6vw, 80px) 20px;
}

.gi-search-results__header {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 20px;
    margin-bottom: 30px;
}

.gi-search-results__header h2 {
    margin: 0;
    font-size: clamp(28px, 4vw, 44px);
    letter-spacing: -.035em;
    color: #123c35;
}

.gi-search-results__header p {
    margin: 0;
    color: #6f7f78;
    font-weight: 700;
}

.gi-search-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.gi-search-card {
    height: 100%;
    overflow: hidden;
    background: #fff;
    border-radius: 26px;
    box-shadow: 0 18px 46px rgba(11,73,62,.10);
    transition: transform .22s ease, box-shadow .22s ease;
}

.gi-search-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 60px rgba(11,73,62,.16);
}

.gi-search-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.gi-search-card__media {
    position: relative;
    aspect-ratio: 16 / 10;
    background: #0b493e;
    overflow: hidden;
}

.gi-search-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.gi-search-card:hover img {
    transform: scale(1.04);
}

.gi-search-card__placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    color: #e7c77d;
    font-weight: 800;
}

.gi-search-card__content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 24px;
}

.gi-search-card__type {
    width: fit-content;
    margin-bottom: 12px;
    padding: 6px 11px;
    border-radius: 999px;
    background: #edf5f2;
    color: #0b493e;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.gi-search-card h3 {
    margin: 0 0 12px;
    color: #123c35;
    font-size: 23px;
    line-height: 1.15;
    letter-spacing: -.025em;
}

.gi-search-card p {
    margin: 0 0 20px;
    color: #63736d;
    font-size: 15px;
    line-height: 1.6;
}

.gi-search-card__cta {
    margin-top: auto;
    color: #b88a35;
    font-weight: 800;
}

.gi-search-pagination {
    margin-top: 42px;
    text-align: center;
}

.gi-search-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    margin: 3px;
    padding: 0 12px;
    border-radius: 999px;
    background: #fff;
    color: #123c35;
    text-decoration: none;
    font-weight: 700;
    box-shadow: 0 8px 20px rgba(11,73,62,.08);
}

.gi-search-pagination .current {
    background: #0b493e;
    color: #fff;
}

.gi-search-empty {
    max-width: 760px;
    margin: 0 auto;
    padding: 42px;
    background: #fff;
    border-radius: 28px;
    text-align: center;
    box-shadow: 0 18px 46px rgba(11,73,62,.10);
}

.gi-search-empty h2 {
    margin-top: 0;
    color: #123c35;
}

.gi-search-empty p {
    color: #63736d;
}

@media (max-width: 980px) {
    .gi-search-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .gi-search-hero {
        padding: 52px 16px;
		margin-top : -20px;
    }

    .gi-search-form {
        flex-direction: column;
        border-radius: 28px;
    }

    .gi-search-form input,
    .gi-search-form button {
        width: 100%;
		padding : 20px;
    }

    .gi-search-results__header {
        display: block;
    }

    .gi-search-grid {
        grid-template-columns: 1fr;
    }

    .gi-search-card__content {
        padding: 20px;
    }
}

/* Recherche mobile premium */

@media (max-width: 768px) {

    .wp-block-search__inside-wrapper {
        display: flex;
        flex-direction: column;
        gap: 12px;
        border: 0;
        padding: 0;
    }

    .wp-block-search__input {
        height: 60px !important;
        min-height: 60px !important;
        padding: 0 20px !important;
        font-size: 17px !important;
        border-radius: 16px !important;
        border: 1px solid #d7e0dc !important;
    }

    .wp-block-search__button {
        width: 100%;
        height: 60px !important;
        padding: 0 24px !important;
        border-radius: 16px !important;
        font-size: 16px !important;
        font-weight: 700;
    }

}

/* SINGLE ACTU PREMIUM */

.gi-news-single-wrapper {
    max-width: 1180px;
    margin: 0 auto;
    padding: 34px 22px 70px;
}

.gi-news-single-main {
    float: left;
}

.gi-news-single-breadcrumbs {
    margin-bottom: 22px;
    color: #65756f;
    font-size: .9rem;
}

.gi-news-single-header {
    margin-bottom: 26px;
    padding: 34px;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.12), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f8fbf9 100%);
    border: 1px solid #e6ece8;
    border-radius: 28px;
    box-shadow: 0 20px 55px rgba(11, 73, 62, .08);
}

.gi-news-single-kicker,
.gi-news-single-section-heading span {
    display: inline-flex;
    margin-bottom: 10px;
    color: #B9975B;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-news-single-title {
    margin: 0;
    color: #0B493E;
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.05;
    letter-spacing: -.045em;
}

.gi-news-single-subtitle {
    margin-top: 14px;
    color: #65756f;
    font-size: 1.08rem;
    line-height: 1.75;
}

.gi-news-single-tags,
.gi-news-single-hero__terms,
.gi-news-single-related__tax {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 18px;
}

.gi-news-single-tags a,
.gi-news-single-hero__terms a,
.gi-news-single-related__tax a {
    display: inline-flex;
    padding: 6px 10px;
    color: #0B493E !important;
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none !important;
    background: #f1f7f4;
    border: 1px solid #dcebe4;
    border-radius: 999px;
}

.gi-news-single-hero__terms a {
    background: rgba(255,255,255,.92);
    border-color: rgba(255,255,255,.45);
    backdrop-filter: blur(10px);
}

.gi-news-single-tags a:hover,
.gi-news-single-hero__terms a:hover,
.gi-news-single-related__tax a:hover {
    color: #fff !important;
    background: #B9975B;
    border-color: #B9975B;
}

.gi-news-single-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
    margin-top: 22px;
    color: #65756f;
    font-size: .88rem;
    font-weight: 700;
}

.gi-news-single-meta time,
.gi-news-single-meta span {
    display: inline-flex;
    align-items: center;
}

.gi-news-single-share {
    margin: 24px 0;
}


.gi-news-single-content h2,
.gi-news-single-content h3,
.gi-news-single-content h4 {
    color: #0B493E;
    letter-spacing: -.025em;
}

.gi-news-single-content h2 {
    margin-top: 42px;
    font-size: 1.9rem;
    line-height: 1.2;
}

.gi-news-single-content h3 {
    margin-top: 34px;
    font-size: 1.45rem;
    line-height: 1.25;
}

.gi-news-single-content p {
    margin-bottom: 1.45em;
}


.gi-news-single-video,
.gi-news-single-related {
    margin: 44px 0;
    padding: 30px;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 28px;
    box-shadow: 0 20px 55px rgba(11, 73, 62, .08);
}

.gi-news-single-section-heading {
    margin-bottom: 22px;
}

.gi-news-single-section-heading h2 {
    margin: 0;
    color: #0B493E;
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    line-height: 1.1;
    letter-spacing: -.035em;
}

.gi-news-single-video__embed iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    border-radius: 20px;
}

.gi-news-single-related__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
    gap: 22px;
}

.gi-news-single-related-featured,
.gi-news-single-related-mini {
    overflow: hidden;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 24px;
    box-shadow: 0 16px 42px rgba(11, 73, 62, .07);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.gi-news-single-related-featured:hover,
.gi-news-single-related-mini:hover {
    transform: translateY(-3px);
    border-color: rgba(185,151,91,.45);
    box-shadow: 0 22px 58px rgba(11,73,62,.12);
}

.gi-news-single-related-featured__image {
    display: block;
    height: 310px;
    overflow: hidden;
}

.gi-news-single-related-featured__image img,
.gi-news-single-related-mini__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.gi-news-single-related-featured:hover img,
.gi-news-single-related-mini:hover img {
    transform: scale(1.045);
}

.gi-news-single-related-featured__image span,
.gi-news-single-related-mini__image span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #0B493E;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
    background: #f7faf8;
}

.gi-news-single-related-featured__content {
    padding: 22px;
}

.gi-news-single-related-featured h3,
.gi-news-single-related-mini h3 {
    margin: 0;
    color: #0B493E;
    line-height: 1.18;
    letter-spacing: -.025em;
}

.gi-news-single-related-featured h3 {
    font-size: 1.35rem;
}

.gi-news-single-related-mini h3 {
    font-size: .98rem;
}

.gi-news-single-related-featured h3 a,
.gi-news-single-related-mini h3 a {
    color: inherit;
    text-decoration: none;
}

.gi-news-single-related-featured h3 a:hover,
.gi-news-single-related-mini h3 a:hover {
    color: #B9975B;
}

.gi-news-single-related-featured time,
.gi-news-single-related-mini time {
    display: block;
    margin-top: 9px;
    color: #7c8a84;
    font-size: .8rem;
    font-weight: 700;
}

.gi-news-single-related-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.gi-news-single-related-mini {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    min-height: 112px;
}

.gi-news-single-related-mini__image {
    display: block;
    min-height: 112px;
    overflow: hidden;
    background: #f7faf8;
}

.gi-news-single-related-mini__content {
    padding: 15px;
    min-width: 0;
}

.gi-news-single-more {
    display: flex;
    justify-content: center;
    margin-top: 26px;
}

.gi-news-single-more a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 17px;
    color: #fff !important;
    font-size: .86rem;
    font-weight: 900;
    text-decoration: none !important;
    background: #0B493E;
    border-radius: 999px;
    box-shadow: 0 12px 26px rgba(11,73,62,.16);
}

.gi-news-single-more a:hover {
    background: #B9975B;
}

@media (max-width: 900px) {
    .gi-news-single-related__layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .gi-news-single-wrapper {
        padding: 24px 16px 54px;
    }

    .gi-news-single-header,
    .gi-news-single-video,
    .gi-news-single-related {
        padding: 22px;
        border-radius: 22px;
    }

    .gi-news-single-related-featured__image {
        height: 230px;
    }

    .gi-news-single-related-mini {
        grid-template-columns: 92px minmax(0, 1fr);
        min-height: 100px;
    }

    .gi-news-single-related-mini__image {
        min-height: 100px;
    }

    .gi-news-single-content {
        font-size: 1rem;
        line-height: 1.78;
    }
}




/* SINGLE POST BOOKING */

.gi-post-booking {
    margin: 46px 0;
    padding: 30px;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.10), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f8fbf9 100%);
    border: 1px solid #e6ece8;
    border-radius: 28px;
    box-shadow: 0 20px 55px rgba(11, 73, 62, .08);
}

.gi-post-booking__heading {
    margin-bottom: 24px;
}

.gi-post-booking__heading span {
    display: inline-flex;
    margin-bottom: 10px;
    color: #B9975B;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-post-booking__heading h2 {
    margin: 0;
    color: #0B493E;
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    line-height: 1.1;
    letter-spacing: -.035em;
}

.gi-post-booking__heading h2 em {
    color: #B9975B;
    font-style: normal;
}

.gi-post-booking__heading p {
    max-width: 680px;
    margin: 12px 0 0;
    color: #65756f;
    font-size: .98rem;
    line-height: 1.65;
}

.gi-post-booking__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.gi-post-booking-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 24px;
    box-shadow: 0 16px 42px rgba(11, 73, 62, .07);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.gi-post-booking-card:hover {
    transform: translateY(-3px);
    border-color: rgba(185,151,91,.45);
    box-shadow: 0 22px 58px rgba(11,73,62,.12);
}

.gi-post-booking-card__image {
    position: relative;
    display: block;
    height: 180px;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.16), transparent 35%),
        linear-gradient(135deg, #f7faf8 0%, #ffffff 100%);
}

.gi-post-booking-card__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 48%, rgba(0,0,0,.34) 100%);
    pointer-events: none;
}

.gi-post-booking-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.gi-post-booking-card:hover .gi-post-booking-card__image img {
    transform: scale(1.045);
}

.gi-post-booking-card__image > span:not(.gi-post-booking-card__type) {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #0B493E;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gi-post-booking-card__type {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.gi-post-booking-card__type a {
    display: inline-flex;
    padding: 6px 9px;
    color: #0B493E !important;
    font-size: .62rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none !important;
    background: rgba(255,255,255,.92);
    border-radius: 999px;
    backdrop-filter: blur(10px);
}

.gi-post-booking-card__type a:hover {
    color: #fff !important;
    background: #B9975B;
}

.gi-post-booking-card__content {
    padding: 18px;
}

.gi-post-booking-card__content h3 {
    margin: 0;
    color: #0B493E;
    font-size: 1.08rem;
    line-height: 1.22;
    letter-spacing: -.02em;
}

.gi-post-booking-card__content h3 a {
    color: inherit;
    text-decoration: none;
}

.gi-post-booking-card__content h3 a:hover {
    color: #B9975B;
}

.gi-post-booking-card__location {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

.gi-post-booking-card__location a {
    display: inline-flex;
    padding: 5px 8px;
    color: #0B493E !important;
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
    text-decoration: none !important;
    background: #f1f7f4;
    border: 1px solid #dcebe4;
    border-radius: 999px;
}

.gi-post-booking-card__location a:hover {
    color: #fff !important;
    background: #B9975B;
    border-color: #B9975B;
}

.gi-post-booking-card__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 15px;
    padding: 10px 12px;
    color: #fff !important;
    text-decoration: none !important;
    background: #003b95;
    border-radius: 14px;
    box-shadow: 0 10px 22px rgba(0,59,149,.16);
    transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
}

.gi-post-booking-card__cta span {
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
    opacity: .9;
}

.gi-post-booking-card__cta strong {
    font-size: .9rem;
    font-weight: 950;
}

.gi-post-booking-card__cta:hover {
    color: #fff !important;
    background: #0B493E;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(11,73,62,.18);
}

@media (max-width: 720px) {
    .gi-post-booking {
        padding: 22px;
        border-radius: 22px;
    }

    .gi-post-booking__grid {
        grid-template-columns: 1fr;
    }

    .gi-post-booking-card__image {
        height: 210px;
    }
}


.gi-404-wrapper {
    max-width: 1180px;
    margin: 0 auto;
    padding: 46px 22px 80px;
}

.gi-404 {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: 28px;
    align-items: stretch;
    padding: 42px;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.16), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f8fbf9 100%);
    border: 1px solid #e6ece8;
    border-radius: 34px;
    box-shadow: 0 26px 80px rgba(11,73,62,.10);
}

.gi-404__eyebrow {
    display: inline-flex;
    margin-bottom: 12px;
    color: #B9975B;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-404 h1 {
    max-width: 760px;
    margin: 0;
    color: #0B493E;
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.gi-404 p {
    max-width: 680px;
    margin: 22px 0 0;
    color: #65756f;
    font-size: 1.08rem;
    line-height: 1.75;
}

.gi-404__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 28px;
}

.gi-404__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 18px;
    color: #fff !important;
    font-size: .86rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none !important;
    background: #0B493E;
    border: 1px solid #0B493E;
    border-radius: 999px;
    box-shadow: 0 12px 26px rgba(11,73,62,.16);
}

.gi-404__btn:hover {
    background: #B9975B;
    border-color: #B9975B;
}

.gi-404__btn--light {
    color: #0B493E !important;
    background: #fff;
    border-color: #e6ece8;
    box-shadow: none;
}

.gi-404__btn--light:hover {
    color: #fff !important;
}

.gi-404__card {
    padding: 26px;
    background: #0B493E;
    border-radius: 28px;
    box-shadow: 0 20px 55px rgba(11,73,62,.16);
}

.gi-404__card strong {
    display: block;
    margin-bottom: 16px;
    color: #E4C585;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gi-404__card a {
    display: block;
    padding: 13px 0;
    color: #fff !important;
    font-size: 1rem;
    font-weight: 850;
    text-decoration: none !important;
    border-top: 1px solid rgba(255,255,255,.14);
}

.gi-404__card a:hover {
    color: #E4C585 !important;
}

@media (max-width: 760px) {
    .gi-404-wrapper {
        padding: 28px 16px 60px;
    }

    .gi-404 {
        grid-template-columns: 1fr;
        padding: 26px;
        border-radius: 26px;
    }

    .gi-404__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .gi-404__btn {
        width: 100%;
    }
}



/* SINGLE CIRCUIT PREMIUM */

.gi-circuit-page,
.gi-circuit-content-wrapper {
    max-width: 1180px;
    margin: 0 auto;
    padding: 34px 22px 0;
}

.gi-circuit-breadcrumbs {
    margin-bottom: 22px;
    color: #65756f;
    font-size: .9rem;
}

.gi-circuit-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
    gap: 28px;
    align-items: stretch;
    margin-bottom: 34px;
}

.gi-circuit-intro__text {
    padding: 34px;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.12), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f8fbf9 100%);
    border: 1px solid #e6ece8;
    border-radius: 30px;
    box-shadow: 0 22px 60px rgba(11,73,62,.08);
}

.gi-circuit-intro__text > span,
.gi-circuit-section-heading span,
.gi-circuit-dashboard > span {
    display: inline-flex;
    margin-bottom: 10px;
    color: #B9975B;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-circuit-intro__text h1,
.gi-circuit-section-heading h2 {
    margin: 0;
    color: #0B493E;
    line-height: 1.06;
    letter-spacing: -.045em;
}

.gi-circuit-intro__text h1 {
    font-size: clamp(2rem, 4vw, 3.2rem);
}

.gi-circuit-intro__text h1 em {
    display: block;
    color: #B9975B;
    font-style: normal;
}

.gi-circuit-intro__text p {
    max-width: 760px;
    margin: 16px 0 0;
    color: #65756f;
    font-size: 1.05rem;
    line-height: 1.75;
}

.gi-circuit-map-section {
    width: 100%;
    margin: 44px 0;
    padding: 62px 0;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.18), transparent 34%),
        linear-gradient(135deg, #07372f 0%, #0B493E 52%, #0d5a4d 100%);
    overflow: hidden;
}

.gi-circuit-map-section__inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}

.gi-circuit-map-section .gi-circuit-section-heading span {
    color: #E4C585;
}

.gi-circuit-map-section .gi-circuit-section-heading h2 {
    color: #fff;
    font-size: clamp(2rem, 4vw, 3rem);
}

.gi-circuit-map-section .gi-circuit-section-heading p {
    margin: 14px 0 0;
    color: rgba(255,255,255,.78);
    font-size: 1.05rem;
    line-height: 1.65;
}

.gi-circuit-map-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
    gap: 24px;
    margin-top: 30px;
}

.gi-circuit-map-card {
    overflow: hidden;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 28px;
    box-shadow: 0 24px 70px rgba(0,0,0,.22);
}

#mapid {
    width: 100%;
    height: 600px;
}

.gi-circuit-dashboard {
    padding: 26px;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 28px;
    box-shadow: 0 24px 70px rgba(0,0,0,.18);
}

.gi-circuit-dashboard h3 {
    margin: 0 0 18px;
    color: #0B493E;
    font-size: 1.45rem;
    line-height: 1.18;
    letter-spacing: -.025em;
}

.gi-circuit-dashboard ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.gi-circuit-dashboard li {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 13px 0;
    color: #263832;
    border-top: 1px solid #e6ece8;
    cursor: pointer;
    transition: color .2s ease, transform .2s ease;
}

.gi-circuit-dashboard li:hover {
    color: #B9975B;
    transform: translateX(3px);
}

.gi-circuit-dashboard li strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    color: #fff;
    background: #0B493E;
    border-radius: 999px;
}

.gi-circuit-description {
    margin-bottom: 34px;
    padding: 34px;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 30px;
    box-shadow: 0 22px 60px rgba(11,73,62,.08);
}

.gi-circuit-section-heading {
    margin-bottom: 24px;
}

.gi-circuit-section-heading h2 {
    font-size: clamp(1.7rem, 3vw, 2.4rem);
}

.gi-circuit-main-content,
.gi-circuit-step-card__content {
    color: #263832;
    font-size: 1.03rem;
    line-height: 1.85;
}

.gi-circuit-main-content a,
.gi-circuit-step-card__content a {
    color: #0B493E;
    font-weight: 850;
    text-decoration: none;
    box-shadow: inset 0 -1px 0 rgba(185,151,91,.45);
}

.gi-circuit-steps-content {
    display: grid;
    gap: 24px;
    margin-bottom: 60px;
}

.gi-circuit-step-card {
    overflow: hidden;
    padding: 0;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 30px;
    box-shadow: 0 22px 60px rgba(11,73,62,.08);
}

.gi-circuit-step-card h3 {
    margin: 0;
    padding: 26px 30px 18px;
    color: #0B493E;
    font-size: 1.55rem;
    line-height: 1.18;
    letter-spacing: -.025em;
}

.gi-circuit-step-card__image img {
    display: block;
    width: 100%;
    height: auto;
}

.gi-circuit-step-card__content {
    padding: 26px 30px 30px;
}

.leaflet-popup-content .thumbnail img {
    border-radius: 12px;
}

.map-title-spot a {
    color: #0B493E !important;
    font-weight: 900;
    text-decoration: none;
}

@media (max-width: 900px) {
    .gi-circuit-intro,
    .gi-circuit-map-layout {
        grid-template-columns: 1fr;
    }

    #mapid {
        height: 460px;
    }
}

@media (max-width: 720px) {
    .gi-circuit-page,
    .gi-circuit-content-wrapper {
        padding: 24px 16px 0;
    }

    .gi-circuit-intro__text,
    .gi-circuit-description,
    .gi-circuit-step-card {
        border-radius: 24px;
    }

    .gi-circuit-intro__text,
    .gi-circuit-description {
        padding: 24px;
    }

    .gi-circuit-map-section {
        padding: 44px 0;
    }

    .gi-circuit-map-section__inner {
        padding: 0 16px;
    }

    #mapid {
        height: 360px;
    }

    .gi-circuit-dashboard {
        padding: 22px;
        border-radius: 24px;
    }

    .gi-circuit-step-card h3 {
        padding: 22px 22px 14px;
    }

    .gi-circuit-step-card__content {
        padding: 22px;
    }
}

/* CIRCUIT INFOS HEADER */

.gi-circuit-info-card {
    background:
        radial-gradient(circle at top right, rgba(228,197,133,.12), transparent 34%),
        linear-gradient(135deg, #07372f 0%, #0B493E 100%);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 28px;
    box-shadow: 0 22px 60px rgba(11,73,62,.16);
    overflow: hidden;
}

.gi-circuit-info-card__head {
    padding: 24px 24px 18px;
}

.gi-circuit-info-card__head span,
.gi-circuit-booking-box > span {
    display: inline-flex;
    margin-bottom: 8px;
    color: #E4C585;
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-circuit-info-card__head h2,
.gi-circuit-booking-box h3 {
    margin: 0;
    color: #fff;
    font-size: 1.45rem;
    line-height: 1.12;
    letter-spacing: -.025em;
}

.gi-circuit-info-list {
    padding: 0 18px 18px;
}

.gi-circuit-info-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 13px;
    align-items: flex-start;
    padding: 16px 0;
    border-top: 1px solid rgba(255,255,255,.12);
}

.gi-circuit-info-item__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 16px;
}

.gi-circuit-info-item__icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: #E4C585;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.gi-circuit-info-item__content strong {
    display: block;
    margin-bottom: 6px;
    color: #fff;
    font-size: .92rem;
    font-weight: 900;
    line-height: 1.25;
}

.gi-circuit-info-values {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.gi-circuit-info-values span {
    display: inline-flex;
    padding: 6px 9px;
    color: #0B493E;
    font-size: .75rem;
    font-weight: 900;
    background: rgba(255,255,255,.92);
    border-radius: 999px;
}

.gi-circuit-info-text,
.gi-circuit-info-rating {
    color: rgba(255,255,255,.82);
    font-size: .88rem;
    line-height: 1.55;
}

.gi-circuit-booking-box {
    margin: 0 18px 18px;
    padding: 20px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 22px;
}

.gi-circuit-booking-box h3 {
    margin-bottom: 15px;
    font-size: 1.22rem;
}

.gi-circuit-booking-btn {
    display: block;
    padding: 13px 14px;
    color: #0B493E !important;
    text-decoration: none !important;
    background: rgba(255,255,255,.94);
    border-radius: 16px;
    transition: transform .2s ease, background .2s ease;
}

.gi-circuit-booking-btn + .gi-circuit-booking-btn {
    margin-top: 10px;
}

.gi-circuit-booking-btn strong {
    display: block;
    color: #0B493E;
    font-size: .95rem;
    font-weight: 950;
}

.gi-circuit-booking-btn small {
    display: block;
    margin-top: 3px;
    color: #65756f;
    font-size: .78rem;
    font-weight: 750;
}

.gi-circuit-booking-btn:hover {
    transform: translateY(-2px);
    background: #E4C585;
}

@media (max-width: 900px) {
    .gi-circuit-info-card {
        border-radius: 24px;
    }
}





/* =========================================================
   GUIDE IRLANDE — MENU LIGHT + MEGA MENU
   Structure :
   Niveau 1 = onglets
   Niveau 2 = colonnes
   Niveau 3 = liens
========================================================= */

.gi-main-nav {
    position: relative;
    width: 100%;
    z-index: 9999;
    clear: both;
}

.gi-main-nav ul,
.gi-main-nav li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.gi-main-nav a {
    text-decoration: none;
}

/* Desktop */
.gi-main-nav .gi-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
}

.gi-main-nav .gi-menu > li {
    position: static;
}

.gi-main-nav .gi-menu > li > a {
    display: block;
    padding: 14px 16px;
    color: #ffffff;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 600;
    text-transform: uppercase;
}

.gi-main-nav .gi-menu > li > a:hover,
.gi-main-nav .gi-menu > li.current-menu-item > a,
.gi-main-nav .gi-menu > li.current-menu-ancestor > a {
    color: #b9975b;
}

/* Sous-menus classiques */
.gi-main-nav .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 240px;
    background: #0B493E;
    box-shadow: 0 16px 35px rgba(0,0,0,.18);
    z-index: 99999;
}

.gi-main-nav li:hover > .sub-menu,
.gi-main-nav li:focus-within > .sub-menu {
    display: block;
}

.gi-main-nav .sub-menu a {
    display: block;
    padding: 11px 16px;
    color: #ffffff;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 500;
}

.gi-main-nav .sub-menu a:hover {
    background: rgba(255,255,255,.10);
}

/* =========================================================
   MEGA MENU
========================================================= */

@media (min-width: 981px) {

    .gi-main-nav .gi-menu > li.mega-2-columns > .sub-menu,
    .gi-main-nav .gi-menu > li.mega-3-columns > .sub-menu,
    .gi-main-nav .gi-menu > li.mega-4-columns > .sub-menu,
    .gi-main-nav .gi-menu > li.mega-5-columns > .sub-menu {
        left: 50%;
        right: auto;
        width: min(1180px, calc(100vw - 32px));
        transform: translateX(-50%);
        padding: 28px;
        border-radius: 0 0 22px 22px;
        background: #0B493E;
        box-shadow: 0 22px 45px rgba(0,0,0,.22);
        box-sizing: border-box;
        gap: 24px;
    }

    .gi-main-nav .gi-menu > li.mega-2-columns:hover > .sub-menu,
    .gi-main-nav .gi-menu > li.mega-2-columns:focus-within > .sub-menu {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gi-main-nav .gi-menu > li.mega-3-columns:hover > .sub-menu,
    .gi-main-nav .gi-menu > li.mega-3-columns:focus-within > .sub-menu {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .gi-main-nav .gi-menu > li.mega-4-columns:hover > .sub-menu,
    .gi-main-nav .gi-menu > li.mega-4-columns:focus-within > .sub-menu {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .gi-main-nav .gi-menu > li.mega-5-columns:hover > .sub-menu,
    .gi-main-nav .gi-menu > li.mega-5-columns:focus-within > .sub-menu {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .gi-main-nav .gi-menu > li[class*="mega-"] > .sub-menu > li {
        width: auto;
        position: relative;
    }

    .gi-main-nav .gi-menu > li[class*="mega-"] > .sub-menu > li > a {
        padding: 0 0 10px 0;
        color: #ffffff;
        font-size: 16px;
        font-weight: 800;
        letter-spacing: .01em;
        pointer-events: none;
        cursor: default;
    }

    .gi-main-nav .gi-menu > li[class*="mega-"] > .sub-menu > li > .sub-menu {
        display: block;
        position: static;
        min-width: 0;
        background: transparent;
        box-shadow: none;
    }

    .gi-main-nav .gi-menu > li[class*="mega-"] > .sub-menu > li > .sub-menu a {
        padding: 5px 0;
        color: rgba(255,255,255,.88);
        font-size: 14px;
        font-weight: 400;
    }

    .gi-main-nav .gi-menu > li[class*="mega-"] > .sub-menu > li > .sub-menu a:hover {
        color: #ffffff;
        background: transparent;
        text-decoration: underline;
    }
}

/* =========================================================
   WPML
========================================================= */

.gi-main-nav .wpml-ls-item a,
.gi-main-nav .menu-item-language a {
    display: flex;
    align-items: center;
    gap: 6px;
}

.gi-main-nav .wpml-ls-flag {
    width: 18px;
    height: auto;
}

/* =========================================================
   BURGER
========================================================= */

.gi-menu-toggle {
    display: none;
}

.gi-burger-line {
    display: block;
    width: 22px;
    height: 2px;
    margin: 3px 0;
    background: #fff;
    border-radius: 2px;
}

.gi-main-nav .screen-reader-text {
    position: absolute;
    left: -9999px;
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 980px) {

    .gi-main-nav {
        position: static;
        width: auto;
        height: 0;
        min-height: 0;
        background: transparent;
        z-index: 999999;
    }

    .gi-menu-toggle {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        position: fixed;
        top: 8px;
        left: 8px;
        width: 42px;
        height: 42px;
        padding: 0;
        border: 0;
        border-radius: 8px;
        background: #0a6d3a;
        cursor: pointer;
        z-index: 999999999;
        box-shadow: 0 3px 12px rgba(0,0,0,.22);
    }

   .gi-main-nav .gi-menu {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: min(340px, 88vw);
    height: 100vh;
    overflow-y: auto;
    padding: 82px 0 24px 0;
    background: #ffffff;
    box-shadow: 6px 0 24px rgba(0,0,0,.18);
    z-index: 99999999;
}

.gi-main-nav.is-open .gi-menu {
    display: block;
}

    .gi-main-nav.is-open .gi-menu {
    	display: block;    
	}

    .gi-main-nav .gi-menu > li {
        width: 100%;
        border-bottom: 1px solid #e8ece8;
    }

    .gi-main-nav .gi-menu > li > a {
        display: block;
        width: 100%;
        padding: 13px 18px;
        color: #123d32;
        font-size: 15px;
        font-weight: 700;
        text-transform: uppercase;
        box-sizing: border-box;
    }

    .gi-main-nav .sub-menu,
    .gi-main-nav .sub-menu .sub-menu {
        display: none;
        position: static;
        width: 100%;
        min-width: 0;
        background: #f6f8f5;
        box-shadow: none;
    }

    .gi-main-nav li.submenu-open > .sub-menu {
        display: block;
    }

    .gi-main-nav .sub-menu a {
        padding: 11px 18px 11px 34px;
        color: #123d32;
        font-size: 14px;
        font-weight: 600;
        background: transparent;
    }

    .gi-main-nav .sub-menu .sub-menu {
        background: #ffffff;
    }

    .gi-main-nav .sub-menu .sub-menu a {
        padding-left: 50px;
        font-weight: 400;
        color: #35564c;
    }

    .gi-main-nav .sub-menu a:hover {
        background: #eef3ec;
    }
}




/* =====================================================
   FOOTER BOOKING PREMIUM
===================================================== */

.gi-footer-booking {
    background:
        radial-gradient(circle at top right,
            rgba(228,197,133,.18),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #07372f 0%,
            #0B493E 55%,
            #0f6253 100%
        );
    padding: 70px 0;
    position: relative;
    overflow: hidden;
}

.gi-footer-booking__inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;
}

.gi-footer-booking__heading {
    text-align: center;
    margin-bottom: 40px;
}

.gi-footer-booking__heading span {
    display: inline-block;
    margin-bottom: 10px;
    color: #E4C585;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gi-footer-booking__heading h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem,4vw,3.4rem);
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.04em;
	text-align : center;
}

.gi-footer-booking__heading p {
    margin: 14px auto 0;
    max-width: 700px;
    color: rgba(255,255,255,.75);
    font-size: 1.05rem;
	text-align : center;
}

/* =====================================================
   LISTE HEBERGEMENTS
===================================================== */

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

.gi-footer-stay-card {
    min-width: 0;
}

.gi-footer-stay-card__link {
    display: grid;
    grid-template-columns: 110px minmax(0,1fr);
    align-items: center;
    gap: 16px;

    padding: 12px;

    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 22px;

    text-decoration: none !important;

    backdrop-filter: blur(10px);

    transition:
        transform .25s ease,
        background .25s ease,
        border-color .25s ease;
}

.gi-footer-stay-card__link:hover {
    transform: translateY(-3px);
    background: rgba(255,255,255,.12);
    border-color: rgba(228,197,133,.45);
}

.gi-footer-stay-card__image {
    display: block;
    width: 110px;
    height: 84px;
    overflow: hidden;
    border-radius: 16px;
}

.gi-footer-stay-card__image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .4s ease;
}

.gi-footer-stay-card__link:hover img {
    transform: scale(1.05);
}

.gi-footer-stay-card__content {
    min-width: 0;
}

.gi-footer-stay-card__content small {
    display: block;
    margin-bottom: 6px;

    color: #E4C585;

    font-size: .65rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.gi-footer-stay-card__content strong {
    display: block;

    color: #fff;

    font-size: 1rem;
    font-weight: 900;
    line-height: 1.3;
}

.gi-footer-stay-card__content span {
    display: block;

    margin-top: 6px;

    color: rgba(255,255,255,.65);

    font-size: .82rem;
}

/* =====================================================
   FOOTER BAS
===================================================== */

.gi-footer-bottom {
    background: #05251f;
    padding: 26px 0;
}

.gi-footer-bottom__inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;

    text-align: center;

    color: rgba(255,255,255,.65);
    font-size: .82rem;
    line-height: 1.8;
}

.gi-footer-bottom__inner a {
    color: #E4C585;
    text-decoration: none;
}

.gi-footer-bottom__inner a:hover {
    color: #fff;
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 900px) {

    .gi-footer-booking__grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 760px) {

    .gi-footer-booking {
        padding: 50px 0;
    }

    .gi-footer-booking__inner,
    .gi-footer-bottom__inner {
        padding: 0 16px;
    }

    .gi-footer-stay-card__link {
        grid-template-columns: 90px minmax(0,1fr);
    }

    .gi-footer-stay-card__image {
        width: 90px;
        height: 70px;
    }

    .gi-footer-booking__heading h2 {
        font-size: 2rem;
    }
}


/* =====================================================
   FOOTER GLOBAL
===================================================== */

.gi-footer {
    margin-top: 64px;
    background: #07372f;
}

/* =====================================================
   FOOTER WIDGETS
===================================================== */

.gi-footer-widgets {
    padding: 48px 0;
    background: #082f29;
    border-top: 1px solid rgba(255,255,255,.10);
}

.gi-footer-widgets__inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}

.gi-footer-widgets,
.gi-footer-widgets p,
.gi-footer-widgets li {
    color: rgba(255,255,255,.78);
    font-size: .95rem;
    line-height: 1.7;
}

.gi-footer-widgets h2,
.gi-footer-widgets h3,
.gi-footer-widgets .widget-title {
    margin: 0 0 14px;
    color: #fff;
    font-size: 1.05rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gi-footer-widgets a {
    color: rgba(255,255,255,.82);
    text-decoration: none;
}

.gi-footer-widgets a:hover {
    color: #E4C585;
}

.gi-footer-widgets ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.gi-footer-widgets li {
    margin-bottom: 8px;
}

/* =====================================================
   FOOTER LEGAL
===================================================== */

.gi-footer-legal {
    padding: 22px 0;
    background: #05231f;
    border-top: 1px solid rgba(255,255,255,.08);
}

.gi-footer-legal__inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;

    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    align-items: center;
    justify-content: space-between;
}

.gi-footer-legal p {
    margin: 0;
    color: rgba(255,255,255,.68);
    font-size: .82rem;
    line-height: 1.5;
}

.gi-footer-legal__links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.gi-footer-legal__links a {
    color: rgba(255,255,255,.78);
    font-size: .82rem;
    font-weight: 800;
    text-decoration: none;
}

.gi-footer-legal__links a:hover {
    color: #E4C585;
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 760px) {
    .gi-footer {
        margin-top: 44px;
    }

    .gi-footer-widgets {
        padding: 38px 0;
    }

    .gi-footer-widgets__inner,
    .gi-footer-legal__inner {
        padding: 0 16px;
    }

    .gi-footer-legal__inner {
        display: block;
        text-align: center;
    }

    .gi-footer-legal__links {
        justify-content: center;
        margin-top: 10px;
    }
}

/* TAXONOMY FOOD PREMIUM */

.gi-food-taxo-page {
    width: 100%;
}

.gi-food-taxo-container {
    width: min(100% - 44px, 1180px);
    margin: 0 auto;
    padding: 34px 0 0;
}

.gi-food-taxo-breadcrumbs {
    margin-bottom: 22px;
    color: #65756f;
    font-size: .9rem;
}

.gi-food-taxo-intro {
    margin: 26px 0 34px;
    padding: 34px;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.12), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f8fbf9 100%);
    border: 1px solid #e6ece8;
    border-radius: 30px;
    box-shadow: 0 22px 60px rgba(11,73,62,.08);
}

.gi-food-taxo-intro__eyebrow {
    display: inline-flex;
    margin-bottom: 10px;
    color: #B9975B;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-food-taxo-intro h2 {
    margin: 0;
    color: #0B493E;
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.06;
    letter-spacing: -.045em;
}

.gi-food-taxo-intro h2 em {
    display: block;
    color: #B9975B;
    font-style: normal;
}

.gi-food-taxo-intro p {
    max-width: 820px;
    margin: 16px 0 0;
    color: #65756f;
    font-size: 1.05rem;
    line-height: 1.75;
}

.gi-food-specialties {
    margin: 34px 0 48px;
}

.gi-food-specialties__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.gi-food-specialty-card {
    min-width: 0;
}

.gi-food-specialty-card__link {
    display: block;
    height: 100%;
    overflow: hidden;
    color: inherit;
    text-decoration: none !important;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 24px;
    box-shadow: 0 18px 45px rgba(11,73,62,.08);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.gi-food-specialty-card__link:hover {
    transform: translateY(-4px);
    border-color: rgba(185,151,91,.45);
    box-shadow: 0 24px 60px rgba(11,73,62,.13);
}

.gi-food-specialty-card__image {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.16), transparent 35%),
        linear-gradient(135deg, #f7faf8 0%, #ffffff 100%);
}

.gi-food-specialty-card__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 48%, rgba(0,0,0,.30) 100%);
    pointer-events: none;
}

.gi-food-specialty-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.gi-food-specialty-card__link:hover img {
    transform: scale(1.045);
}

.gi-food-specialty-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #0B493E;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gi-food-specialty-card__content {
    display: block;
    padding: 18px 18px 20px;
}

.gi-food-specialty-card__content strong {
    display: block;
    color: #0B493E;
    font-size: 1.08rem;
    font-weight: 950;
    line-height: 1.22;
    letter-spacing: -.015em;
}

.gi-food-specialty-card__content small {
    display: inline-flex;
    margin-top: 8px;
    color: #B9975B;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gi-food-news-block {
    margin: 48px 0;
}

.gi-food-taxo-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(270px, 320px);
    gap: 34px;
    align-items: start;
    padding-bottom: 70px;
}

.gi-food-taxo-content,
.gi-food-taxo-sidebar {
    min-width: 0;
}

.gi-food-editorial-intro,
.gi-food-description {
    margin-bottom: 34px;
    padding: 34px;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 30px;
    box-shadow: 0 22px 60px rgba(11,73,62,.08);
}

.gi-food-editorial-intro,
.gi-food-description {
    color: #263832;
    font-size: 1.03rem;
    line-height: 1.85;
}

.gi-food-editorial-intro h2,
.gi-food-editorial-intro h3,
.gi-food-description h2,
.gi-food-description h3 {
    color: #0B493E;
    letter-spacing: -.025em;
}

.gi-food-editorial-intro a,
.gi-food-description a {
    color: #0B493E;
    font-weight: 850;
    text-decoration: none;
    box-shadow: inset 0 -1px 0 rgba(185,151,91,.45);
}

.gi-food-editorial-intro a:hover,
.gi-food-description a:hover {
    color: #B9975B;
}

.gi-food-description .taxonomy-titre,
.gi-food-description .h2-taxonomy {
    margin-top: 0;
}

/* Responsive */

@media (max-width: 980px) {
    .gi-food-specialties__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gi-food-taxo-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .gi-food-taxo-container {
        width: min(100% - 32px, 1180px);
        padding-top: 24px;
    }

    .gi-food-taxo-intro,
    .gi-food-editorial-intro,
    .gi-food-description {
        padding: 24px;
        border-radius: 24px;
    }

    .gi-food-specialties__grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .gi-food-specialty-card__link {
        border-radius: 22px;
    }

    .gi-food-taxo-layout {
        gap: 24px;
        padding-bottom: 52px;
    }
}


.gi-taxo-news {
    margin: 52px 0;
    padding: 34px;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 30px;
    box-shadow: 0 22px 60px rgba(11,73,62,.08);
}

.gi-taxo-news__heading {
    margin-bottom: 26px;
}

.gi-taxo-news__heading span {
    display: inline-flex;
    margin-bottom: 10px;
    color: #B9975B;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-taxo-news__heading h2 {
    margin: 0;
    color: #0B493E;
    font-size: clamp(1.8rem, 3.5vw, 2.7rem);
    line-height: 1.06;
    letter-spacing: -.045em;
}

.gi-taxo-news__heading h2 em {
    color: #B9975B;
    font-style: normal;
}

.gi-taxo-news__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.gi-taxo-news-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 24px;
    box-shadow: 0 16px 42px rgba(11,73,62,.07);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.gi-taxo-news-card:hover {
    transform: translateY(-3px);
    border-color: rgba(185,151,91,.45);
    box-shadow: 0 22px 58px rgba(11,73,62,.12);
}

.gi-taxo-news-card__image {
    display: block;
    height: 190px;
    overflow: hidden;
    background: #f7faf8;
}

.gi-taxo-news-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.gi-taxo-news-card:hover .gi-taxo-news-card__image img {
    transform: scale(1.045);
}

.gi-taxo-news-card__image span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #0B493E;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gi-taxo-news-card__content {
    padding: 18px;
}

.gi-taxo-news-card__tax {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 11px;
}

.gi-taxo-news-card__tax a {
    display: inline-flex;
    padding: 5px 9px;
    color: #0B493E !important;
    font-size: .62rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none !important;
    background: #f1f7f4;
    border: 1px solid #dcebe4;
    border-radius: 999px;
}

.gi-taxo-news-card__tax a:hover {
    color: #fff !important;
    background: #B9975B;
    border-color: #B9975B;
}

.gi-taxo-news-card h3 {
    margin: 0;
    color: #0B493E;
    font-size: 1.08rem;
    line-height: 1.22;
    letter-spacing: -.02em;
}

.gi-taxo-news-card h3 a {
    color: inherit;
    text-decoration: none;
}

.gi-taxo-news-card h3 a:hover {
    color: #B9975B;
}

.gi-taxo-news-card time {
    display: block;
    margin-top: 10px;
    color: #7c8a84;
    font-size: .8rem;
    font-weight: 750;
}

@media (max-width: 900px) {
    .gi-taxo-news__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .gi-taxo-news {
        padding: 22px;
        border-radius: 24px;
    }

    .gi-taxo-news__grid {
        grid-template-columns: 1fr;
    }

    .gi-taxo-news-card {
        border-radius: 22px;
    }

    .gi-taxo-news-card__image {
        height: 220px;
    }
}



/* TAXONOMY CULTURE PREMIUM */

.gi-culture-taxo-page {
    width: 100%;
}

.gi-culture-taxo-container {
    width: min(100% - 44px, 1180px);
    margin: 0 auto;
    padding: 34px 0 0;
}

.gi-culture-taxo-breadcrumbs {
    margin-bottom: 22px;
    color: #65756f;
    font-size: .9rem;
}

.gi-culture-taxo-intro {
    margin: 26px 0 34px;
    padding: 34px;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.12), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f8fbf9 100%);
    border: 1px solid #e6ece8;
    border-radius: 30px;
    box-shadow: 0 22px 60px rgba(11,73,62,.08);
}

.gi-culture-taxo-intro__eyebrow {
    display: inline-flex;
    margin-bottom: 10px;
    color: #B9975B;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-culture-taxo-intro h2 {
    margin: 0;
    color: #0B493E;
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.06;
    letter-spacing: -.045em;
}

.gi-culture-taxo-intro h2 em {
    display: block;
    color: #B9975B;
    font-style: normal;
}

.gi-culture-taxo-intro p {
    max-width: 820px;
    margin: 16px 0 0;
    color: #65756f;
    font-size: 1.05rem;
    line-height: 1.75;
}

.gi-culture-topics {
    margin: 34px 0 48px;
}

.gi-culture-topics__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
}

.gi-culture-topic-card {
    min-width: 0;
}

.gi-culture-topic-card__link {
    display: block;
    height: 100%;
    overflow: hidden;
    color: inherit;
    text-align: center;
    text-decoration: none !important;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 24px;
    box-shadow: 0 18px 45px rgba(11,73,62,.08);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.gi-culture-topic-card__link:hover {
    transform: translateY(-4px);
    border-color: rgba(185,151,91,.45);
    box-shadow: 0 24px 60px rgba(11,73,62,.13);
}

.gi-culture-topic-card__image {
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.16), transparent 35%),
        linear-gradient(135deg, #f7faf8 0%, #ffffff 100%);
}

.gi-culture-topic-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.gi-culture-topic-card__link:hover img {
    transform: scale(1.045);
}

.gi-culture-topic-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #0B493E;
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gi-culture-topic-card__content {
    display: block;
    padding: 15px 12px 16px;
}

.gi-culture-topic-card__content strong {
    display: block;
    color: #0B493E;
    font-size: .95rem;
    font-weight: 950;
    line-height: 1.22;
    letter-spacing: -.015em;
}

.gi-culture-topic-card__content small {
    display: inline-flex;
    margin-top: 7px;
    color: #B9975B;
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gi-culture-taxo-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(270px, 320px);
    gap: 34px;
    align-items: start;
    padding-bottom: 70px;
}

.gi-culture-taxo-content,
.gi-culture-taxo-sidebar {
    min-width: 0;
}

.gi-culture-description {
    margin-bottom: 34px;
    padding: 34px;
    color: #263832;
    font-size: 1.03rem;
    line-height: 1.85;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 30px;
    box-shadow: 0 22px 60px rgba(11,73,62,.08);
}

.gi-culture-description h2,
.gi-culture-description h3 {
    color: #0B493E;
    letter-spacing: -.025em;
}

.gi-culture-description a {
    color: #0B493E;
    font-weight: 850;
    text-decoration: none;
    box-shadow: inset 0 -1px 0 rgba(185,151,91,.45);
}

.gi-culture-description a:hover {
    color: #B9975B;
}

@media (max-width: 1100px) {
    .gi-culture-topics__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .gi-culture-taxo-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .gi-culture-topics__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }
}

@media (max-width: 620px) {
    .gi-culture-taxo-container {
        width: min(100% - 32px, 1180px);
        padding-top: 24px;
    }

    .gi-culture-taxo-intro,
    .gi-culture-description {
        padding: 24px;
        border-radius: 24px;
    }

    .gi-culture-topic-card__link {
        border-radius: 20px;
    }

    .gi-culture-topic-card__content strong {
        font-size: .9rem;
    }

    .gi-culture-taxo-layout {
        gap: 24px;
        padding-bottom: 52px;
    }
}


/* TAXONOMY PRATIQUE PREMIUM */

.gi-practical-taxo-page {
    width: 100%;
}

.gi-practical-taxo-container {
    width: min(100% - 44px, 1180px);
    margin: 0 auto;
    padding: 34px 0 0;
}

.gi-practical-taxo-breadcrumbs {
    margin-bottom: 22px;
    color: #65756f;
    font-size: .9rem;
}

.gi-practical-taxo-intro {
    margin: 26px 0 34px;
    padding: 34px;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.12), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f8fbf9 100%);
    border: 1px solid #e6ece8;
    border-radius: 30px;
    box-shadow: 0 22px 60px rgba(11,73,62,.08);
}

.gi-practical-taxo-intro__eyebrow {
    display: inline-flex;
    margin-bottom: 10px;
    color: #B9975B;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.gi-practical-taxo-intro h2 {
    margin: 0;
    color: #0B493E;
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.06;
    letter-spacing: -.045em;
}

.gi-practical-taxo-intro h2 em {
    display: block;
    color: #B9975B;
    font-style: normal;
}

.gi-practical-taxo-intro p {
    max-width: 820px;
    margin: 16px 0 0;
    color: #65756f;
    font-size: 1.05rem;
    line-height: 1.75;
}

.gi-practical-taxo-buttons {
    margin: 30px 0;
}

.gi-practical-topics {
    margin: 34px 0 48px;
}

.gi-practical-topics__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
}

.gi-practical-topic-card {
    min-width: 0;
}

.gi-practical-topic-card__link {
    display: block;
    height: 100%;
    overflow: hidden;
    color: inherit;
    text-align: center;
    text-decoration: none !important;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 24px;
    box-shadow: 0 18px 45px rgba(11,73,62,.08);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.gi-practical-topic-card__link:hover {
    transform: translateY(-4px);
    border-color: rgba(185,151,91,.45);
    box-shadow: 0 24px 60px rgba(11,73,62,.13);
}

.gi-practical-topic-card__image {
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(185,151,91,.16), transparent 35%),
        linear-gradient(135deg, #f7faf8 0%, #ffffff 100%);
}

.gi-practical-topic-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.gi-practical-topic-card__link:hover img {
    transform: scale(1.045);
}

.gi-practical-topic-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #0B493E;
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gi-practical-topic-card__content {
    display: block;
    padding: 15px 12px 16px;
}

.gi-practical-topic-card__content strong {
    display: block;
    color: #0B493E;
    font-size: .95rem;
    font-weight: 950;
    line-height: 1.22;
    letter-spacing: -.015em;
}

.gi-practical-topic-card__content small {
    display: inline-flex;
    margin-top: 7px;
    color: #B9975B;
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gi-practical-news-block {
    margin: 48px 0;
}

.gi-practical-taxo-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(270px, 320px);
    gap: 34px;
    align-items: start;
    padding-bottom: 70px;
}

.gi-practical-taxo-content,
.gi-practical-taxo-sidebar {
    min-width: 0;
}

.gi-practical-description {
    margin-bottom: 34px;
    padding: 34px;
    color: #263832;
    font-size: 1.03rem;
    line-height: 1.85;
    background: #fff;
    border: 1px solid #e6ece8;
    border-radius: 30px;
    box-shadow: 0 22px 60px rgba(11,73,62,.08);
}

.gi-practical-description h2,
.gi-practical-description h3 {
    color: #0B493E;
    letter-spacing: -.025em;
}

.gi-practical-description a {
    color: #0B493E;
    font-weight: 850;
    text-decoration: none;
    box-shadow: inset 0 -1px 0 rgba(185,151,91,.45);
}

.gi-practical-description a:hover {
    color: #B9975B;
}

@media (max-width: 1100px) {
    .gi-practical-topics__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .gi-practical-taxo-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .gi-practical-topics__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }
}

@media (max-width: 620px) {
    .gi-practical-taxo-container {
        width: min(100% - 32px, 1180px);
        padding-top: 24px;
    }

    .gi-practical-taxo-intro,
    .gi-practical-description {
        padding: 24px;
        border-radius: 24px;
    }

    .gi-practical-topic-card__link {
        border-radius: 20px;
    }

    .gi-practical-topic-card__content strong {
        font-size: .9rem;
    }

    .gi-practical-taxo-layout {
        gap: 24px;
        padding-bottom: 52px;
    }
}


.gi-hebergement-taxo {
    padding: 42px 0 70px;
}

.gi-hebergement-taxo__inner {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.gi-hebergement-taxo__breadcrumbs {
    margin: 0 0 22px;
    font-size: 0.9rem;
}

.gi-hebergement-intro,
.gi-hebergement-shortcuts,
.gi-hebergement-map,
.gi-hebergement-results,
.gi-hebergement-content-main {
    background: #fff;
    border-radius: 28px;
    padding: clamp(24px, 4vw, 46px);
    margin: 0 0 28px;
    box-shadow: 0 18px 45px rgba(11, 73, 62, 0.08);
}

.gi-section-kicker {
    display: inline-block;
    margin-bottom: 10px;
    color: #b9975b;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.gi-hebergement-intro h2,
.gi-section-heading h2 {
    margin: 0 0 14px;
    color: #0b493e;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    line-height: 1.08;
}

.gi-hebergement-intro p,
.gi-section-heading p {
    max-width: 760px;
    margin: 0;
    color: #4c5b55;
    font-size: 1.05rem;
    line-height: 1.75;
}

.gi-section-heading {
    margin-bottom: 26px;
}

.gi-shortcut-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
}

.gi-shortcut-card {
    margin: 0;
}

.gi-shortcut-card a {
    display: flex;
    min-height: 158px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 18px 12px;
    text-align: center;
    text-decoration: none;
    background: #f8f4ed;
    border: 1px solid rgba(11, 73, 62, 0.08);
    border-radius: 22px;
    color: #0b493e;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.gi-shortcut-card a:hover {
    transform: translateY(-4px);
    background: #fff;
    box-shadow: 0 14px 32px rgba(11, 73, 62, 0.12);
}

.gi-shortcut-card img {
    width: 82px;
    height: 82px;
    object-fit: cover;
    border-radius: 999px;
    display: block;
}

.gi-shortcut-card span {
    font-weight: 800;
    font-size: 0.95rem;
    line-height: 1.25;
}

.gi-hebergement-content-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 30px;
    align-items: start;
}

.gi-hebergement-content-sidebar {
    min-width: 0;
}

.gi-taxo-premium-hero__content p {
    max-width: 760px;
    margin: 16px auto 0;
    color: rgba(255,255,255,0.92);
    font-size: clamp(1rem, 1.6vw, 1.8rem);
    line-height: 1;
}

@media (max-width: 980px) {
    .gi-shortcut-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .gi-hebergement-content-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .gi-hebergement-taxo {
        padding-top: 26px;
    }

    .gi-hebergement-taxo__inner {
        width: min(100% - 22px, 1180px);
    }

    .gi-hebergement-intro,
    .gi-hebergement-shortcuts,
    .gi-hebergement-map,
    .gi-hebergement-results,
    .gi-hebergement-content-main {
        border-radius: 22px;
        padding: 24px 18px;
    }

    .gi-shortcut-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .gi-shortcut-card a {
        min-height: 138px;
        border-radius: 18px;
    }

    .gi-shortcut-card img {
        width: 68px;
        height: 68px;
    }
}




.gi-related-culture {
    margin: 42px 0;
    padding: clamp(26px, 4vw, 46px);
    background: #fff;
    border-radius: 28px;
    box-shadow: 0 18px 45px rgba(11, 73, 62, 0.08);
}

.gi-related-culture__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

.gi-related-culture__card {
    overflow: hidden;
    background: #f8f4ed;
    border-radius: 22px;
    border: 1px solid rgba(11, 73, 62, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.gi-related-culture__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 32px rgba(11, 73, 62, 0.12);
}

.gi-related-culture__image {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #0b493e;
}

.gi-related-culture__image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.25s ease;
}

.gi-related-culture__card:hover .gi-related-culture__image img {
    transform: scale(1.04);
}

.gi-related-culture__content {
    padding: 18px;
}

.gi-related-culture__meta,
.gi-related-culture__location {
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.4;
}

.gi-related-culture__meta a,
.gi-related-culture__location a {
    color: #b9975b;
    text-decoration: none;
}

.gi-related-culture__content h3 {
    margin: 10px 0 12px;
    font-size: 1.05rem;
    line-height: 1.25;
}

.gi-related-culture__content h3 a {
    color: #0b493e;
    text-decoration: none;
}

.gi-related-culture__more {
    display: inline-flex;
    margin-top: 14px;
    padding: 9px 14px;
    border-radius: 999px;
    background: #0b493e;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 800;
    text-decoration: none;
}
.gi-related-culture__card .gi-related-culture__more,
.gi-related-culture__card .gi-related-culture__more:visited,
.gi-related-culture__card .gi-related-culture__more:hover {
    color: #fff !important;
}

@media (max-width: 980px) {
    .gi-related-culture__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .gi-related-culture {
        margin: 28px 0;
        padding: 22px 16px;
        border-radius: 22px;
    }

    .gi-related-culture__grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .gi-related-culture__card {
        display: grid;
        grid-template-columns: 112px 1fr;
        border-radius: 18px;
    }

    .gi-related-culture__image {
        aspect-ratio: auto;
        height: 100%;
    }

    .gi-related-culture__content {
        padding: 14px;
    }

    .gi-related-culture__content h3 {
        font-size: 1rem;
    }

    .gi-related-culture__more {
        margin-top: 10px;
    }
}



/* ==========================================
   GUIDE IRLANDE
   INFOS PRATIQUES PREMIUM
========================================== */

.gi-taxo-premium-info {
    margin: 45px 0;
}

.gi-taxo-premium-heading {
    margin-bottom: 25px;
}

.gi-taxo-premium-heading span {
    display: none;
}

.gi-taxo-premium-heading h2 {
    margin: 0;
    font-size: clamp(1.6rem, 2vw, 2.2rem);
    line-height: 1.15;
    color: #0B493E;
}

.gi-taxo-premium-info__grid {
    display: grid;
    gap: 16px;
}

.gi-taxo-premium-info__card {
    background: #fff;
    border: 1px solid rgba(11,73,62,.08);
    border-left: 5px solid #0B493E;
    border-radius: 16px;
    padding: 22px 24px;
}

.gi-taxo-premium-info__card--main {
    border-left-color: #0B493E;
}

.gi-taxo-premium-info__card--gold {
    border-left-color: #B9975B;
    background: #fffaf2;
}

.gi-taxo-premium-info__card h3 {
    margin: 0 0 12px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.25;
    color: #0B493E;
}

.gi-taxo-premium-info__card div,
.gi-taxo-premium-info__card p {
    font-size: .96rem;
    line-height: 1.7;
    color: #2f3f3b;
}

.gi-taxo-premium-info__card p:last-child {
    margin-bottom: 0;
}

/* ==========================================
   MAGAZINE PREMIUM
========================================== */

.gi-taxo-magazine {
    margin: 50px 0;
}

.gi-taxo-magazine__grid {
    display: grid;
    grid-template-columns: 1.6fr .9fr;
    gap: 28px;
}

.gi-taxo-magazine__main,
.gi-taxo-magazine__side {
    background: #fff;
    border: 1px solid rgba(11,73,62,.08);
    border-radius: 20px;
    padding: 24px;
}

.gi-taxo-magazine__main h3,
.gi-taxo-magazine__side h3 {
    margin: 0 0 18px;
    color: #0B493E;
    font-size: 1.3rem;
}

.gi-taxo-magazine__main h3 span {
    color: #B9975B;
}

/* Article principal */

.gi-taxo-featured {
    overflow: hidden;
    border-radius: 18px;
    background: #fff;
    margin-bottom: 20px;
}

.gi-taxo-featured__image {
    display: block;
    aspect-ratio: 16/9;
    overflow: hidden;
}

.gi-taxo-featured__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gi-taxo-featured__content {
    padding: 16px 0 0;
}

.gi-taxo-featured__content span {
    display: block;
    margin-bottom: 8px;
    font-size: .78rem;
    color: #888;
}

.gi-taxo-featured__content h4 {
    margin: 0;
    font-size: 1.4rem;
    line-height: 1.25;
}

.gi-taxo-featured__content a {
    color: #123c35;
    text-decoration: none;
}

/* Actualités secondaires */

.gi-taxo-line {
    padding: 14px 0;
    border-top: 1px solid rgba(11,73,62,.08);
}

.gi-taxo-line a {
    display: block;
    color: #123c35;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
}

.gi-taxo-line span {
    display: block;
    margin-top: 5px;
    font-size: .75rem;
    color: #888;
}

/* Colonne droite */

.gi-taxo-side-card {
    display: grid;
    grid-template-columns: 82px 1fr;
    gap: 14px;
    align-items: center;
    padding: 12px 0;
}

.gi-taxo-side-card + .gi-taxo-side-card {
    border-top: 1px solid rgba(11,73,62,.08);
}

.gi-taxo-side-card__image {
    display: block;
    overflow: hidden;
    border-radius: 12px;
    aspect-ratio: 1/1;
}

.gi-taxo-side-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gi-taxo-side-card h4 {
    margin: 0;
    font-size: .95rem;
    line-height: 1.35;
}

.gi-taxo-side-card h4 a {
    color: #123c35;
    text-decoration: none;
}

/* Responsive */

@media (max-width: 980px) {

    .gi-taxo-magazine__grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 768px) {

    .gi-taxo-premium-info__card,
    .gi-taxo-magazine__main,
    .gi-taxo-magazine__side {
        padding: 18px;
    }

    .gi-taxo-side-card {
        grid-template-columns: 70px 1fr;
    }

    .gi-taxo-featured__content h4 {
        font-size: 1.2rem;
    }

}



/* ==========================================
   GUIDE IRLANDE — CONTACT PREMIUM
========================================== */

.gi-contact-page {
    background: #f8f6ef;
}

.gi-contact-hero {
    position: relative;
    padding: clamp(42px, 6vw, 76px) 20px;
    background:
        radial-gradient(circle at 82% 18%, rgba(185,151,91,.18), transparent 28%),
        linear-gradient(135deg, #0B493E 0%, #123f37 100%);
    color: #fff;
    overflow: hidden;
}

.gi-contact-hero__inner,
.gi-contact-section {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.gi-contact-breadcrumb {
    margin-bottom: 26px;
    font-size: .85rem;
    color: rgba(255,255,255,.78);
}

.gi-contact-breadcrumb a {
    color: #fff;
}

.gi-contact-kicker {
    margin: 0 0 10px;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #D9BE7F;
}

.gi-contact-hero h1 {
    max-width: 820px;
    margin: 0;
    font-size: clamp(2.1rem, 5vw, 4.2rem);
    line-height: 1.02;
    color: #fff;
}

.gi-contact-subtitle {
    max-width: 760px;
    margin-top: 18px;
    font-size: clamp(1.05rem, 1.6vw, 1.25rem);
    line-height: 1.65;
    color: rgba(255,255,255,.88);
}

.gi-contact-section {
    padding: clamp(34px, 5vw, 64px) 0;
}

.gi-contact-grid {
    display: grid;
    grid-template-columns: minmax(280px, .85fr) minmax(0, 1.35fr);
    gap: 28px;
    align-items: start;
}

.gi-contact-panel,
.gi-contact-form-card {
    background: #fff;
    border: 1px solid rgba(11,73,62,.10);
    border-radius: 28px;
    box-shadow: 0 18px 45px rgba(11,73,62,.08);
}

.gi-contact-panel {
    padding: 30px;
}

.gi-contact-panel__label {
    display: inline-block;
    margin-bottom: 14px;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: #B9975B;
}

.gi-contact-panel h2 {
    margin: 0 0 14px;
    font-size: clamp(1.55rem, 2.4vw, 2.2rem);
    line-height: 1.12;
    color: #0B493E;
}

.gi-contact-panel p {
    margin: 0 0 24px;
    font-size: .98rem;
    line-height: 1.7;
    color: #43524f;
}

.gi-contact-reassurance {
    display: grid;
    gap: 14px;
}

.gi-contact-reassurance div {
    padding-top: 14px;
    border-top: 1px solid rgba(11,73,62,.10);
}

.gi-contact-reassurance strong {
    display: block;
    margin-bottom: 4px;
    color: #0B493E;
    font-size: .96rem;
}

.gi-contact-reassurance span {
    display: block;
    color: #65726f;
    font-size: .9rem;
    line-height: 1.45;
}

.gi-contact-form-card {
    padding: clamp(22px, 3vw, 34px);
}

/* WPForms */

.gi-contact-form-card .wpforms-container {
    margin: 0;
}

.gi-contact-form-card .wpforms-field {
    padding: 0 0 18px;
}

.gi-contact-form-card .wpforms-field-label {
    margin-bottom: 8px;
    font-size: .92rem;
    font-weight: 700;
    color: #0B493E;
}

.gi-contact-form-card .wpforms-required-label {
    color: #B9975B;
}

.gi-contact-form-card input[type="text"],
.gi-contact-form-card input[type="email"],
.gi-contact-form-card input[type="tel"],
.gi-contact-form-card input[type="url"],
.gi-contact-form-card select,
.gi-contact-form-card textarea {
    width: 100%;
    min-height: 50px;
    border: 1px solid rgba(11,73,62,.16);
    border-radius: 14px;
    background: #fbfaf6;
    color: #123c35;
    font-size: .98rem;
    box-shadow: none;
}

.gi-contact-form-card textarea {
    min-height: 160px;
    resize: vertical;
}

.gi-contact-form-card input:focus,
.gi-contact-form-card select:focus,
.gi-contact-form-card textarea:focus {
    border-color: #B9975B;
    background: #fff;
    outline: none;
    box-shadow: 0 0 0 3px rgba(185,151,91,.16);
}

.gi-contact-form-card .wpforms-submit-container {
    padding-top: 6px;
}

.gi-contact-form-card button[type="submit"],
.gi-contact-form-card .wpforms-submit {
    min-height: 52px;
    padding: 0 28px;
    border: 0;
    border-radius: 999px;
    background: #0B493E;
    color: #fff;
    font-weight: 800;
    letter-spacing: .02em;
    cursor: pointer;
    transition: transform .2s ease, background .2s ease;
}

.gi-contact-form-card button[type="submit"]:hover,
.gi-contact-form-card .wpforms-submit:hover {
    background: #123f37;
    transform: translateY(-1px);
}

/* Responsive */

@media (max-width: 900px) {
    .gi-contact-grid {
        grid-template-columns: 1fr;
    }

    .gi-contact-panel,
    .gi-contact-form-card {
        border-radius: 22px;
    }
}

@media (max-width: 600px) {
    .gi-contact-hero__inner,
    .gi-contact-section {
        width: min(100% - 28px, 1180px);
    }

    .gi-contact-panel,
    .gi-contact-form-card {
        padding: 20px;
    }
}


#widget-fond-vert {
     padding: 10px;
     background-color: #8daf3b;
     position: relative;
     height: 340px;
     border-radius: 5px;

}

#widget-fond-vert h3.widget-title {
     color: #ffffff;
     font-size: 22px;
     padding-top: 10px;
     padding-left: 10px;
     padding-right: 10px;
     margin-bottom: -20px;

}

#widget-fond-vert small {
     color: #fff;
     position: absolute;
     bottom: 14px;
     right: 140px;

}

#widget-fond-vert img {
     position: absolute;
     bottom: 10px;
     right: 10px;
     width: 120px;
     height: auto;

}

#bandeau {
     width: 100%;
     clear: both;
	margin-bottom : -64px;

}

.lightgrey {
     background-color: #f7f7f7;

}

.grey {
     background-color: #E6E6E6;

}

.darkgreen {
     background-color: #0B493E;

}

.darkgreen h2.taxonomy-titre, .darkgreen .home-section-sous-titre {
     color: #fff !important;

}

.darkgreen h3 {
     color: #fff !important;

}

.darkgreen small, .darkgreen ul li, .darkgreen p {
     color: #fff !important;
     font-size: 18px !important;

}



/* =Media Query
-------------------------------------------------------------- */
/* Smartphones (portrait and landscape) ----------- */
@media only screen and (min-device-width : 280px) and (max-device-width : 700px) {
    

.localisation-slider-type a {
         font-size: 12px;

    }

#top-search img {
         float: right;
         margin-top: 52px;
         width: 14px;
         display: block;

    }

.bottom-left {
         position: absolute;
         top: 55%;
         left: 30px;
         color: #ffffff;
         text-transform: uppercase;
         text-shadow: 2px 2px 4px #000000
    }

.bottom-left-notation {
         position: absolute;
         top: 75%;
         color: #ffffff;
         text-transform: uppercase;
         text-shadow: 2px 2px 4px #000000
    }

.bottom-left-notation img {
         width: 12px !important;
         height: 12px !important;

    }

.bottom-left-notation small {
         font-size: 10px;

    }

.bottom-left-localisation {
         position: absolute;
         top: 82%;
         color: #ffffff;
         text-transform: uppercase;
         text-shadow: 2px 2px 4px #000000;
     text-align: left;

    }

.bottom-left-localisation img {
         width: 14px !important;
         height: 14px !important;

    }

.bottom-left-medium h3 a {
         font-size: 16px !important;

    }

.bottom-left-localisation a {
         font-size: 14px;

    }

.bottom-left h3 a {
         color: #ffffff !important;
         font-size: 26px !important;

    }

#bouton-more-taxo-booking {
         width: 90%;

    }

h1 {
         font-size: 36px;
         line-height: 30px;

    }

#infos-pratiques-widget h3 {
         font-size: 30px;
         line-height: 32px;

    }

.infos-little {
         font-size: 28px;

    }

.product-image img {
         width: 100px;
         height: auto;
         float: left;
         margin-right: 40px;

    }

#format-230 {
         height: auto;

    }

#format-280 {
         height: 340px;

    }

.imghome1 img {
         margin-top: -40px;

    }

.imghome img {
         margin-top: -35px;

    }

#format-260 {
         height: 220px;

    }

.imghome1 img {
         margin-top: -40px;

    }

h1.title-single {
         font-size: 30px;
         line-height: 34px;
         font-weight: 700;

    }

h2.entry-title-single {
         font-size: 22px;
         line-height: 24px;
         margin-top: 2px;

    }

.indications-une a:active, .indications-une a:link, .indications-une a:visited {
         font-size: 12px;

    }

#infos-header span, #infos-header a, #infos-pratiques-widget a, #infos-pratiques-widget span {
         font-size: 16px;

    }

#pictoheader {
         margin-top: 5px;

    }

.bouton-taxo-vert, a.bouton-taxo-vert, .bouton-taxo-vert a {
         font-size: 12px !important;

    }

#infos-header .column-wrap .one-third.hauteur-mobile, #infos-header .column-wrap .one-fourth.hauteur-mobile {
         margin-top: -10px;

    }

.rank-math-breadcrumb {
         margin-top: -30px;

    }

.rank-math-breadcrumb p {
         line-height: 20px !important;

    }

.rank-math-breadcrumb span.last, .rank-math-breadcrumb span.separator {
         font-size: 15px;
         font-weight: 700;

    }

.rank-math-breadcrumb p a {
         font-size: 15px;
         font-weight: 400;

    }

#encart-reserver-attraction-infos-pratiques {
         width: 95%;
         margin-bottom: 20px;

    }

#encart-reserver-attraction {
         margin-left: 8%;
         margin-bottom: 5%;
         width: 105%;

    }

.zero {
         margin-top: -52px;

    }

.column img.thumbnail, .thumbnail-home img {
         width: 100%;
         height: auto;

    }

#recherche-taxonomy-accueil {
         height: 430px;
         margin-top: 20px;

    }

#recherche-taxonomy-affiliation, #recherche-taxonomy-affiliation-2 {
         height: 480px;

    }

#recherche-taxonomy-affiliation input[type=submit] {
         width: 100%;

    }

#recherche-taxonomy-campings {
         height: 310px;

    }

.comment-body p {
         font-size: 15px !important;

    }

#bons-plans {
         width: 90%;

    }

.h2-entry-title-single {
         font-size: 28px;
         line-height: 30px;

    }

.illustration-circuit img {
         width: 125%;
         height: auto;

    }

.taxo-description-courte-2 {
         font-size: 3vh;
         line-height: 26px;
         width: 90%;
         top: 75%;

    }

.taxo-description-courte {
         font-size: 3vh;
         line-height: 26px;
         top: 90%;
         width: 90%;

    }

#circuit-jour-par-jour {
         background-color: #ffffff;
         padding: 0 !important;

    }

#circuit-jour-par-jour img {
         margin-left: 0%;

    }

.taxo-post-relative-localisation.home {
         font-size: 18px;

    }

#header-large, #header {
         height: 110px;
         margin-bottom: 20px;

    }

#search-input {
         width: 85%;

    }

#searchform {
         width: 100%;

    }

.wp-caption p.wp-caption-text {

    }

.searchfield {
         margin-left: 10px;

    }

.search-language {
         float: right;
         position: absolute;
         right: 15px;
         top: 15px;

    }

#logo img {
         width: 140px;
         height: auto;
         padding-top: 40px;

    }

.wpml-ls-legacy-list-horizontal.wpml-ls-statics-footer {

        /* width : 18px;
		 height: auto;
		 margin-top: 20px !important;
		background-color: transparent;
		border: none;*/
display :none;

    }

#logo-mobile img {
         margin-top: 5px;
         margin-bottom: -15px;
         margin-left: 50%;
         transform: translate(-50%,0);
         z-index: 9999999;
         position: relative;

    }

#footer-black {
         padding: 20px;

    }

#wrapper, #bandeau-vert, #footer {
         padding: 2em;

    }

#instagram {
         width: 92%;
         height: auto;
         margin-left: -5px;

    }

.colonne-2-post {
         height: 380px;

    }

h3.title-bas-gauche {
         font-size: 20px;

    }

.taxo-post-relative-title.medium h1, .taxo-post-relative-title.medium h1 a {
         font-size: 40px;
         line-height: 42px;
         color: #ffffff;
         text-align: left;
         padding-bottom: 20px;

    }

.taxo-post-relative-title.big h3 a {
         font-size: 40px;
         line-height: 42px;
         color: #ffffff;
         text-align: left;
         padding-bottom: 20px;

    }

.taxo-post-relative-title.big h1 {
         font-size: 36px;
         line-height: 38px;
         color: #ffffff;
         text-align: left;

    }

.taxo-post-relative-title.medium h1 {
         width: 95%;
         margin-left: 15px;

    }

.post-image-line, .post-image-grid, .post-image-article-relatif {
         width: 100%;
         height: auto;

    }

.post-image {
         width: 100%;

        /*margin-left : -10%;*/
    }

.vignette-col img {
         width: 100%;
         height: auto;

    }

.gallery-caption-description h3 {
         position: absolute;
         bottom: 12%;
         left: 16px;
         color: #ffffff;

    }

.taxo-post-relative-title.medium h3 a {
         font-size: 22px;
         line-height: 24px;

    }

.header-cpt {
         position: relative;
         text-align: right;
         height: auto;
         background: transparent;

    }

.header-cpt img, .header-bonnes-adresses img {

        /*object-fit: cover;*/
max-width: 100%;
         height: auto ;

    }

.centered-header-cpt h1.entry-title {
         top: 40%;
         font-size: 6vh;
         line-height: 40px;

    }

.centered-header-cpt h1.entry-title-slide {
         top: 45%;
         font-size: 8vh;

    }

.centered-header-bonnes-adresses h1.entry-title, .centered-header-cpt h1.entry-title {
         text-align: left;
         width: 90%;
         font-size: 6vh;

    }

.centered-header-cpt h1.entry-title-taxo {
         text-align: left;
         font-size: 7vh;
         width: 90%;
         top: 60%;

    }

.taxo-post-title h3 a {
         color: #ffffff;
         font-size: 36px;

    }

.no-mobile, #no-mobile {
         display: none;

    }

#bouton-taxonomy-entrees-half, #bouton-taxonomy {
         width: 97%;
         margin-bottom: 10px;

    }

h2.taxonomy-titre {
         font-size: 40px;
         line-height: 42px;

    }

.taxo-informations img {
         width: 100%;
         height: auto;

    }

.colonne-3-footer {
         width: 90%;
         padding-left: 10px;
         padding-right: 10px;

    }

#recherche-taxonomy {

        /*margin-bottom: 40px;*/
background-color : #8DAF3B;
         min-height: 430px;

    }

.actu-image img {
         width: 100%;
         height: auto;
        ;
         clear: both;

    }

#full-width-green {
         margin-top: 10px;

    }

#categories {
         margin-top: 20px;

    }

.bas-gauche h1 a, .bas-gauche h2 a {
         position: absolute;
         top: 56%;
         left: 1%;

        /*transform: translate(-50%, -50%);*/
color : #ffffff;
         padding: 10px;

        /*background-clip: content-box;*/
font-size : 30px;
         line-height: 32px;
         text-transform: uppercase;
         text-shadow: 2px 2px 4px #000000;
         text-align: left;
         background-image: url(https://www.guide-irlande.com/wp-content/uploads/2016/05/fond-noir-25.png);
         text-decoration: none;

    }

h1.h2-taxonomy, h2.h2-taxonomy, h2.h2-taxonomy-visiter {
         font-size: 32px;
         line-height: 34px;

    }

h1.h2-taxonomy span, h2.h2-taxonomy span, h2.h2-taxonomy-visiter span {
         font-size: 32px;
         line-height: 34px;

    }

.centered-adresses h3 a {
         font-size: 24px;
         line-height: 24px;

    }

.centered-actu h3 a {
         font-size: 16px;
         line-height: 18px;

    }

.centered-actu span {
         font-size: 14px;
         line-height: 16px;

    }

.centered-actu small {
         font-size: 11px;
         line-height: 13px;

    }

.column-wrap .one-half-post, .column-wrap .one-half, .column-wrap .one-third, .column-wrap .two-thirds {
         width: 100%;
         height: auto;

    }

.column-wrap .one-fourth {
         width: 100%;
         height: auto;

    }

.column-wrap .one-fifth, .column-wrap .one-sixth, .column-wrap .one-eight {
         width: 50%;
         height: auto;

    }

.column-wrap .one-nine {
         width: 33%;
         height: auto;

    }

.centered-actu h4 a {
         position: absolute;
         top: 45%;
         left: 2%;
         color: #ffffff;
         padding: 5px;
         font-size: 40px;
         line-height: 42px;
         font-weight: 400;
         text-shadow: 2px 2px 4px #000000;
         text-align: left;
         background-image: url(https://www.guide-irlande.com/wp-content/uploads/2016/05/fond-noir-25.png);

    }

#infos-circuits {
         width: 94.6%;
         height: auto;
         clear: both;
         margin-top: -20px;
         margin-bottom: 40px;

    }

.resultats-recherche-image img, .image404 img {
         width: 100%;
         height: auto;

    }

.taxo-informations {
         margin-left: 0;
         margin-right: 0;
         margin-bottom: 20px;

    }


.centered-header-cpt span.entry-title-slide {
         position: absolute;
         top: 35%;
         left: 50%;
         transform: translate(-50%, -50%);
         color: #ffffff;
         padding: 30px;
         font-size: 40px;
         line-height: 124px;
         text-transform: uppercase;
         font-weight: 700;

    }

#avis {
         width: 65%;
         float: right;

    }

#avis p {
         font-size: 12px;

    }

#notre-note {
         float: left;
         margin-bottom: 20px;

    }

.slide-accroche {
         position: absolute;
         width: 100%;
         font-size: 2.7vh;
         text-align: center;
         top: 85%;
         transform: translateY(-85%);
         color: #ffffff;
         text-shadow: 2px 2px 4px #000000;

    }

.header-taxo-ville img, .header-taxo-relatif img {
         width: 100%;
         height: auto;

    }

.colonne-vert {
         width: 95%;
         margin-top: -20px;
         margin-left: 4px;

    }

h1.entry-title {
         font-size: 28px;

    }

h2 {
         font-size: 26px;
         line-height: 26px;

    }

h3 {
         font-size: 22px;

    }

.alignleft, img.alignleft, img.alignnone, img.alignleft, .alignright, img.alignright, .alignright, .alignnone, .wp-caption , img .size-largeur-intermediaire {
         clear: both;
         float: none;
         margin: 0 auto;
         max-width: 100%;
         height: auto;

    }

img.aligncenter, .aligncenter, .size-largeur-intermediaire img, .size-largeur-intermediaire, img.size-largeur-intermediaire, img .alignright, .alignright img {
         width: 100%;
         height: auto;

    }

	

#image-une-full h1.entry-title {
         font-size: 24px;
         line-height: 26px;
         padding: 0;
         top: 12%;

        /* poussé de la moitié de hauteur du référent */
transform: translateY(-10%);

        /* tiré de la moitié de sa propre hauteur */
    }

#breadcrumbs, #actualite-accueil, .comment-body {
         width: 93% ;

    }

.comment-form-author, .comment-form-email, .comment-form-url {
         width: 100%;
         clear: both;

    }

#encart-vert-message {
         width: 100%;

    }


#index-actu .titre-meta img {
         width: 24px;
         height: 24px;

    }

.gallery .gallery-item {
         float: left;
         width: 120px;
         height: 150px;
         overflow: hidden;

    }

.widget-title {
         width: 100%;
         text-align: left;
         margin-bottom: 15px;
         font-size: 24px;
         color: #333333;
         line-height: normal;
         font-weight: 400;

    }



#circuits-home, #custom_html-18, #custom_html-28, #indication-commentaires, #image-une-full .indications-une, .smo, #booking-widget {
         display: none;

    }



#site-title, #site-description, #site-generator {
         width: 100%;
         clear: left;
         float: left;
         margin-top: 0;
         padding-top: 0;
         margin-bottom: 0;
         padding-bottom: 0;

    }

#date {
         display: none;

    }

#custom_html-12 img {
         width: 100%;
         height: auto;

    }

#text-116 {
         display : none
    }

#colonne-une {
         width: 100%;

    }

}

/* IPAD */
@media only screen and (min-width: 701px) and (max-width: 1180px) {
     img.thumbnail-left {
         width: 120px;
         height: 70px;

    }


#wrapper {
         padding-left: 7%;
         padding-right: 7%;

    }

.span_8_of_8, .span_6_of_8, p, ul, ol, dd, pre, hr {
         font-size: 22px;

    }

#format-article-short-2 {
         height: auto !important;

    }

.bouton-taxo-vert a {
         font-size: 11px;

    }

.column-wrap .one-third, .column-wrap .two-thirds {

        /*width : 100%;
		 height: auto;*/
    }

#header-large, #header {
         height: 95px;

    }

.wp-caption {
         max-width: 100% !important;
         height: auto;
         overflow: hidden;

    }

#logo img {
         width: 150px !important;
         height: auto;
         float: none !important;
         margin-left: 38%;
         margin-top: 5px;

    }


#access {
         float: left !important;
         margin-top: -5px;

    }

.header-cpt {
         margin-top: 10px;

    }

.centered-header-cpt h1.entry-title {
         top: 40%;

    }

.indications-une-lieu {
         top: 70%;

    }

.column-wrap .one-fourth,.column-wrap .one-sixth {
         width: 33%;
         height: auto;

    }

.column-wrap .one-fifth {
         width: 25%;
         height: auto;

    }

.span_6_of_8 {
         width: 100% !important;

    }

.span_2_of_8 {

        /*display : none !important;*/
width : 100% !important;
         margin: 0 !important;

    }

.column-wrap .one-third, .column-wrap .two-thirds {
         89width: 100% !important;
        */
margin: 0 !important;

    }



.centered-header-cpt h1.entry-title-slide {
         top: 38%;
         font-size: 10vh;

    }


.slide-accroche {
         top: 62%;
         font-size: 3.3vh;

    }

.centered-header-cpt h1.entry-title {
         top: 50%;
         font-size: 6vh;

    }

.centered-header-cpt h1.entry-title-taxo {
         top: 70%;
         font-size: 6vh;

    }

.taxo-description-courte-2,.taxo-description-courte {
         font-size: 2.4vh;

    }

#top-search img {

        /*margin-top :20px !important;
float: right;*/
display : none;

    }

.no-tab, .smo {
         display: none;

    }

.post-image {
         width: 100%;
         height: auto;

    }

h1, h1.h2-taxonomy {
         font-size: 40px;
         font-weight: 700;
         text-align: left;
         border-left: 0;

    }

h2.h2-taxonomy-visiter {
         font-size: 42px;
         line-height: 46px;
         font-weight: 700;
         text-align: left;
         border-left: 0;
         margin-bottom: 40px;

    }

h2.h2-taxonomy {
         font-size: 42px;
         line-height: 46px;
         font-weight: 700;
         text-align: center;
         border-left: 0;
         margin-bottom: 40px;

    }

h1.h2-taxonomy span, h2.h2-taxonomy span, h2.h2-taxonomy-visiter span {
         color: #8daf3b;
         font-size: 40px;
         font-weight: 700;

    }

#pictoheader {
         margin-top: -5px;

    }

h2.entry-title-single {
         font-size: 24px;
         line-height: 28px;
         font-weight: 100;
         margin-top: 16px;

    }


.rank-math-breadcrumb p a, .rank-math-breadcrumb span.last {
         font-size: 14px;

    }

.imghome img {
         margin-top: -20px;

    }

.no-mobile, #no-mobile {
         display: none;

    }




}