/* =========================================================
   KIP LOISIRS — MAIN CSS
   Hero reconstruit sur les proportions de la maquette
   ========================================================= */

* , *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    background: #0D0E13;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }

.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > * { margin-block-start: 0 !important; }
body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: none; }

/* =========================================================
   HEADER
   ========================================================= */
.kip-header {
    position: relative;
    z-index: 1000;
    width: 100%;
    min-height: 70px;
    margin: 0 !important;
    padding: 0 3vw !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    background: #08090D;
    border-bottom: 1px solid rgba(255,255,255,.07);
}
.kip-header-logo { flex: 0 0 auto; min-width: 155px; }
.kip-header .wp-block-site-logo { margin: 0; }
.kip-header .wp-block-site-logo img {
    width: 165px !important;
    max-height: 56px;
    object-fit: contain;
}
.kip-navigation {
    flex: 1;
    display: flex;
    justify-content: center;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .035em;
}
.kip-navigation .wp-block-navigation__container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(16px, 1.8vw, 32px);
}
.kip-navigation a { position: relative; color: #fff; transition: color .2s ease; }
.kip-navigation a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 0;
    height: 2px;
    background: #EE0006;
    transition: width .22s ease;
}
.kip-navigation a:hover { color: #EE0006; }
.kip-navigation a:hover::after { width: 100%; }
.kip-btn-header { flex: 0 0 auto; }
.kip-btn-header .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 155px;
    min-height: 48px;
    padding: 12px 28px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #EE0006 !important;
    color: #fff !important;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    clip-path: polygon(0 0, 100% 0, 94% 100%, 0 100%);
    transition: transform .2s ease, background .2s ease;
}
.kip-btn-header .wp-block-button__link:hover { background: #ff161c !important; transform: translateY(-2px); }

/* =========================================================
   HERO — GEOMETRIE CALÉE SUR LE MODÈLE
   ========================================================= */
.kip-hero {
    position: relative;
    width: 100%;
    height: clamp(620px, 44vw, 760px);
    min-height: 620px;
    overflow: hidden;
    isolation: isolate;
    background: #05060A;
}
.kip-hero-panels { position: absolute; inset: 0; z-index: 1; overflow: hidden; }

.kip-panel {
    position: absolute;
    top: 0;
    bottom: 0;
    overflow: hidden;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* Repères de la maquette (desktop) :
   ligne 1 : haut 24% / bas 16%
   ligne 2 : haut 40.5% / bas 33%
   ligne 3 : haut 69% / bas 61%
   ligne 4 : haut 85% / bas 79%
*/
.kip-panel-karting {
    left: 0;
    width: 24%;
    z-index: 1;
    clip-path: polygon(0 0, 100% 0, 67% 100%, 0 100%);
    background-image: url("../images/karting.png");
    background-position: 48% center;
}
.kip-panel-bowling {
    left: 16%;
    width: 25%;
    z-index: 2;
    clip-path: polygon(30% 0, 100% 0, 68% 100%, 0 100%);
    background-image: url("../images/bowling.png");
    background-position: 50% center;
}
.kip-panel-center {
    left: 33%;
    width: 37%;
    z-index: 3;
    clip-path: polygon(20% 0, 100% 0, 77% 100%, 0 100%);
    background-image: url("../images/hero-kip.png");
    background-position: center center;
}
.kip-panel-laser {
    left: 61%;
    width: 25%;
    z-index: 4;
    clip-path: polygon(28% 0, 100% 0, 72% 100%, 0 100%);
    background-image: url("../images/laser.png");
    background-position: 50% center;
}
.kip-panel-resto {
    left: 79%;
    width: 21%;
    z-index: 5;
    clip-path: polygon(28% 0, 100% 0, 100% 100%, 0 100%);
    background-image: url("../images/restauration.png");
    background-position: 50% center;
}

.kip-panel-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,.02) 0%, rgba(0,0,0,.08) 45%, rgba(0,0,0,.82) 100%);
    pointer-events: none;
}
.kip-panel-center .kip-panel-shade {
    background:
        radial-gradient(circle at 50% 40%, rgba(0,0,0,.04), rgba(0,0,0,.15) 38%, rgba(0,0,0,.48) 100%),
        linear-gradient(to bottom, rgba(0,0,0,.18), rgba(0,0,0,.38));
}


/* =========================================================
   LABELS PANNEAUX
   ========================================================= */
.kip-panel-label {
    position: absolute;
    z-index: 10;
    bottom: 28px;
    text-align: center;
    text-transform: uppercase;
    pointer-events: none;
}
.kip-panel-label-karting { left: 0; width: 67%; }
.kip-panel-label-bowling { left: 0; width: 68%; }
.kip-panel-label-laser { left: 0; width: 72%; }
.kip-panel-label-resto { left: 0; width: 100%; }

.kip-panel-icon {
    display: block;
    margin-bottom: 11px;
    color: #fff;
    font-size: 27px;
    line-height: 1;
}
.kip-panel-label h3 {
    margin: 0;
    color: #EE0006;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: clamp(16px, 1.35vw, 24px);
    line-height: 1;
    font-weight: 900;
    font-style: italic;
    letter-spacing: .015em;
    white-space: nowrap;
}
.kip-panel-bowling .kip-panel-label h3 { color: #9674FF; }
.kip-panel-label p {
    margin: 9px auto 0;
    color: rgba(255,255,255,.94);
    font-size: 10px;
    line-height: 1.28;
    font-weight: 700;
    letter-spacing: .03em;
}

/* =========================================================
   COPY CENTRALE — INDÉPENDANTE DES CLIP-PATH
   ========================================================= */
.kip-hero-copy {
    position: absolute;
    z-index: 30;
    top: 47.5%;
    left: 50.5%;
    width: min(31vw, 520px);
    transform: translate(-50%, -50%);
    text-align: center;
}
.kip-eyebrow {
    display: inline-block;
    margin-bottom: 17px;
    color: #EE0006;
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .075em;
    text-transform: uppercase;
}
.kip-hero-copy h1 {
    margin: 0;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-style: italic;
    font-weight: 900;
    line-height: .88;
    letter-spacing: -.025em;
    text-transform: uppercase;
    text-shadow: 0 7px 24px rgba(0,0,0,.5);
}
.kip-hero-line { display: block; white-space: nowrap; }
.kip-hero-line-1 {
    color: #fff;
    font-size: clamp(42px, 3.25vw, 62px);
}
.kip-hero-line-2 {
    color: #EE0006;
    font-size: clamp(48px, 3.75vw, 70px);
}
.kip-hero-line-3 {
    margin-top: 8px;
    color: #fff;
    font-size: clamp(30px, 2.45vw, 45px);
    letter-spacing: -.01em;
}
.kip-hero-copy > p {
    max-width: 450px;
    margin: 24px auto 22px;
    color: rgba(255,255,255,.9);
    font-size: 12px;
    line-height: 1.55;
}

/* =========================================================
   BOUTONS HERO
   ========================================================= */
.kip-hero-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: nowrap;
}
.kip-button {
    position: relative;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 46px;
    padding: 0 18px;
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .01em;
    text-transform: uppercase;
    transition: transform .18s ease;
}
.kip-button:hover { transform: translateY(-2px); }
.kip-button-primary {
    min-width: 205px;
    background: #EE0006;
    clip-path: polygon(0 0, 100% 0, 94% 100%, 0 100%);
}
.kip-button-primary:hover { background: #ff151b; }
.kip-button-secondary {
    min-width: 218px;
    background: #fff;
    clip-path: polygon(6% 0, 100% 0, 94% 100%, 0 100%);
}
.kip-button-secondary::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 1px;
    background: rgba(8,9,12,.88);
    clip-path: polygon(6% 0, 100% 0, 94% 100%, 0 100%);
}

/* =========================================================
   BANDEAU ROUGE DÉFILANT
   ========================================================= */
.kip-marquee {
    position: relative;
    z-index: 20;
    width: 100%;
    height: 62px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #EE0006;
    border-top: 1px solid rgba(255,255,255,.14);
    border-bottom: 1px solid rgba(0,0,0,.28);
}
.kip-marquee::before,
.kip-marquee::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 70px;
    z-index: 3;
    pointer-events: none;
}
.kip-marquee::before {
    left: 0;
    background: linear-gradient(90deg, #EE0006 0%, rgba(238,0,6,0) 100%);
}
.kip-marquee::after {
    right: 0;
    background: linear-gradient(270deg, #EE0006 0%, rgba(238,0,6,0) 100%);
}
.kip-marquee-track {
    display: flex;
    flex: 0 0 auto;
    width: max-content;
    min-width: max-content;
    animation: kip-marquee-scroll 24s linear infinite;
    will-change: transform;
}
.kip-marquee-content {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    white-space: nowrap;
}
.kip-marquee-content span {
    display: inline-flex;
    align-items: center;
    min-height: 62px;
    padding: 0 28px;
    color: #fff;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 17px;
    line-height: 1;
    font-weight: 900;
    font-style: italic;
    letter-spacing: .045em;
    text-transform: uppercase;
}
.kip-marquee-content i {
    color: #0D0E13;
    font-size: 11px;
    font-style: normal;
    opacity: .9;
}
@keyframes kip-marquee-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}
.kip-marquee:hover .kip-marquee-track {
    animation-play-state: paused;
}
@media (prefers-reduced-motion: reduce) {
    .kip-marquee-track {
        animation: none;
    }
}


/* =========================================================
   UNIVERS KIP — INTRODUCTION
   ========================================================= */
.kip-universe {
    position: relative;
    overflow: hidden;
    background: #0A0B0F;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.kip-universe-inner {
    position: relative;
    max-width: 1600px;
    min-height: 480px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.15fr .55fr 1.45fr;
    align-items: stretch;
}

.kip-universe-copy {
    position: relative;
    z-index: 4;
    padding: 112px 54px 90px 5vw;
    background: linear-gradient(90deg, #0A0B0F 0%, #0D0E13 100%);
}

.kip-universe-kicker {
    display: inline-block;
    margin-bottom: 18px;
    color: #B8B8BD;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.kip-universe-kicker::first-letter {
    color: #EE0006;
}

.kip-universe-copy h2 {
    margin: 0;
    color: #fff;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: clamp(42px, 3.4vw, 64px);
    line-height: .92;
    font-weight: 900;
    font-style: italic;
    letter-spacing: -.02em;
    text-transform: uppercase;
}

.kip-universe-copy p {
    max-width: 520px;
    margin: 24px 0 28px;
    color: #B6B6BC;
    font-size: 14px;
    line-height: 1.65;
}

.kip-universe-cta {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-width: 270px;
    min-height: 52px;
    padding: 0 24px;
    background: #EE0006;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .03em;
    text-transform: uppercase;
    clip-path: polygon(0 0, 100% 0, 94% 100%, 0 100%);
    transition: transform .2s ease, background .2s ease;
}

.kip-universe-cta:hover {
    transform: translateY(-2px);
    background: #ff151b;
}

.kip-universe-stats {
    position: relative;
    z-index: 5;
    padding: 82px 38px 64px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 34px;
    background: #0D0E13;
}

.kip-universe-stats::before {
    content: "";
    position: absolute;
    top: 15%;
    bottom: 15%;
    left: 0;
    width: 1px;
    background: linear-gradient(to bottom, transparent, rgba(238,0,6,.8), transparent);
}

.kip-universe-stat strong {
    display: block;
    margin-bottom: 5px;
    color: #EE0006;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: clamp(38px, 3vw, 54px);
    line-height: .9;
    font-style: italic;
    letter-spacing: -.015em;
}

.kip-universe-stat span {
    display: block;
    color: #fff;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.kip-universe-visual {
    position: relative;
    min-height: 480px;
    overflow: hidden;
    background: #111217;
}

.kip-universe-visual::before {
    content: "";
    position: absolute;
    z-index: 3;
    inset: 0 auto 0 0;
    width: 18%;
    background: #0D0E13;
    clip-path: polygon(0 0, 100% 0, 28% 100%, 0 100%);
}

.kip-universe-photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transform: scale(1.015);
}

.kip-universe-visual::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(0,0,0,.22), rgba(0,0,0,.04) 42%, rgba(0,0,0,.14));
}

.kip-universe-signature {
    position: absolute;
    z-index: 5;
    right: 6%;
    bottom: 38px;
    margin: 0;
    color: #fff;
    font-family: "Brush Script MT", "Segoe Script", cursive;
    font-size: clamp(24px, 2.1vw, 38px);
    line-height: 1.05;
    text-align: right;
    transform: rotate(-4deg);
    text-shadow: 0 4px 18px rgba(0,0,0,.55);
}

/* =========================================================
   ACTIVITÉS — proche de la maquette
   ========================================================= */
.kip-activities {
    position: relative;
    padding: 76px 4vw 86px;
    background:
        radial-gradient(circle at 78% 12%, rgba(238,0,6,.045), transparent 26%),
        linear-gradient(180deg, #0D0E13 0%, #0A0B0F 100%);
    border-bottom: 1px solid rgba(255,255,255,.08);
    margin-top: 112px !IMPORTANT;
    padding-bottom: 0px !IMPORTANT;
}

.kip-activities-inner {
    width: min(100%, 1540px);
    margin: 0 auto;
}

.kip-section-head {
    margin: 0 0 38px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.kip-section-label {
    display: block;
    margin-bottom: 14px;
    color: #B7B7BC;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.kip-section-label b {
    margin-right: 8px;
    color: #EE0006;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 900;
    letter-spacing: -1px;
}

.kip-section-head h2 {
    margin: 0;
    color: #fff;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: clamp(46px, 4.15vw, 72px);
    line-height: .88;
    font-style: italic;
    font-weight: 900;
    letter-spacing: -.012em;
    text-transform: uppercase;
}

.kip-section-head h2 strong {
    color: #EE0006;
    font-weight: inherit;
}

.kip-section-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 16px;
    min-height: 38px;
    padding: 0 10px 8px 0;
    color: #EE0006;
    border-bottom: 2px solid #EE0006;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
    transition: color .2s ease, gap .2s ease;
}

.kip-section-link::after {
    content: "";
    position: absolute;
    right: -7px;
    bottom: -2px;
    width: 18px;
    height: 2px;
    background: #EE0006;
    transform: rotate(-45deg);
    transform-origin: right center;
}

.kip-section-link:hover {
    color: #fff;
    gap: 22px;
}

.kip-activities-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 10px;
}

.kip-activity-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: #101116;
    border: 1px solid rgba(255,255,255,.14);
    transition: transform .25s ease, border-color .25s ease, background .25s ease;
}

.kip-activity-card:hover {
    transform: translateY(-5px);
    border-color: rgba(238,0,6,.65);
    background: #121318;
}

.kip-activity-image {
    position: relative;
    display: block;
    height: clamp(220px, 18.5vw, 315px);
    overflow: hidden;
    background: #191A1F;
}

.kip-activity-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,.02) 45%, rgba(0,0,0,.2) 100%);
    pointer-events: none;
}

.kip-activity-image::before {
    content: "";
    position: absolute;
    z-index: 3;
    right: -2px;
    bottom: -2px;
    width: 42px;
    height: 42px;
    border-right: 3px solid #EE0006;
    border-bottom: 3px solid #EE0006;
    transform: skewX(-38deg);
    transform-origin: bottom right;
    pointer-events: none;
}

.kip-activity-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .45s ease, filter .45s ease;
}

.kip-activity-card:hover .kip-activity-image img {
    transform: scale(1.045);
    filter: brightness(1.06) saturate(1.05);
}

.kip-activity-body {
    padding: 20px 20px 22px;
}

.kip-activity-body h3 {
    margin: 0;
    color: #fff;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: clamp(24px, 1.9vw, 31px);
    line-height: .95;
    font-style: italic;
    font-weight: 900;
    letter-spacing: .01em;
    text-transform: uppercase;
}

.kip-activity-rule {
    display: block;
    width: 100%;
    height: 3px;
    margin: 10px 0 12px;
    background: #EE0006;
}

.kip-activity-body p {
    min-height: 58px;
    margin: 0 0 17px;
    color: #C1C1C6;
    font-size: 12px;
    line-height: 1.5;
}

.kip-card-link {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: #EE0006;
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.kip-card-link span {
    font-size: 15px;
    transition: transform .2s ease;
}

.kip-card-link:hover span {
    transform: translateX(5px);
}

/* =========================================================
   FOOTER
   ========================================================= */
.kip-footer { margin: 0 !important; padding: 60px 4vw; background: #090A0E; border-top: 2px solid #EE0006; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1200px) {
    .kip-navigation { font-size: 10px; }
    .kip-navigation .wp-block-navigation__container { gap: 16px; }
    .kip-hero-copy { width: min(34vw, 470px); }
    .kip-hero-line-1 { font-size: clamp(38px, 3.4vw, 52px); }
    .kip-hero-line-2 { font-size: clamp(43px, 3.9vw, 59px); }
    .kip-hero-line-3 { font-size: clamp(27px, 2.5vw, 37px); }
}

@media (max-width: 980px) {
    .kip-panel-karting { left: 0; width: 23%; clip-path: polygon(0 0,100% 0,72% 100%,0 100%); }
    .kip-panel-bowling { display: none; }
    .kip-panel-center { left: 16%; width: 64%; clip-path: polygon(12% 0,100% 0,88% 100%,0 100%); }
    .kip-panel-laser { left: 72%; width: 28%; clip-path: polygon(24% 0,100% 0,100% 100%,0 100%); }
    .kip-panel-resto { display: none; }
    .kip-panel-label-karting { width: 72%; }
    .kip-panel-label-laser { width: 100%; }
    .kip-hero-copy { left: 49%; width: min(52vw, 520px); }
    .kip-activities-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 782px) {
    .kip-header { min-height: 66px; padding: 0 18px !important; }
    .kip-header .wp-block-site-logo img { width: 125px !important; }
    .kip-btn-header { display: none; }
    .kip-navigation { flex: 0 0 auto; }

    .kip-hero { height: 630px; min-height: 630px; }
    .kip-panel-karting, .kip-panel-bowling, .kip-panel-laser, .kip-panel-resto { display: none; }
    .kip-panel-center {
        display: block;
        left: 0;
        width: 100%;
        clip-path: none;
        background-position: center;
    }
    .kip-hero-copy { top: 49%; left: 50%; width: calc(100% - 38px); }
    .kip-hero-line-1 { font-size: clamp(42px, 11vw, 58px); }
    .kip-hero-line-2 { font-size: clamp(48px, 12.8vw, 66px); }
    .kip-hero-line-3 { font-size: clamp(28px, 7.3vw, 38px); }
    .kip-hero-copy > p { font-size: 12px; }
    .kip-hero-buttons { flex-direction: column; width: min(100%, 330px); margin: 0 auto; }
    .kip-button { width: 100%; }

    .kip-marquee { height: 54px; }
    .kip-marquee-content span { min-height: 54px; padding: 0 22px; font-size: 14px; }

    .kip-activities { padding: 70px 20px 80px; }
    .kip-section-head { align-items: flex-start; flex-direction: column; margin-bottom: 35px; }
}

@media (max-width: 650px) {
    .kip-activities-grid { grid-template-columns: 1fr; }
    .kip-activity-image { height: 290px; }
    .kip-activity-body p { min-height: auto; }
}

@media (max-width: 480px) {
    .kip-marquee { height: 50px; }
    .kip-marquee-content span { min-height: 50px; padding: 0 18px; font-size: 13px; }
}


/* =========================================================
   UNIVERS KIP — RESPONSIVE
   ========================================================= */
@media (max-width: 1100px) {
    .kip-universe-inner {
        grid-template-columns: 1.1fr .55fr 1.1fr;
    }

    .kip-universe-copy {
        padding-left: 4vw;
        padding-right: 36px;
    }

    .kip-universe-stats {
        padding-left: 28px;
        padding-right: 20px;
    }
}

@media (max-width: 820px) {
    .kip-universe-inner {
        grid-template-columns: 1fr 1fr;
    }

    .kip-universe-copy {
        padding: 62px 26px 54px;
    }

    .kip-universe-stats {
        padding: 62px 28px 54px;
    }

    .kip-universe-visual {
        grid-column: 1 / -1;
        min-height: 390px;
    }

    .kip-universe-visual::before {
        display: none;
    }
}

@media (max-width: 560px) {
    .kip-universe-inner {
        display: block;
    }

    .kip-universe-copy {
        padding: 56px 22px 36px;
    }

    .kip-universe-copy h2 {
        font-size: 44px;
    }

    .kip-universe-copy p {
        font-size: 13px;
    }

    .kip-universe-cta {
        width: 100%;
        min-width: 0;
    }

    .kip-universe-stats {
        padding: 18px 22px 42px;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 14px;
    }

    .kip-universe-stats::before {
        display: none;
    }

    .kip-universe-stat strong {
        font-size: 34px;
    }

    .kip-universe-stat span {
        font-size: 9px;
    }

    .kip-universe-visual {
        min-height: 330px;
    }

    .kip-universe-signature {
        right: 24px;
        bottom: 28px;
        font-size: 26px;
    }
}

/* =========================================================
   RÉSERVATION EN 3 ÉTAPES
   ========================================================= */
.kip-booking-steps {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(255,255,255,.015), transparent 35%),
        #0a0b0f;
    border-top: 1px solid rgba(255,255,255,.08);
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.kip-booking-steps::before {
    content: "#READYTORACE";
    position: absolute;
    left: 3vw;
    bottom: -18px;
    color: rgba(255,255,255,.025);
    font-size: clamp(60px, 8vw, 140px);
    line-height: 1;
    font-weight: 950;
    font-style: italic;
    letter-spacing: -.05em;
    white-space: nowrap;
    pointer-events: none;
}

.kip-booking-inner {
    position: relative;
    z-index: 2;
    max-width: 1500px;
    margin: 0 auto;
    min-height: 330px;
    padding: 62px 5vw;
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(620px, 1.75fr);
    align-items: center;
    gap: 70px;
}

.kip-booking-intro h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(36px, 3.2vw, 56px);
    line-height: .92;
    font-weight: 950;
    font-style: italic;
    letter-spacing: -.04em;
    text-transform: uppercase;
}

.kip-booking-intro h2 strong {
    color: #EE0006;
}

.kip-booking-intro p {
    max-width: 410px;
    margin: 20px 0 26px;
    color: #8d8e95;
    font-size: 13px;
    line-height: 1.55;
}

.kip-booking-cta {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-width: 230px;
    min-height: 50px;
    padding: 0 22px;
    background: #EE0006;
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
    clip-path: polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);
    transition: transform .2s ease, background .2s ease;
}

.kip-booking-cta:hover {
    transform: translateY(-2px);
    background: #ff171d;
}

.kip-booking-flow {
    display: grid;
    grid-template-columns: minmax(150px,1fr) 64px minmax(150px,1fr) 64px minmax(150px,1fr);
    align-items: center;
    gap: 0;
}

.kip-step-card {
    min-width: 0;
    text-align: left;
}

.kip-step-number {
    display: block;
    margin-bottom: 20px;
    color: #EE0006;
    font-size: clamp(46px, 4vw, 70px);
    line-height: .85;
    font-weight: 950;
    font-style: italic;
    letter-spacing: -.04em;
}

.kip-step-icon {
    width: 54px;
    height: 54px;
    margin-bottom: 20px;
    color: #fff;
}

.kip-step-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.kip-step-card h3 {
    margin: 0 0 7px;
    color: #fff;
    font-size: 13px;
    line-height: 1.16;
    font-weight: 900;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.kip-step-card p {
    margin: 0;
    max-width: 160px;
    color: #85868d;
    font-size: 11px;
    line-height: 1.45;
}

.kip-step-line {
    display: block;
    width: 42px;
    height: 2px;
    margin: 0 auto;
    background: #EE0006;
    box-shadow: 0 0 12px rgba(238,0,6,.25);
}

@media (max-width: 1100px) {
    .kip-booking-inner {
        grid-template-columns: 1fr;
        gap: 44px;
    }

    .kip-booking-intro {
        max-width: 620px;
    }
}

@media (max-width: 760px) {
    .kip-booking-inner {
        padding: 58px 22px 64px;
    }

    .kip-booking-flow {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .kip-step-card {
        display: grid;
        grid-template-columns: 72px 62px 1fr;
        grid-template-rows: auto auto;
        align-items: center;
        column-gap: 14px;
        text-align: left;
    }

    .kip-step-number {
        grid-row: 1 / 3;
        margin: 0;
        font-size: 54px;
    }

    .kip-step-icon {
        grid-row: 1 / 3;
        margin: 0;
        width: 48px;
        height: 48px;
    }

    .kip-step-card h3 {
        align-self: end;
    }

    .kip-step-card p {
        align-self: start;
        max-width: none;
    }

    .kip-step-line {
        width: 2px;
        height: 26px;
        margin-left: 101px;
    }
}

@media (max-width: 430px) {
    .kip-booking-intro h2 {
        font-size: 38px;
    }

    .kip-booking-cta {
        width: 100%;
    }

    .kip-step-card {
        grid-template-columns: 58px 52px 1fr;
        column-gap: 10px;
    }

    .kip-step-number {
        font-size: 46px;
    }

    .kip-step-icon {
        width: 42px;
        height: 42px;
    }

    .kip-step-line {
        margin-left: 82px;
    }
}

/* =========================================================
   AVIS — PLEINE LARGEUR, DÉFILEMENT AUTO + MANUEL
   ========================================================= */
.kip-reviews {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 88px 0 96px;
    background: #0d0e13;
    border-top: 1px solid rgba(255,255,255,.06);
    border-bottom: 1px solid rgba(255,255,255,.08);
    padding-top: 112px !IMPORTANT;
    padding-bottom: 0px !important;
}

.kip-reviews-head {
    max-width: 920px;
    margin: 0 auto 42px;
    padding: 0 24px;
    text-align: center;
    margin-bottom: 52px !IMPORTANT;
}

.kip-reviews-head .kip-section-label {
    justify-content: center;
}

.kip-reviews-head h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(38px, 4vw, 66px);
    line-height: .92;
    font-weight: 950;
    font-style: italic;
    letter-spacing: -.045em;
    text-transform: uppercase;
}

.kip-reviews-head h2 strong {
    color: #EE0006;
}

.kip-reviews-rating {
    margin-top: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
}

.kip-rating-score {
    color: #fff;
    font-size: 24px;
    line-height: 1;
    font-weight: 950;
}

.kip-rating-stars {
    color: #FFC515;
    font-size: 20px;
    line-height: 1;
    letter-spacing: 3px;
}

.kip-rating-count {
    color: #9b9ca3;
    font-size: 12px;
    font-weight: 700;
}

/* Le viewport occupe toute la largeur de l'écran.
   Les cartes restent toujours coupées à l'intérieur du viewport :
   rien ne dépasse hors de l'écran. */
.kip-reviews-viewport {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    cursor: grab;
    touch-action: pan-y;
    overscroll-behavior-x: contain;
}

.kip-reviews-viewport::-webkit-scrollbar {
    display: none;
}

.kip-reviews-viewport.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
    user-select: none;
}

.kip-reviews-track {
    display: flex;
    align-items: stretch;
    gap: 18px;
    width: max-content;
    padding: 0 22px 8px;
}

.kip-review-card {
    flex: 0 0 clamp(320px, 28vw, 560px);
    min-height: 220px;
    padding: 26px 24px 22px;
    display: flex;
    flex-direction: column;
    scroll-snap-align: start;
    background: linear-gradient(180deg, #171920 0%, #111319 100%);
    border: 1px solid rgba(255,255,255,.075);
    transition: border-color .2s ease, transform .2s ease;
}

.kip-review-card:hover {
    border-color: rgba(238,0,6,.34);
}

.kip-review-quote {
    display: block;
    height: 24px;
    color: rgba(255,255,255,.45);
    font-size: 30px;
    line-height: .9;
    font-weight: 900;
}

.kip-review-card > p {
    margin: 8px 0 22px;
    color: #e3e3e6;
    font-size: 13px;
    line-height: 1.62;
}

.kip-review-author {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 11px;
}

.kip-review-avatar {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    border-radius: 50%;
    background: #252730;
    color: #fff;
    font-size: 10px;
    font-weight: 900;
}

.kip-review-author strong {
    display: block;
    margin-bottom: 3px;
    color: #fff;
    font-size: 11px;
}

.kip-review-author div > span {
    display: block;
    color: #FFC515;
    font-size: 10px;
    letter-spacing: 2px;
}

.kip-reviews-actions {
    width: 100%;
    margin: 22px auto 0;
    padding: 0 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.kip-reviews-hint {
    color: #6f7078;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.kip-reviews-hint span {
    color: #EE0006;
    margin-left: 6px;
}

@media (max-width: 900px) {
    .kip-review-card {
        flex-basis: min(72vw, 520px);
    }
}

@media (max-width: 650px) {
    .kip-reviews {
        padding: 66px 0 74px;
    }

    .kip-reviews-head {
        margin-bottom: 30px;
    }

    .kip-reviews-track {
        gap: 14px;
        padding-inline: 16px;
    }

    .kip-review-card {
        flex-basis: calc(100vw - 48px);
        min-height: 205px;
        padding: 22px 20px 20px;
    }

    .kip-reviews-actions {
        padding: 0 16px;
        align-items: flex-start;
        flex-direction: column;
    }
}


/* =========================================================
   LIEU & HORAIRES — VERSION PROPRE
   Un panneau noir unique à gauche, un rebord incliné, carte à droite
   ========================================================= */
.kip-location {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #090a0f;
    border-top: 1px solid rgba(255,255,255,.07);
}

.kip-location-inner {
    min-height: 360px;
    display: grid;
    grid-template-columns: minmax(0,55%) minmax(0,45%);
    align-items: stretch;
}

.kip-location-left {
    position: relative;
    z-index: 5;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(330px,.95fr) minmax(360px,1.05fr);
    gap: 46px;
    padding: 50px 84px 44px clamp(52px,4.8vw,82px);
    background: #090a0f;
    clip-path: polygon(0 0,91% 0,100% 100%,0 100%);
}

.kip-location-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
    background: transparent;
}

.kip-location-copy .kip-section-label {
    margin-bottom: 14px;
    font-size: 12px;
    letter-spacing: .16em;
}

.kip-location-copy h2 {
    width: 100%;
    max-width: 350px;
    margin: 0;
    color: #fff;
    font-size: clamp(42px,3.05vw,52px);
    line-height: .92;
    font-weight: 950;
    font-style: italic;
    letter-spacing: -.045em;
    text-transform: uppercase;
}

.kip-location-copy h2 span {
    display: block;
    white-space: nowrap;
}

.kip-location-copy > p { display: none; }

.kip-location-cta {
    width: 190px;
    min-width: 190px;
    min-height: 46px;
    margin-top: auto;
    padding: 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    background: #EE0006;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    clip-path: polygon(8px 0,100% 0,calc(100% - 12px) 100%,0 100%);
    transition: transform .2s ease, background .2s ease;
}
.kip-location-cta:hover { transform: translateY(-2px); background: #ff171d; }

.kip-location-details {
    min-width: 0;
    padding: 32px 0 0;
    display: flex;
    flex-direction: column;
    gap: 30px;
    background: transparent;
    border: 0;
}

.kip-location-detail {
    min-width: 0;
    display: grid;
    grid-template-columns: 38px minmax(0,1fr);
    gap: 14px;
    align-items: start;
}

.kip-location-icon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.kip-location-icon svg {
    width: 31px;
    height: 31px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.kip-location-detail > div { min-width: 0; }
.kip-location-detail strong,
.kip-location-detail span { display: block; word-break: normal; overflow-wrap: normal; hyphens: none; }
.kip-location-detail strong {
    margin-bottom: 5px;
    color: #fff;
    font-size: 19px;
    line-height: 1.25;
    font-weight: 800;
    white-space: nowrap;
}
.kip-location-detail span {
    color: #d5d6d9;
    font-size: 13px;
    line-height: 1.4;
    white-space: nowrap;
}

.kip-location-map {
    position: relative;
    z-index: 2;
    min-height: 360px;
    margin-left: -96px;
    overflow: hidden;
    isolation: isolate;
    background: #11151d;
}
.kip-map-embed {
    position: absolute;
    z-index: 0;
    inset: -5%;
    width: 110%;
    height: 110%;
    border: 0;
    pointer-events: none;
    opacity: .66;
    filter: grayscale(1) invert(.92) sepia(.06) saturate(.30) brightness(.44) contrast(1.28);
    transform: scale(1.06);
}
.kip-map-overlay {
    position: absolute;
    z-index: 1;
    inset: 0;
    pointer-events: none;
    background:
      linear-gradient(90deg,rgba(7,9,14,.50) 0%,rgba(7,9,14,.18) 26%,rgba(7,9,14,.08) 48%,rgba(7,9,14,.10) 100%),
      linear-gradient(180deg,rgba(8,10,15,.05),rgba(8,10,15,.27)),
      radial-gradient(circle at 65% 40%,rgba(238,0,6,.11),transparent 18%);
}
.kip-location-map::before,
.kip-location-map::after { display: none; }
.kip-map-city {
    position: absolute;
    z-index: 4;
    right: 5%;
    top: 12%;
    text-align: right;
    color: rgba(255,255,255,.86);
    font-size: clamp(16px,1.25vw,21px);
    line-height: 1.05;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
    text-shadow: 0 2px 14px rgba(0,0,0,.65);
}
.kip-map-city span { display:block; margin-top:4px; font-size:.62em; letter-spacing:.12em; }
.kip-map-pin {
    position: absolute;
    z-index: 6;
    left: 65%;
    top: 40%;
    width: 32px;
    height: 42px;
    transform: translate(-50%,-50%);
    border-radius: 50% 50% 50% 0;
    background: #EE0006;
    transform-origin: center;
    rotate: -45deg;
    filter: drop-shadow(0 7px 12px rgba(0,0,0,.42));
}
.kip-map-pin span {
    position: absolute;
    left: 50%; top: 50%;
    width: 10px; height: 10px;
    transform: translate(-50%,-50%);
    border-radius: 50%;
    background: #0d0e13;
}
.kip-map-card {
    position: absolute;
    z-index: 7;
    right: 4.5%;
    bottom: 24px;
    width: 220px;
    height: 112px;
    padding: 0;
    display: block;
    overflow: hidden;
    background: #090a0f;
    border: 1px solid rgba(255,255,255,.11);
    box-shadow: 0 14px 36px rgba(0,0,0,.34);
}
.kip-map-photo {
    width: 100%;
    height: 100%;
    min-height: 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.kip-map-card > div:last-child { display: none; }

@media (max-width: 1180px) and (min-width: 941px) {
    .kip-location-inner { grid-template-columns:minmax(0,57%) minmax(0,43%); }
    .kip-location-left {
        grid-template-columns:minmax(285px,.95fr) minmax(300px,1fr);
        gap:30px;
        padding:44px 64px 38px 38px;
    }
    .kip-location-copy h2 { font-size:clamp(38px,3.8vw,46px); }
    .kip-location-detail strong { font-size:13px; }
    .kip-location-detail span { font-size:12px; }
    .kip-location-icon,
    .kip-location-icon svg { width:29px; height:29px; }
    .kip-location-map { margin-left:-72px; }
}

@media (max-width: 940px) {
    .kip-location-inner { display:block; min-height:0; }
    .kip-location-left {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:28px;
        padding:46px 32px;
        clip-path:none;
    }
    .kip-location-copy h2 { max-width:100%; font-size:clamp(34px,6vw,48px); }
    .kip-location-details { padding:30px 0 0; }
    .kip-location-detail strong,
    .kip-location-detail span { white-space:normal; }
    .kip-location-map { min-height:360px; margin-left:0; }
    .kip-map-card { width:210px; height:108px; }
}

@media (max-width: 650px) {
    .kip-location-left { display:block; padding:42px 22px 34px; }
    .kip-location-copy h2 { font-size:clamp(34px,11vw,44px); }
    .kip-location-copy h2 span { white-space:normal; }
    .kip-location-cta { margin-top:30px; }
    .kip-location-details { padding-top:30px; gap:18px; }
    .kip-location-map { min-height:320px; }
    .kip-map-city { right:18px; top:16px; font-size:14px; }
    .kip-map-pin { left:57%; top:36%; }
    .kip-map-card { right:16px; bottom:16px; width:180px; height:94px; }
}

/* =========================================================
   DERNIERS CHRONOS — CARROUSEL CONTENU DANS L'ÉCRAN
   ========================================================= */
.kip-times {
    position: relative;
    width: 100%;
    padding: 78px 0 92px;
    background:
        radial-gradient(circle at 50% 0%, rgba(238,0,6,.05), transparent 34%),
        #090a0f;
    overflow: hidden;
    padding-top: 112px !important;
}

.kip-times-head {
    max-width: 780px;
    margin: 0 auto 42px;
    padding: 0 24px;
    text-align: center;
    margin-bottom: 52px !important;
}

.kip-times-head .kip-section-label {
    justify-content: center;
    margin-bottom: 15px;
}

.kip-times-head h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(34px, 3.5vw, 58px);
    line-height: .92;
    font-weight: 950;
    font-style: italic;
    letter-spacing: -.045em;
    text-transform: uppercase;
}

.kip-times-head h2 strong {
    color: #EE0006;
}

.kip-times-head > p {
    margin: 15px auto 0;
    color: #777982;
    font-size: 11px;
    line-height: 1.5;
}

.kip-times-shell {
    position: relative;
    width: 100%;
    padding: 0 clamp(38px, 4vw, 74px);
}

.kip-times-viewport {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    cursor: grab;
    touch-action: pan-y;
}

.kip-times-viewport::-webkit-scrollbar {
    display: none;
}

.kip-times-viewport.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    user-select: none;
}

.kip-times-track {
    display: flex;
    gap: 18px;
    width: max-content;
    min-width: 100%;
}

.kip-times-card {
    position: relative;
    flex: 0 0 calc((100vw - (clamp(38px, 4vw, 74px) * 2) - 36px) / 3);
    min-width: 330px;
    min-height: 300px;
    padding: 20px 22px 24px;
    overflow: hidden;
    scroll-snap-align: start;
    background:
        linear-gradient(135deg, rgba(255,255,255,.025), transparent 42%),
        #101218;
    border: 1px solid rgba(255,255,255,.08);
}

.kip-times-card-head {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 17px;
}

.kip-times-card-head > span,
.kip-times-card-head a {
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.kip-times-card-head > span {
    color: #d8d8dc;
}

.kip-times-card-head b {
    margin-right: 6px;
    color: #EE0006;
}

.kip-times-card-head a {
    color: #8a8b92;
}

.kip-times-list {
    position: relative;
    z-index: 3;
    margin: 0;
    padding: 0;
    list-style: none;
}

.kip-times-list li {
    min-height: 38px;
    margin-bottom: 5px;
    padding: 0 13px;
    display: grid;
    grid-template-columns: 34px 1fr auto;
    align-items: center;
    gap: 10px;
    background: #151820;
    border: 1px solid rgba(255,255,255,.045);
    border-radius: 4px;
    color: #e4e4e7;
}

.kip-times-list li.is-first {
    min-height: 43px;
    background: linear-gradient(90deg, rgba(255,197,21,.14), rgba(255,197,21,.035));
    border: 2px solid #FFC515;
    box-shadow: inset 0 0 22px rgba(255,197,21,.035);
}

.kip-rank {
    width: 26px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    background: #232630;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}

.is-first .kip-rank {
    background: #FFC515;
    color: #0d0e13;
}

.kip-driver {
    overflow: hidden;
    color: #ececef;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.kip-times-list strong {
    color: #d9d9dc;
    font-size: 11px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.kip-times-list .is-first strong {
    color: #FFC515;
}

.kip-times-clock {
    position: absolute;
    z-index: 1;
    right: -18px;
    bottom: -24px;
    width: 110px;
    height: 110px;
    border: 11px solid rgba(255,255,255,.035);
    border-radius: 50%;
}

.kip-times-clock::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -22px;
    width: 28px;
    height: 14px;
    transform: translateX(-50%);
    border-radius: 3px;
    background: rgba(255,255,255,.04);
}

.kip-times-clock::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 4px;
    height: 34px;
    transform: translate(-50%,-100%) rotate(38deg);
    transform-origin: center bottom;
    background: rgba(255,255,255,.05);
}

.kip-times-nav {
    position: absolute;
    z-index: 8;
    top: 50%;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    background: rgba(9,10,15,.88);
    color: #fff;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.kip-times-nav:hover {
    border-color: #EE0006;
    background: #EE0006;
}

.kip-times-prev { left: 10px; }
.kip-times-next { right: 10px; }

.kip-times-actions {
    margin: 18px clamp(38px, 4vw, 74px) 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.kip-times-actions > span,
.kip-times-actions > a {
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.kip-times-actions > span {
    color: #666872;
}

.kip-times-actions > a {
    color: #EE0006;
    padding-bottom: 6px;
    border-bottom: 1px solid #EE0006;
}

@media (max-width: 1100px) {
    .kip-times-card {
        flex-basis: calc((100vw - (clamp(38px, 4vw, 74px) * 2) - 18px) / 2);
        min-width: 310px;
    }
}

@media (max-width: 650px) {
    .kip-times {
        padding: 60px 0 72px;
    }

    .kip-times-shell {
        padding: 0 20px;
    }

    .kip-times-card {
        flex-basis: calc(100vw - 40px);
        min-width: calc(100vw - 40px);
    }

    .kip-times-prev,
    .kip-times-next {
        display: none;
    }

    .kip-times-actions {
        margin: 16px 20px 0;
    }

    .kip-times-actions > span {
        display: none;
    }
}


/* =========================================================
   INSTAGRAM — DANS LES COULISSES DE KIP
   ========================================================= */
.kip-instagram {
    position: relative;
    width: 100%;
    padding: 0;
    overflow: hidden;
    background: #0a0b0f;
    border-top: 1px solid rgba(255,255,255,.07);
    border-bottom: 1px solid rgba(255,255,255,.07);
}

.kip-instagram-inner {
    width: 100%;
    min-height: 230px;
    display: grid;
    grid-template-columns: minmax(300px, 29%) 1fr;
    align-items: stretch;
}

.kip-instagram-copy {
    position: relative;
    z-index: 2;
    padding: 42px 34px 34px clamp(36px, 4.8vw, 74px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    background:
        linear-gradient(115deg, rgba(238,0,6,.035), transparent 46%),
        #0a0b0f;
}

.kip-instagram-copy .kip-section-label {
    margin-bottom: 14px;
}

.kip-instagram-copy h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(28px, 2.4vw, 43px);
    line-height: .95;
    font-weight: 950;
    font-style: italic;
    letter-spacing: -.035em;
    text-transform: uppercase;
}

.kip-instagram-copy h2 strong {
    color: #fff;
    font: inherit;
}

.kip-instagram-handle {
    width: fit-content;
    margin-top: 20px;
    color: #898a92;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: color .2s ease;
}

.kip-instagram-handle:hover {
    color: #EE0006;
}

.kip-instagram-gallery {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(6, minmax(0,1fr));
    gap: 7px;
    padding: 37px 0 32px;
    background: #0a0b0f;
}

.kip-instagram-shot {
    position: relative;
    display: block;
    min-width: 0;
    height: 160px;
    overflow: hidden;
    background: #15171d;
}

.kip-instagram-shot::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(238,0,6,0), rgba(238,0,6,.06)),
        linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.20));
    opacity: .8;
    transition: opacity .25s ease;
}

.kip-instagram-shot img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(1.08) contrast(1.04);
    transition: transform .4s ease, filter .4s ease;
}

.kip-instagram-shot:hover img {
    transform: scale(1.06);
    filter: saturate(1.18) brightness(1.06) contrast(1.04);
}

.kip-instagram-shot:hover::after {
    opacity: .35;
}

.kip-insta-1 img { object-position: 45% center; }
.kip-insta-2 img { object-position: 40% center; }
.kip-insta-3 img { object-position: 50% center; }
.kip-insta-4 img { object-position: 50% center; }
.kip-insta-5 img { object-position: 55% center; }
.kip-insta-6 img { object-position: 70% center; }

.kip-instagram-bottom {
    min-height: 38px;
    padding: 0 clamp(28px, 4vw, 68px) 16px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    background: #0a0b0f;
}

.kip-instagram-bottom a {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #8b8c94;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: color .2s ease;
}

.kip-instagram-bottom a:hover {
    color: #EE0006;
}

@media (max-width: 1100px) {
    .kip-instagram-inner {
        grid-template-columns: minmax(260px, 32%) 1fr;
    }

    .kip-instagram-gallery {
        grid-template-columns: repeat(4, minmax(145px, 1fr));
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .kip-instagram-gallery::-webkit-scrollbar {
        display: none;
    }

    .kip-instagram-shot {
        scroll-snap-align: start;
    }
}

@media (max-width: 760px) {
    .kip-instagram-inner {
        display: block;
    }

    .kip-instagram-copy {
        padding: 44px 22px 26px;
    }

    .kip-instagram-gallery {
        grid-template-columns: repeat(6, 190px);
        padding: 0 22px 22px;
        gap: 8px;
    }

    .kip-instagram-shot {
        height: 170px;
    }

    .kip-instagram-bottom {
        padding: 0 22px 22px;
        justify-content: flex-start;
    }
}

/* =========================================================
   CTA FINAL — AVANT FOOTER
   ========================================================= */
.kip-final-cta {
    position: relative;
    min-height: 255px;
    padding: 58px 24px 64px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 45%, rgba(238,0,6,.055), transparent 30%),
        #07080b;
    border-top: 1px solid rgba(255,255,255,.05);
}

.kip-final-cta::before {
    content: "#READYTORACE";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    color: rgba(255,255,255,.018);
    font-size: clamp(76px, 13vw, 210px);
    line-height: 1;
    font-weight: 950;
    font-style: italic;
    white-space: nowrap;
    pointer-events: none;
}

.kip-final-cta .kip-section-label {
    position: relative;
    z-index: 2;
    margin-bottom: 14px;
}

.kip-final-cta-link {
    position: relative;
    z-index: 2;
    display: inline-block;
}

.kip-final-cta h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(34px, 3.25vw, 56px);
    line-height: .91;
    font-weight: 950;
    font-style: italic;
    letter-spacing: -.045em;
    text-transform: uppercase;
    transition: transform .25s ease;
}

.kip-final-cta h2 strong {
    color: #EE0006;
    font: inherit;
}

.kip-final-cta-link:hover h2 {
    transform: translateY(-3px);
}

/* =========================================================
   FOOTER KIP
   ========================================================= */
.kip-site-footer {
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,0) 40%),
        #0a0b0f;
    color: #fff;
    border-top: 1px solid rgba(255,255,255,.08);
    overflow: hidden;
}

.kip-footer-main {
    width: min(100%, 1500px);
    margin: 0 auto !important;
    padding: 48px clamp(28px, 4.5vw, 72px) 30px !important;
    display: grid !important;
    grid-template-columns: minmax(220px, 1.35fr) .72fr .62fr .72fr 1fr;
    gap: clamp(32px, 4vw, 72px);
    align-items: start;
}

.kip-footer-brand {
    margin: 0 !important;
}

.kip-footer-brand .wp-block-site-logo {
    margin: 0 0 24px !important;
}

.kip-footer-brand .wp-block-site-logo img {
    width: 180px !important;
    max-height: 75px;
    object-fit: contain;
}

.kip-footer-socials {
    margin: 0 !important;
    gap: 10px !important;
}

.kip-footer-socials .wp-social-link {
    background: transparent !important;
    color: #fff !important;
}

.kip-footer-socials .wp-social-link a {
    padding: 4px !important;
}

.kip-footer-socials .wp-social-link svg {
    width: 19px;
    height: 19px;
}

.kip-footer-socials .wp-social-link:hover {
    transform: translateY(-2px);
    color: #EE0006 !important;
}

.kip-footer-col {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.kip-footer-col h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.kip-footer-col a,
.kip-footer-col span {
    width: fit-content;
    color: #8f9098;
    font-size: 11px;
    line-height: 1.35;
    transition: color .2s ease;
}

.kip-footer-col a:hover {
    color: #EE0006;
}

.kip-footer-address span {
    max-width: 175px;
}

.kip-footer-race-line {
    position: relative;
    width: calc(100% - clamp(56px, 6vw, 110px));
    height: 56px;
    margin: 0 auto;
}

.kip-footer-race-line::before {
    content: "";
    position: absolute;
    left: 0;
    right: 64px;
    bottom: 17px;
    height: 3px;
    background: #EE0006;
}

.kip-footer-race-line::after {
    content: "";
    position: absolute;
    right: 18px;
    bottom: 37px;
    width: 68px;
    height: 3px;
    background: #EE0006;
    transform: rotate(-43deg);
    transform-origin: right center;
}

.kip-footer-race-line span {
    position: absolute;
    z-index: 2;
    right: 92px;
    bottom: 26px;
    color: #EE0006;
    font-size: 16px;
    line-height: 1;
    font-weight: 950;
    font-style: italic;
    letter-spacing: -.02em;
    text-transform: uppercase;
    text-shadow: 0 0 18px rgba(238,0,6,.12);
}

.kip-footer-bottom {
    width: min(100%, 1500px);
    margin: 0 auto;
    padding: 6px clamp(28px, 4.5vw, 72px) 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.kip-footer-bottom p,
.kip-footer-bottom a {
    margin: 0;
    color: #5f6068;
    font-size: 9px;
    line-height: 1.4;
}

.kip-footer-bottom > div {
    display: flex;
    gap: 18px;
}

.kip-footer-bottom a:hover {
    color: #a7a8ae;
}

@media (max-width: 1000px) {
    .kip-footer-main {
        grid-template-columns: 1.3fr 1fr 1fr;
        row-gap: 36px;
    }

    .kip-footer-brand {
        grid-row: span 2;
    }
}

@media (max-width: 680px) {
    .kip-final-cta {
        min-height: 220px;
        padding: 48px 20px 54px;
    }

    .kip-final-cta h2 {
        font-size: clamp(34px, 10vw, 48px);
    }

    .kip-footer-main {
        padding: 42px 22px 24px !important;
        grid-template-columns: 1fr 1fr;
        gap: 34px 24px;
    }

    .kip-footer-brand {
        grid-column: 1 / -1;
        grid-row: auto;
    }

    .kip-footer-brand .wp-block-site-logo img {
        width: 155px !important;
    }

    .kip-footer-race-line {
        width: calc(100% - 32px);
    }

    .kip-footer-race-line span {
        right: 78px;
        font-size: 13px;
    }

    .kip-footer-bottom {
        padding: 8px 22px 24px;
        align-items: flex-start;
        flex-direction: column;
    }
}

/* =========================================================
   KIP MANAGER — COMPOSANTS DYNAMIQUES
   ========================================================= */
.kip-footer-socials-native { display:flex; align-items:center; gap:14px; margin-top:18px; }
.kip-footer-socials-native a { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; color:#fff; font-size:16px; font-weight:800; transition:color .2s ease,transform .2s ease; }
.kip-footer-socials-native a:hover { color:#EE0006; transform:translateY(-2px); }

/* Réservation : grille robuste, aucun texte hors composant */
.kip-booking-watermark { display:none; }
.kip-booking-inner { grid-template-columns:minmax(280px,.82fr) minmax(0,1.72fr); gap:clamp(38px,5vw,78px); overflow:hidden; }
.kip-booking-flow { width:100%; min-width:0; grid-template-columns:minmax(130px,1fr) 52px minmax(130px,1fr) 52px minmax(130px,1fr); }
.kip-step-card { min-width:0; }

/* Les cartes restent identiques quel que soit le contenu saisi dans KIP Manager */
.kip-activities-grid { align-items:stretch; }
.kip-activity-card { flex-direction:column; height:100%; }
.kip-activity-body { display:flex; flex-direction:column; flex:1; }
.kip-activity-body p { flex:1; }
.kip-card-link { margin-top:auto; width:max-content; }

/* Avis : structure émise par KIP Manager */
.kip-review-footer { margin-top:auto; display:flex; align-items:flex-end; justify-content:space-between; gap:14px; }
.kip-review-user { display:flex; align-items:center; gap:12px; min-width:0; }
.kip-review-user>img { width:38px; height:38px; flex:0 0 38px; border-radius:50%; object-fit:cover; }
.kip-review-user>div { min-width:0; }
.kip-review-user strong { display:block; margin:0 0 4px; color:#fff; font-size:12px; line-height:1.2; font-weight:900; }
.kip-review-user>div>span { display:block; color:#FFC515; font-size:11px; line-height:1; letter-spacing:2px; white-space:nowrap; }
.kip-reviews-bottom { width:100%; margin:20px 0 0; padding:0 clamp(22px,4vw,72px); display:flex; justify-content:flex-end; }
.kip-reviews-bottom>a { position:relative; min-width:205px; padding:0 12px 12px 0; display:inline-flex; align-items:center; justify-content:space-between; gap:20px; color:#EE0006; border-bottom:2px solid #EE0006; font-size:10px; line-height:1; font-weight:900; letter-spacing:.055em; text-transform:uppercase; transition:color .2s ease,gap .2s ease; }
.kip-reviews-bottom>a::after { content:""; position:absolute; right:-8px; bottom:-2px; width:20px; height:2px; background:#EE0006; transform:rotate(-45deg); transform-origin:right center; }
.kip-reviews-bottom>a:hover { color:#fff; gap:27px; }

@media(max-width:1180px){
    .kip-booking-inner{grid-template-columns:1fr;gap:42px}
    .kip-booking-flow{max-width:820px}
}
@media(max-width:760px){
    .kip-booking-flow{grid-template-columns:1fr}
    .kip-booking-inner{overflow:visible}
}
@media(max-width:650px){
    .kip-reviews-bottom{padding:0 16px}
    .kip-reviews-bottom>a{width:100%;min-width:0}
}

/* =========================================================
   PAGE ACTIVITÉ — TEMPLATE VERROUILLÉ
   ========================================================= */
.kip-single-activity{background:#0d0e13;color:#fff;overflow:hidden}
.kip-single-activity-hero{position:relative;min-height:clamp(520px,62vh,760px);display:flex;align-items:flex-end;background-position:center;background-size:cover;background-repeat:no-repeat;border-bottom:1px solid rgba(255,255,255,.08)}
.kip-single-activity-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,6,9,.06),rgba(5,6,9,.32) 45%,rgba(5,6,9,.82));pointer-events:none}
.kip-single-activity-hero-inner{position:relative;z-index:2;width:min(1500px,90vw);margin:0 auto;padding:0 0 72px}
.kip-single-activity-hero h1{max-width:920px;margin:8px 0 14px;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:clamp(62px,8vw,132px);line-height:.84;font-style:italic;font-weight:900;letter-spacing:-.045em;text-transform:uppercase}
.kip-single-activity-hero p{max-width:650px;margin:0 0 30px;color:#d9d9dd;font-size:clamp(16px,1.3vw,21px);font-weight:700;text-transform:uppercase;letter-spacing:.035em}
.kip-single-activity-hero .kip-button{min-width:190px}
.kip-activity-facts{background:#101116;border-bottom:1px solid rgba(255,255,255,.08)}
.kip-activity-facts-inner{width:min(1500px,90vw);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.kip-activity-facts-inner>div{padding:26px 28px;border-right:1px solid rgba(255,255,255,.08)}
.kip-activity-facts-inner>div:first-child{padding-left:0}.kip-activity-facts-inner>div:last-child{border-right:0}
.kip-activity-facts span{display:block;margin-bottom:6px;color:#777982;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.kip-activity-facts strong{display:block;color:#fff;font-size:15px;line-height:1.25}
.kip-activity-presentation,.kip-activity-prices,.kip-activity-gallery,.kip-activity-faq,.kip-related-activities{padding:96px 0;background:#0d0e13}
.kip-activity-prices,.kip-activity-faq{background:#0a0b10;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.kip-activity-section-inner{width:min(1500px,90vw);margin:0 auto;display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:clamp(50px,8vw,130px);align-items:start}
.kip-activity-section-inner.is-block{display:block}
.kip-activity-heading h2,.kip-related-activities h2{margin:0;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:clamp(48px,5vw,80px);line-height:.9;font-style:italic;letter-spacing:-.035em;text-transform:uppercase}
.kip-activity-heading h2 strong,.kip-related-activities h2 strong{color:#ee0006}
.kip-activity-copy{max-width:760px}.kip-activity-lead{margin:0 0 24px;color:#fff;font-size:clamp(20px,1.7vw,28px);line-height:1.35;font-weight:800}.kip-activity-text p,.kip-activity-copy>p{color:#aaaab0;font-size:15px;line-height:1.75}
.kip-price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:30px}.kip-price-card{position:relative;padding:28px 26px 26px;background:#111217;border:1px solid rgba(255,255,255,.12);overflow:hidden}.kip-price-card:before{content:"";position:absolute;left:0;top:0;width:72px;height:3px;background:#ee0006}.kip-price-card h3{margin:0 0 22px;font-size:18px;text-transform:uppercase}.kip-price-card>strong{display:block;margin-bottom:12px;color:#fff;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:44px;font-style:italic;line-height:1}.kip-price-card p{min-height:44px;color:#92939a;font-size:12px;line-height:1.5}.kip-price-card a{display:inline-flex;gap:12px;margin-top:14px;color:#ee0006;font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.kip-gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:10px;margin-top:30px}.kip-gallery-grid figure{grid-column:span 4;margin:0;height:280px;overflow:hidden;background:#15161b}.kip-gallery-grid figure:nth-child(5n+1){grid-column:span 6}.kip-gallery-grid figure:nth-child(5n+2){grid-column:span 6}.kip-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.kip-gallery-grid figure:hover img{transform:scale(1.035)}
.kip-faq-list{margin-top:26px;border-top:1px solid rgba(255,255,255,.12)}.kip-faq-list details{border-bottom:1px solid rgba(255,255,255,.12)}.kip-faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:22px 0;color:#fff;font-size:15px;font-weight:900;text-transform:uppercase}.kip-faq-list summary::-webkit-details-marker{display:none}.kip-faq-list summary span{color:#ee0006;font-size:22px}.kip-faq-list details[open] summary span{transform:rotate(45deg)}.kip-faq-list details>div{max-width:850px;padding:0 0 22px;color:#a2a3a9;font-size:14px;line-height:1.7}
.kip-related-activities .kip-section-head{margin-bottom:34px}
@media(max-width:900px){.kip-single-activity-hero-inner{padding-bottom:52px}.kip-activity-section-inner{grid-template-columns:1fr;gap:32px}.kip-gallery-grid figure,.kip-gallery-grid figure:nth-child(n){grid-column:span 6;height:240px}}
@media(max-width:600px){.kip-single-activity-hero{min-height:560px}.kip-single-activity-hero h1{font-size:clamp(54px,16vw,82px)}.kip-activity-facts-inner{grid-template-columns:1fr 1fr}.kip-activity-facts-inner>div{padding:20px 16px;border-bottom:1px solid rgba(255,255,255,.07)}.kip-activity-presentation,.kip-activity-prices,.kip-activity-gallery,.kip-activity-faq,.kip-related-activities{padding:66px 0}.kip-gallery-grid figure,.kip-gallery-grid figure:nth-child(n){grid-column:1/-1;height:250px}}

/* =========================================================
   PAGE GÉNÉRIQUE — BASE POUR LES PROCHAINES PAGES
   ========================================================= */
.kip-page-shell{min-height:60vh;padding:110px clamp(22px,5vw,80px);background:#0d0e13;color:#fff}
.kip-page-shell-inner{width:min(1200px,100%);margin:0 auto}
.kip-page-shell h1{margin:0 0 28px;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:clamp(54px,7vw,104px);line-height:.88;font-style:italic;text-transform:uppercase}
.kip-page-shell .wp-block-post-content{color:#b6b6bc;font-size:16px;line-height:1.75}


/* =========================================================
   PAGE ACTIVITÉS — V8
   ========================================================= */
.kip-page{background:#0d0e13;color:#fff}
.kip-page-shell{width:min(1500px,90vw);margin:0 auto}
.kip-page-hero{position:relative;min-height:620px;display:flex;align-items:flex-end;overflow:hidden;background:#090a0f}
.kip-page-hero::before{content:"";position:absolute;inset:0;background-image:var(--kip-page-hero);background-size:cover;background-position:center;transform:scale(1.03)}
.kip-page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,9,.95) 0%,rgba(5,6,9,.74) 48%,rgba(5,6,9,.25) 100%)}
.kip-page-hero-overlay{position:absolute;z-index:1;inset:0;background:radial-gradient(circle at 70% 45%,rgba(238,0,6,.10),transparent 26%)}
.kip-page-hero-inner{position:relative;z-index:2;width:min(1500px,90vw);margin:0 auto;padding:130px 0 90px}
.kip-page-hero h1{max-width:1050px;margin:18px 0 26px;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:clamp(66px,7.2vw,126px);line-height:.82;font-style:italic;letter-spacing:-.04em;text-transform:uppercase}
.kip-page-hero h1 span{display:block}.kip-page-hero h1 strong{color:#ee0006;font-weight:inherit}
.kip-page-hero p{max-width:650px;margin:0 0 30px;color:#b7b8bd;font-size:16px;line-height:1.7}
.kip-page-intro{padding:92px 0 78px;background:#0d0e13}
.kip-page-intro-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:clamp(50px,8vw,130px);align-items:start}
.kip-page-intro h2{margin:0;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:clamp(48px,4.8vw,78px);line-height:.9;font-style:italic;letter-spacing:-.035em;text-transform:uppercase}
.kip-page-intro p{max-width:700px;margin:6px 0 0;color:#a9aab0;font-size:16px;line-height:1.8}
.kip-activities-archive{padding-top:20px;padding-bottom:24px;background:#0d0e13}
.kip-activities-archive .kip-activities-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.kip-activities-archive .kip-activity-card{min-height:100%}
@media(max-width:1180px){.kip-activities-archive .kip-activities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kip-page-hero{min-height:560px}.kip-page-hero-inner{padding:110px 0 75px}}
@media(max-width:760px){.kip-page-hero{min-height:560px}.kip-page-hero::after{background:linear-gradient(180deg,rgba(5,6,9,.46) 0%,rgba(5,6,9,.92) 72%,rgba(5,6,9,.98) 100%)}.kip-page-hero-inner{padding:100px 0 58px}.kip-page-hero h1{font-size:clamp(54px,16vw,84px)}.kip-page-hero p{font-size:14px}.kip-page-intro{padding:66px 0 48px}.kip-page-intro-grid{grid-template-columns:1fr;gap:24px}.kip-page-intro h2{font-size:clamp(44px,12vw,64px)}.kip-activities-archive{padding-bottom:78px}.kip-activities-archive .kip-activities-grid{grid-template-columns:1fr}}

/* =========================================================
   V9 — PAGE ACTIVITÉS : INTRO ÉDITORIALE PLUS DENSE
   ========================================================= */
.kip-page-intro-enhanced{
    position:relative;
    overflow:hidden;
    padding:42px 0 40px;
    background:
        radial-gradient(circle at 78% 22%,rgba(238,0,6,.055),transparent 28%),
        #0d0e13;
    border-top:1px solid rgba(255,255,255,.045);
    border-bottom:1px solid rgba(255,255,255,.055);
}

.kip-page-intro-enhanced::before{
    content:none;
    display:none;
}

.kip-page-intro-enhanced .kip-page-shell{
    position:relative;
    z-index:2;
}

.kip-page-intro-enhanced .kip-section-label{
    margin-bottom:22px;
}

.kip-page-intro-enhanced .kip-page-intro-grid{
    grid-template-columns:minmax(340px,.92fr) minmax(500px,1.08fr);
    gap: 0;
    align-items:center;
}

.kip-page-intro-enhanced h2{
    max-width:650px;
    font-size:clamp(52px,4.9vw,82px);
    line-height:.9;
}

.kip-page-intro-content{
    min-width:0;
}

.kip-page-intro-enhanced .kip-page-intro-content>p{
    max-width:720px;
    margin:0;
    color:#b6b7bd;
    font-size:16px;
    line-height:1.8;
}

.kip-page-intro-metrics{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-top:34px;
    border-top:1px solid rgba(255,255,255,.11);
    border-bottom:1px solid rgba(255,255,255,.08);
}

.kip-page-intro-metric{
    position:relative;
    min-width:0;
    padding:24px 22px 23px 0;
}

.kip-page-intro-metric:not(:last-child){
    margin-right:22px;
    border-right:1px solid rgba(255,255,255,.09);
}

.kip-page-intro-metric strong,
.kip-page-intro-metric span,
.kip-page-intro-metric small{
    display:block;
}

.kip-page-intro-metric strong{
    margin-bottom:5px;
    color:#ee0006;
    font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
    font-size:clamp(35px,3vw,52px);
    font-style:italic;
    line-height:.9;
    letter-spacing:-.025em;
}

.kip-page-intro-metric span{
    color:#fff;
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.kip-page-intro-metric small{
    margin-top:7px;
    max-width:165px;
    color:#787a82;
    font-size:10px;
    line-height:1.45;
}

.kip-page-intro-link{
    width:fit-content;
    margin-top:28px;
    padding-bottom:9px;
    display:inline-flex;
    align-items:center;
    gap:28px;
    color:#ee0006;
    border-bottom:2px solid #ee0006;
    font-size:10px;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
    transition:color .2s ease,gap .2s ease,border-color .2s ease;
}

.kip-page-intro-link:hover{
    gap:36px;
    color:#fff;
    border-color:#fff;
}

.kip-activities-archive{
    scroll-margin-top:90px;
}

@media(max-width:1050px){
    .kip-page-intro-enhanced{
        padding:40px 0 38px;
    }
    .kip-page-intro-enhanced .kip-page-intro-grid{
        grid-template-columns:minmax(300px,.86fr) minmax(0,1.14fr);
        gap:48px;
    }
    .kip-page-intro-metric{
        padding-right:14px;
    }
    .kip-page-intro-metric:not(:last-child){
        margin-right:14px;
    }
}

@media(max-width:760px){
    .kip-page-intro-enhanced{
        padding:38px 0 34px;
    }
    .kip-page-intro-enhanced .kip-page-intro-grid{
        grid-template-columns:1fr;
        gap:26px;
    }
    .kip-page-intro-enhanced h2{
        max-width:560px;
        font-size:clamp(44px,12vw,64px);
    }
    .kip-page-intro-enhanced .kip-page-intro-content>p{
        font-size:14px;
        line-height:1.7;
    }
    .kip-page-intro-metrics{
        grid-template-columns:repeat(3,minmax(0,1fr));
        margin-top:28px;
    }
    .kip-page-intro-metric{
        padding:20px 10px 20px 0;
    }
    .kip-page-intro-metric:not(:last-child){
        margin-right:10px;
    }
    .kip-page-intro-metric strong{
        font-size:clamp(30px,9vw,42px);
    }
    .kip-page-intro-metric span{
        font-size:9px;
    }
    .kip-page-intro-metric small{
        font-size:9px;
    }
}

@media(max-width:480px){
    .kip-page-intro-metrics{
        grid-template-columns:1fr;
        border-bottom:0;
    }
    .kip-page-intro-metric,
    .kip-page-intro-metric:not(:last-child){
        margin:0;
        padding:17px 0;
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.08);
    }
    .kip-page-intro-metric{
        display:grid;
        grid-template-columns:92px 1fr;
        column-gap:14px;
        align-items:center;
    }
    .kip-page-intro-metric strong{
        grid-row:1 / 3;
        margin:0;
    }
    .kip-page-intro-metric small{
        margin-top:4px;
        max-width:none;
    }
}


/* =========================================================
   V11 — PAGE ACTIVITÉS : SUPPRESSION DU VIDE RÉSIDUEL
   La classe générique .kip-page-shell impose min-height:60vh
   et un padding de 110px. Dans l'intro Activités, on neutralise
   ces valeurs pour que la hauteur suive uniquement le contenu.
   ========================================================= */
.kip-page-intro-enhanced .kip-page-shell{
    min-height:0 !important;
    height:auto !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
}

.kip-page-intro-enhanced{
    min-height:0 !important;
    height:auto !important;
    padding-top:26px !important;
    padding-bottom:24px !important;
}

.kip-page-intro-enhanced .kip-page-intro-grid{
    margin:0 !important;
    padding:0 !important;
}

.kip-page-intro-enhanced .kip-page-intro-content,
.kip-page-intro-enhanced .kip-page-intro-link{
    margin-bottom:0 !important;
}

.kip-activities-archive{
    padding-top:24px !important;
}

@media(max-width:760px){
    .kip-page-intro-enhanced{
        padding-top:22px !important;
        padding-bottom:20px !important;
    }
    .kip-activities-archive{
        padding-top:20px !important;
    }
}

/* =========================================================
   PAGE ANNIVERSAIRES & GROUPES
   ========================================================= */
.kip-events-page{background:#0b0c11;color:#fff;overflow:hidden}.kip-events-shell{width:min(1500px,calc(100% - 10vw));margin:0 auto}.kip-events-hero{position:relative;min-height:620px;display:flex;align-items:center;background:var(--kip-events-hero) center/cover no-repeat;isolation:isolate}.kip-events-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,13,.94) 0%,rgba(8,9,13,.76) 48%,rgba(8,9,13,.36) 100%);z-index:-1}.kip-events-hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 72% 44%,rgba(238,0,6,.16),transparent 24%);z-index:-1}.kip-events-hero-inner{width:min(720px,90%);margin-left:clamp(28px,8vw,150px);padding:90px 0}.kip-events-hero h1{margin:18px 0 24px;font-size:clamp(58px,6.5vw,112px);line-height:.8;letter-spacing:-.06em;font-weight:950;font-style:italic;text-transform:uppercase}.kip-events-hero h1 span,.kip-events-hero h1 strong{display:block}.kip-events-hero h1 strong{color:#ee0006}.kip-events-hero p{max-width:620px;margin:0 0 30px;color:#c8c8ce;font-size:16px;line-height:1.7}.kip-events-intro{padding:62px 0 0px;background:#0d0e13}.kip-events-intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:end;margin:58px 0 62px}.kip-events-intro h2,.kip-events-process h2,.kip-events-final h2{margin:0;font-size:clamp(42px,4.6vw,78px);line-height:.9;font-weight:950;font-style:italic;letter-spacing:-.05em;text-transform:uppercase}.kip-events-intro-grid>p{margin:0;color:#a9aab0;font-size:16px;line-height:1.8;max-width:620px}.kip-events-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.kip-event-card{position:relative;min-height:340px;padding:38px;display:flex;flex-direction:column;justify-content:flex-end;background:#12131a;border:1px solid rgba(255,255,255,.1);overflow:hidden;transition:transform .25s ease,border-color .25s ease}.kip-event-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.72) 72%,rgba(0,0,0,.9) 100%),var(--card-bg);background-size:cover;background-position:center;opacity:.62;z-index:0;transition:transform .5s ease,opacity .3s ease}.kip-event-card-birthday{--card-bg:url('../images/bowling.png')}.kip-event-card-groups{--card-bg:url('../images/laser.png')}.kip-event-card>*{position:relative;z-index:1}.kip-event-card:hover{transform:translateY(-5px);border-color:rgba(238,0,6,.65)}.kip-event-card:hover::before{transform:scale(1.04);opacity:.75}.kip-event-index{position:absolute;top:26px;right:28px;color:#ee0006;font-size:14px;font-weight:900}.kip-event-card h3{margin:0 0 14px;font-size:clamp(30px,3vw,52px);line-height:.95;font-style:italic;font-weight:950;text-transform:uppercase}.kip-event-card p{max-width:560px;margin:0 0 24px;color:#d0d0d4;font-size:14px;line-height:1.65}.kip-event-card a{width:max-content;color:#ee0006;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid #ee0006;padding-bottom:7px}.kip-events-process{padding:52px 0;background:#090a0f;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}.kip-events-process-head{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end;margin:18px 0 48px}.kip-events-process h2 strong{color:#ee0006}.kip-events-process-head p{margin:0;color:#999ba3;font-size:15px;line-height:1.7}.kip-events-steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.kip-events-steps article{padding:34px 34px 38px;border-right:1px solid rgba(255,255,255,.1)}.kip-events-steps article:last-child{border-right:0}.kip-events-steps span{display:block;color:#ee0006;font-size:36px;font-style:italic;font-weight:950}.kip-events-steps h3{margin:9px 0 8px;font-size:18px;font-weight:900}.kip-events-steps p{margin:0;color:#8f9097;font-size:13px;line-height:1.55}.kip-events-final{padding:70px 0;background:linear-gradient(120deg,#101117,#0a0b10)}.kip-events-final .kip-events-shell{display:flex;justify-content:space-between;align-items:end;gap:50px}.kip-events-final h2{font-size:clamp(38px,4vw,66px);max-width:850px;margin:12px 0}.kip-events-final p{margin:0;color:#9b9ca3;max-width:760px;font-size:14px;line-height:1.65}
@media(max-width:1000px){.kip-events-hero{min-height:560px}.kip-events-intro-grid,.kip-events-process-head{grid-template-columns:1fr;gap:24px}.kip-events-cards{grid-template-columns:1fr 1fr}.kip-events-steps{grid-template-columns:1fr}.kip-events-steps article{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.kip-events-steps article:last-child{border-bottom:0}.kip-events-final .kip-events-shell{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.kip-events-shell{width:calc(100% - 40px)}.kip-events-hero{min-height:580px}.kip-events-hero-inner{margin-left:20px;padding:70px 0}.kip-events-hero h1{font-size:clamp(50px,15vw,72px)}.kip-events-hero p{font-size:14px}.kip-events-intro,.kip-events-process{padding:62px 0}.kip-events-cards{grid-template-columns:1fr}.kip-event-card{min-height:300px;padding:28px}.kip-events-final{padding:54px 0}}

/* =========================================================
   V13 — PAGE ÉVÉNEMENTS : BLOCS ÉDITORIAUX PLUS DENSES
   Rend les textes de droite intentionnels et premium,
   sans changer le contenu géré par KIP Manager.
   ========================================================= */

@media (min-width: 1001px) {
  .kip-events-intro-grid,
  .kip-events-process-head {
    align-items: stretch;
    gap: clamp(46px, 5vw, 82px);
  }

  .kip-events-intro-grid > p,
  .kip-events-process-head > p {
    position: relative;
    align-self: stretch;
    min-height: 210px;
    margin: 0;
    padding: 40px 48px 38px 54px;
    display: flex;
    align-items: center;
    color: #d5d6da;
    font-size: 17px;
    line-height: 1.8;
    background:
      radial-gradient(circle at 12% 18%, rgba(238,0,6,.13), transparent 28%),
      repeating-linear-gradient(-55deg, rgba(255,255,255,.018) 0 1px, transparent 1px 13px),
      linear-gradient(135deg, #13141b 0%, #0e0f15 100%);
    border: 1px solid rgba(255,255,255,.09);
    border-left: 0;
    overflow: hidden;
    clip-path: polygon(0 0, 100% 0, calc(100% - 24px) 100%, 0 100%);
  }

  .kip-events-intro-grid > p::before,
  .kip-events-process-head > p::before {
    content: "";
    position: absolute;
    left: 0;
    top: 28px;
    bottom: 28px;
    width: 4px;
    background: #ee0006;
  }

  .kip-events-intro-grid > p::after,
  .kip-events-process-head > p::after {
    content: "";
    position: absolute;
    right: -58px;
    bottom: -66px;
    width: 180px;
    height: 180px;
    border: 1px solid rgba(238,0,6,.12);
    border-radius: 50%;
    box-shadow:
      0 0 0 30px rgba(238,0,6,.025),
      0 0 0 62px rgba(255,255,255,.012);
    pointer-events: none;
  }

  .kip-events-process-head > p {
    min-height: 190px;
    background:
      radial-gradient(circle at 88% 22%, rgba(238,0,6,.12), transparent 29%),
      repeating-linear-gradient(55deg, rgba(255,255,255,.018) 0 1px, transparent 1px 13px),
      linear-gradient(135deg, #111219 0%, #0d0e13 100%);
  }
}

@media (max-width: 1000px) {
  .kip-events-intro-grid > p,
  .kip-events-process-head > p {
    position: relative;
    margin: 0;
    padding: 24px 26px 24px 32px;
    color: #d0d1d5;
    font-size: 15px;
    line-height: 1.7;
    background: linear-gradient(135deg, rgba(238,0,6,.07), rgba(255,255,255,.025));
    border: 1px solid rgba(255,255,255,.08);
  }

  .kip-events-intro-grid > p::before,
  .kip-events-process-head > p::before {
    content: "";
    position: absolute;
    left: 0;
    top: 18px;
    bottom: 18px;
    width: 3px;
    background: #ee0006;
  }
}

/* =========================================================
   V14 — ÉVÉNEMENTS : BLOCS ÉDITORIAUX SANS DÉBORDEMENT
   ========================================================= */

.kip-events-intro,
.kip-events-process {
  overflow: hidden !important;
}

/* Si WordPress génère un paragraphe vide, on ne lui applique jamais la carte. */
.kip-events-intro-grid > p:empty,
.kip-events-process-head > p:empty {
  display: none !important;
}

@media (min-width: 1001px) {
  .kip-events-intro-grid,
  .kip-events-process-head {
    align-items: center !important;
  }

  .kip-events-intro-grid > p:not(:empty),
  .kip-events-process-head > p:not(:empty) {
    align-self: center !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 34px 46px 34px 54px !important;
    overflow: hidden !important;
  }

  .kip-events-intro-grid > p:not(:empty)::before,
  .kip-events-process-head > p:not(:empty)::before {
    top: 24px !important;
    bottom: 24px !important;
  }

  /* La décoration reste strictement à l'intérieur du bloc. */
  .kip-events-intro-grid > p:not(:empty)::after,
  .kip-events-process-head > p:not(:empty)::after {
    right: -42px !important;
    bottom: -48px !important;
    width: 140px !important;
    height: 140px !important;
  }
}

/* =========================================================
   V15 — PAGE OFFRES
   ========================================================= */
.kip-offers-page {
  background: #0b0c11;
  color: #fff;
  overflow: hidden;
}

.kip-offers-hero {
  position: relative;
  min-height: 650px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(7,8,12,.94) 0%, rgba(7,8,12,.83) 43%, rgba(7,8,12,.38) 72%, rgba(7,8,12,.2) 100%),
    var(--kip-offers-hero) center/cover no-repeat;
}

.kip-offers-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 76% 42%, rgba(238,0,6,.18), transparent 24%),
    linear-gradient(180deg, transparent 70%, rgba(7,8,12,.78));
}

.kip-offers-hero-inner {
  position: relative;
  z-index: 2;
  width: min(760px, 88vw);
  margin-left: clamp(28px, 6vw, 110px);
  padding: 110px 0 90px;
}

.kip-offers-hero h1 {
  margin: 18px 0 28px;
  max-width: 780px;
  font-size: clamp(58px, 6vw, 110px);
  line-height: .82;
  letter-spacing: -.055em;
  font-weight: 950;
  font-style: italic;
  text-transform: uppercase;
}

.kip-offers-hero h1 span,
.kip-offers-hero h1 strong {
  display: block;
}

.kip-offers-hero h1 strong { color: #ee0006; }

.kip-offers-hero p {
  max-width: 640px;
  margin: 0 0 30px;
  color: #c6c8cf;
  font-size: 16px;
  line-height: 1.75;
}

.kip-offers-hero-stamp {
  position: absolute;
  z-index: 2;
  right: clamp(26px, 5vw, 90px);
  bottom: 56px;
  text-align: right;
  transform: rotate(-2deg);
}

.kip-offers-hero-stamp span {
  display: block;
  margin-bottom: 4px;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.kip-offers-hero-stamp strong {
  color: #ee0006;
  font-size: clamp(20px, 2.2vw, 38px);
  font-style: italic;
  font-weight: 950;
  text-transform: uppercase;
}

.kip-offers-shell {
  width: min(1540px, calc(100% - 80px));
  margin: 0 auto;
}

.kip-offers-list {
  padding: 40px 0 20px;
  background:
    radial-gradient(circle at 88% 12%, rgba(238,0,6,.055), transparent 28%),
    #0d0e13;
}

.kip-offers-head {
  display: block;
  margin-bottom: 68px;
}

.kip-offers-head h2 {
  margin: 12px 0 0;
  max-width: 850px;
  font-size: clamp(44px, 4.5vw, 78px);
  line-height: .9;
  letter-spacing: -.04em;
  font-weight: 950;
  font-style: italic;
  text-transform: uppercase;
}

.kip-offers-head > p {
  display: none;
}

.kip-offers-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.kip-offer-card {
  min-width: 0;
  background: #12131a;
  border: 1px solid rgba(255,255,255,.09);
  overflow: hidden;
  transition: transform .28s ease, border-color .28s ease;
}

.kip-offer-card:hover {
  transform: translateY(-7px);
  border-color: rgba(238,0,6,.62);
}

.kip-offer-card.is-featured {
  grid-column: span 2;
  display: block;
}

.kip-offer-media {
  position: relative;
  height: 220px;
  min-height: 0;
  overflow: hidden;
  background: #090a0f;
}

.kip-offer-card.is-featured .kip-offer-media { height: 300px; min-height: 0; }

.kip-offer-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.54));
}

.kip-offer-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
  transition: transform .55s ease, filter .55s ease;
}

.kip-offer-card:hover .kip-offer-media img {
  transform: scale(1.055);
  filter: saturate(1.08) brightness(1.06);
}

.kip-offer-index {
  position: absolute;
  z-index: 2;
  right: 18px;
  top: 16px;
  color: rgba(255,255,255,.75);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
}

.kip-offer-body {
  position: relative;
  padding: 24px 26px 28px;
}

.kip-offer-body::before {
  content: "";
  position: absolute;
  left: 28px;
  top: 0;
  width: 76px;
  height: 3px;
  background: #ee0006;
}

.kip-offer-badge {
  display: inline-block;
  margin-bottom: 12px;
  color: #aeb0b7;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.kip-offer-body h3 {
  margin: 0 0 10px;
  font-size: clamp(24px, 2.2vw, 38px);
  line-height: .95;
  font-weight: 950;
  font-style: italic;
  text-transform: uppercase;
}

.kip-offer-value {
  display: block;
  margin-bottom: 16px;
  color: #ee0006;
  font-size: clamp(28px, 2.5vw, 46px);
  line-height: 1;
  font-weight: 950;
  font-style: italic;
  text-transform: uppercase;
}

.kip-offer-description {
  margin: 0 0 16px;
  color: #c7c9d0;
  font-size: 14px;
  line-height: 1.65;
}

.kip-offer-validity {
  display: block;
  margin: 0 0 8px;
  color: #fff;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.kip-offer-conditions {
  display: block;
  margin: 0 0 22px;
  color: #7f8189;
  font-size: 10px;
  line-height: 1.5;
}

.kip-offer-link {
  display: inline-flex;
  align-items: center;
  gap: 22px;
  padding-bottom: 7px;
  color: #ee0006;
  border-bottom: 2px solid #ee0006;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.kip-offer-link span:last-child { transition: transform .2s ease; }
.kip-offer-link:hover span:last-child { transform: translateX(5px); }

.kip-offers-empty {
  padding: 70px 40px;
  text-align: center;
  background: #111219;
  border: 1px solid rgba(255,255,255,.08);
}

.kip-offers-empty > span {
  color: #ee0006;
  font-weight: 950;
  letter-spacing: .12em;
}

.kip-offers-empty h3 {
  margin: 18px auto 12px;
  max-width: 760px;
  font-size: clamp(34px, 4vw, 62px);
  line-height: .95;
  font-style: italic;
  font-weight: 950;
  text-transform: uppercase;
}

.kip-offers-empty p {
  max-width: 620px;
  margin: 0 auto 28px;
  color: #9fa1a9;
  line-height: 1.6;
}

.kip-offers-how {
  padding: 50px 0 50px;
  background: #090a0f;
  border-top: 1px solid rgba(255,255,255,.07);
  border-bottom: 1px solid rgba(255,255,255,.07);
}

.kip-offers-how-grid {
  display: grid;
  grid-template-columns: 1.15fr repeat(3, .72fr);
  margin-top: 28px;
  border-top: 1px solid rgba(255,255,255,.10);
  border-bottom: 1px solid rgba(255,255,255,.10);
}

.kip-offers-how-grid > * {
  min-width: 0;
  padding: 34px 30px 32px;
  border-right: 1px solid rgba(255,255,255,.10);
}

.kip-offers-how-grid > *:last-child { border-right: 0; }

.kip-offers-how-title h2 {
  margin: 0;
  font-size: clamp(36px, 3.4vw, 58px);
  line-height: .9;
  font-weight: 950;
  font-style: italic;
  text-transform: uppercase;
}

.kip-offers-how-title h2 strong { color: #ee0006; }

.kip-offers-how-grid article > span {
  display: block;
  margin-bottom: 20px;
  color: #ee0006;
  font-size: 38px;
  line-height: 1;
  font-weight: 950;
  font-style: italic;
}

.kip-offers-how-grid article h3 {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 900;
  text-transform: uppercase;
}

.kip-offers-how-grid article p {
  margin: 0;
  color: #8f9199;
  font-size: 12px;
  line-height: 1.6;
}

.kip-offers-final {
  padding: 82px 0;
  background:
    linear-gradient(110deg, rgba(238,0,6,.12), transparent 42%),
    #0d0e13;
}

.kip-offers-final .kip-offers-shell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
}

.kip-offers-final h2 {
  margin: 12px 0 12px;
  max-width: 850px;
  font-size: clamp(42px, 4.6vw, 78px);
  line-height: .9;
  font-style: italic;
  font-weight: 950;
  text-transform: uppercase;
}

.kip-offers-final p {
  max-width: 680px;
  margin: 0;
  color: #9ea0a8;
  line-height: 1.6;
}

@media (max-width: 1100px) {
  .kip-offers-head { grid-template-columns: 1fr; gap: 26px; }
  .kip-offers-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .kip-offer-card.is-featured { grid-column: 1 / -1; }
  .kip-offers-how-grid { grid-template-columns: 1fr 1fr; }
  .kip-offers-how-grid > * { border-bottom: 1px solid rgba(255,255,255,.10); }
  .kip-offers-how-grid > *:nth-child(2n) { border-right: 0; }
}

@media (max-width: 782px) {
  .kip-offers-hero { min-height: 590px; }
  .kip-offers-hero-inner { margin-left: 22px; padding: 90px 0 70px; }
  .kip-offers-hero h1 { font-size: clamp(48px, 14vw, 72px); }
  .kip-offers-hero p { max-width: calc(100vw - 44px); font-size: 14px; }
  .kip-offers-hero-stamp { display: none; }
  .kip-offers-shell { width: min(100% - 36px, 1540px); }
  .kip-offers-list { padding: 64px 0 72px; }
  .kip-offers-grid { grid-template-columns: 1fr; }
  .kip-offer-card.is-featured { display: block; grid-column: auto; }
  .kip-offer-media { height: 220px; }
  .kip-offer-media img { min-height: 0; }
  .kip-offers-head h2 { font-size: clamp(40px, 11vw, 58px); }
  .kip-offers-how { padding: 64px 0 68px; }
  .kip-offers-how-grid { grid-template-columns: 1fr; }
  .kip-offers-how-grid > * { border-right: 0; }
  .kip-offers-final { padding: 64px 0; }
  .kip-offers-final .kip-offers-shell { flex-direction: column; align-items: flex-start; gap: 28px; }
  .kip-offers-final .kip-button { width: 100%; }
}

/* =========================================================
   V16 — OFFRES : EN-TÊTE PUBLIC NET + VISUELS COMPACTS
   ========================================================= */
@media (max-width: 1100px) {
  .kip-offer-card.is-featured .kip-offer-media { height: 250px; }
}

@media (max-width: 720px) {
  .kip-offers-head { margin-bottom: 28px; }
  .kip-offer-card.is-featured .kip-offer-media,
  .kip-offer-media { height: 220px; }
}

/* =========================================================
   PAGE INFOS PRATIQUES — V17
   Scope volontairement isolé : aucune autre page n'est modifiée.
   ========================================================= */
.kip-practical-page{
    background:#0b0c11;
    color:#fff;
    overflow:hidden;
}

.kip-practical-shell{
    width:min(1500px, calc(100% - 10vw));
    margin:0 auto;
}

/* HERO */
.kip-practical-hero{
    position:relative;
    min-height:620px;
    display:flex;
    align-items:center;
    isolation:isolate;
    overflow:hidden;
    background:#090a0f;
}

.kip-practical-hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-3;
    background-image:var(--kip-practical-hero);
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    transform:scale(1.015);
}

.kip-practical-hero::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;
    background:
        linear-gradient(90deg, rgba(5,6,9,.96) 0%, rgba(5,6,9,.88) 37%, rgba(5,6,9,.42) 68%, rgba(5,6,9,.62) 100%),
        linear-gradient(180deg, rgba(5,6,9,.12), rgba(5,6,9,.74));
}

.kip-practical-hero-inner{
    width:min(1500px, calc(100% - 10vw));
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0, 780px) 1fr;
    gap:70px;
    align-items:center;
    padding:110px 0 95px;
}

.kip-practical-hero-copy{
    max-width:760px;
}

.kip-practical-hero h1{
    margin:18px 0 28px;
    font-size:clamp(58px, 6.2vw, 104px);
    line-height:.82;
    font-weight:950;
    font-style:italic;
    letter-spacing:-.055em;
    text-transform:uppercase;
}

.kip-practical-hero h1 span,
.kip-practical-hero h1 strong{
    display:block;
}

.kip-practical-hero h1 strong{
    color:#ee0006;
}

.kip-practical-hero-copy>p{
    max-width:610px;
    margin:0 0 34px;
    color:#c7c7cc;
    font-size:17px;
    line-height:1.7;
}

.kip-practical-hero-card{
    justify-self:end;
    width:min(100%, 390px);
    padding:28px 30px;
    background:rgba(11,12,17,.82);
    border:1px solid rgba(255,255,255,.12);
    border-left:4px solid #ee0006;
    backdrop-filter:blur(12px);
    box-shadow:0 24px 70px rgba(0,0,0,.35);
    clip-path:polygon(0 0,100% 0,calc(100% - 18px) 100%,0 100%);
}

.kip-practical-hero-card span{
    display:block;
    margin-bottom:8px;
    color:#8d8e96;
    font-size:10px;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.kip-practical-hero-card strong{
    display:block;
    font-size:24px;
    line-height:1.05;
    font-style:italic;
    text-transform:uppercase;
}

.kip-practical-hero-card a{
    display:inline-flex;
    margin-top:20px;
    color:#ee0006;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

/* QUICK INFO */
.kip-practical-quick{
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
    background:#0f1016;
}

.kip-practical-quick-grid{
    width:min(1500px, 100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4,1fr);
}

.kip-practical-quick article{
    min-height:122px;
    padding:27px clamp(22px,3vw,42px);
    display:grid;
    grid-template-columns:34px 1fr;
    gap:14px;
    align-items:center;
    border-right:1px solid rgba(255,255,255,.08);
}

.kip-practical-quick article:last-child{border-right:0}

.kip-practical-icon{
    width:30px;
    height:30px;
    color:#fff;
}

.kip-practical-icon svg{
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.kip-practical-quick strong,
.kip-practical-quick span{
    display:block;
}

.kip-practical-quick strong{
    margin-bottom:5px;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}

.kip-practical-quick span{
    color:#8f9098;
    font-size:12px;
    line-height:1.45;
}

/* PREPARER LA VENUE */
.kip-practical-visit{
    padding:70px 0 0px;
    background:
        radial-gradient(circle at 78% 35%, rgba(238,0,6,.055), transparent 28%),
        #0b0c11;
}

.kip-practical-visit-head{
    display:grid;
    grid-template-columns:minmax(0, 620px) minmax(0, 1fr);
    gap:90px;
    align-items:end;
    margin-bottom:50px;
}

.kip-practical-visit h2,
.kip-practical-faq h2,
.kip-practical-final h2{
    margin:14px 0 0;
    font-size:clamp(44px,4.7vw,78px);
    line-height:.88;
    font-weight:950;
    font-style:italic;
    letter-spacing:-.05em;
    text-transform:uppercase;
}

.kip-practical-visit h2 strong,
.kip-practical-final h2 strong{
    color:#ee0006;
}

.kip-practical-visit-head>p{
    max-width:650px;
    margin:0 0 6px;
    color:#a5a6ad;
    font-size:16px;
    line-height:1.7;
}

.kip-practical-visit-grid{
    display:grid;
    grid-template-columns:minmax(360px,.9fr) minmax(0,1.5fr);
    gap:22px;
    align-items:stretch;
}

.kip-practical-tips{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
}

.kip-practical-tip{
    position:relative;
    padding:27px 28px 28px;
    background:#111218;
    border:1px solid rgba(255,255,255,.09);
    overflow:hidden;
}

.kip-practical-tip::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:3px;
    height:100%;
    background:#ee0006;
}

.kip-practical-tip small{
    display:block;
    margin-bottom:9px;
    color:#ee0006;
    font-size:9px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.kip-practical-tip h3{
    margin:0 0 9px;
    font-size:20px;
    font-weight:950;
    font-style:italic;
    text-transform:uppercase;
}

.kip-practical-tip p{
    margin:0;
    color:#999aa2;
    font-size:13px;
    line-height:1.55;
}

.kip-practical-map{
    position:relative;
    min-height:530px;
    overflow:hidden;
    background:#11151d;
    clip-path:polygon(5% 0,100% 0,100% 100%,0 100%);
}

.kip-practical-map iframe{
    position:absolute;
    inset:-5%;
    width:110%;
    height:110%;
    border:0;
    pointer-events:none;
    opacity:.58;
    filter:grayscale(1) invert(.93) sepia(.08) saturate(.35) brightness(.38) contrast(1.35);
}

.kip-practical-map::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(90deg,rgba(7,9,14,.62),rgba(7,9,14,.04) 35%,rgba(7,9,14,.12)),
        radial-gradient(circle at 58% 45%,rgba(238,0,6,.10),transparent 20%);
}

.kip-practical-map-pin{
    position:absolute;
    z-index:3;
    left:60%;
    top:44%;
    width:40px;
    height:50px;
    border-radius:50% 50% 50% 0;
    background:#ee0006;
    rotate:-45deg;
    filter:drop-shadow(0 8px 18px rgba(0,0,0,.45));
}

.kip-practical-map-pin::after{
    content:"";
    position:absolute;
    left:50%;top:50%;
    width:13px;height:13px;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:#0b0c11;
}

.kip-practical-map-card{
    position:absolute;
    z-index:4;
    left:44px;
    bottom:38px;
    width:min(440px,calc(100% - 88px));
    padding:24px 26px;
    background:rgba(9,10,15,.92);
    border:1px solid rgba(255,255,255,.11);
    backdrop-filter:blur(10px);
}

.kip-practical-map-card span{
    display:block;
    color:#868791;
    font-size:10px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.kip-practical-map-card strong{
    display:block;
    margin:8px 0 18px;
    font-size:20px;
    line-height:1.15;
    text-transform:uppercase;
}

.kip-practical-map-card a{
    color:#ee0006;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

/* FAQ */
.kip-practical-faq{
    padding:50px 0;
    background:#090a0f;
    border-top:1px solid rgba(255,255,255,.07);
}

.kip-practical-faq-head{
    display:grid;
    grid-template-columns:minmax(0,560px) 1fr;
    gap:90px;
    align-items:end;
    margin-bottom:45px;
}

.kip-practical-faq-head>p{
    max-width:620px;
    margin:0 0 5px;
    color:#93949d;
    font-size:15px;
    line-height:1.7;
}

.kip-practical-faq-list{
    border-top:1px solid rgba(255,255,255,.10);
}

.kip-practical-faq details{
    border-bottom:1px solid rgba(255,255,255,.10);
}

.kip-practical-faq summary{
    position:relative;
    padding:24px 58px 24px 0;
    cursor:pointer;
    list-style:none;
    font-size:15px;
    font-weight:900;
    text-transform:uppercase;
}

.kip-practical-faq summary::-webkit-details-marker{display:none}

.kip-practical-faq summary::after{
    content:"+";
    position:absolute;
    right:8px;
    top:50%;
    transform:translateY(-50%);
    color:#ee0006;
    font-size:25px;
    font-weight:500;
}

.kip-practical-faq details[open] summary::after{content:"−"}

.kip-practical-faq details p{
    max-width:900px;
    margin:-6px 0 25px;
    color:#9b9ca4;
    font-size:14px;
    line-height:1.65;
}

/* CTA FINAL */
.kip-practical-final{
    padding:88px 0;
    background:
        linear-gradient(120deg,rgba(238,0,6,.09),transparent 42%),
        #111217;
    border-top:1px solid rgba(255,255,255,.08);
}

.kip-practical-final .kip-practical-shell{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:70px;
}

.kip-practical-final h2{
    max-width:800px;
    font-size:clamp(42px,4.2vw,68px);
}

.kip-practical-final p{
    max-width:620px;
    margin:17px 0 0;
    color:#9b9ca4;
    font-size:14px;
    line-height:1.65;
}

@media (max-width:1100px){
    .kip-practical-hero-inner{grid-template-columns:1fr;gap:34px;padding:90px 0 75px}
    .kip-practical-hero-card{justify-self:start}
    .kip-practical-quick-grid{grid-template-columns:repeat(2,1fr)}
    .kip-practical-quick article:nth-child(2){border-right:0}
    .kip-practical-quick article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.08)}
    .kip-practical-visit-head,.kip-practical-faq-head{grid-template-columns:1fr;gap:24px}
    .kip-practical-visit-grid{grid-template-columns:1fr}
    .kip-practical-map{min-height:480px;clip-path:none}
}

@media (max-width:720px){
    .kip-practical-shell,.kip-practical-hero-inner{width:calc(100% - 40px)}
    .kip-practical-hero{min-height:560px}
    .kip-practical-hero-inner{padding:70px 0 60px}
    .kip-practical-hero h1{font-size:clamp(48px,14vw,68px)}
    .kip-practical-hero-copy>p{font-size:14px}
    .kip-practical-hero-card{width:100%}
    .kip-practical-quick-grid{grid-template-columns:1fr}
    .kip-practical-quick article{min-height:95px;border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}
    .kip-practical-quick article:last-child{border-bottom:0}
    .kip-practical-visit,.kip-practical-faq{padding:70px 0}
    .kip-practical-map{min-height:400px}
    .kip-practical-map-pin{left:61%;top:38%}
    .kip-practical-map-card{left:18px;bottom:18px;width:calc(100% - 36px)}
    .kip-practical-final{padding:65px 0}
    .kip-practical-final .kip-practical-shell{display:block}
    .kip-practical-final .kip-button{margin-top:28px;width:100%}
}

/* =========================================================
   V18 — INFOS PRATIQUES : BARRE & BLOCS EDITORIAUX
   Uniquement la page /infos-pratiques/
   ========================================================= */

/* Barre d'informations essentielles : plus compacte et lisible */
.kip-practical-page .kip-practical-quick{
    padding:18px clamp(22px,5vw,80px);
    background:
        linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,0)),
        #0d0e14;
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
}

.kip-practical-page .kip-practical-quick-grid{
    width:min(1500px,100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
    border:1px solid rgba(255,255,255,.09);
    background:#101117;
}

.kip-practical-page .kip-practical-quick article{
    position:relative;
    min-width:0;
    min-height:88px;
    padding:18px 24px;
    display:flex;
    align-items:center;
    gap:15px;
    border:0;
    border-right:1px solid rgba(255,255,255,.08);
    background:transparent;
    overflow:hidden;
}

.kip-practical-page .kip-practical-quick article:last-child{
    border-right:0;
}

.kip-practical-page .kip-practical-quick article::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:42px;
    height:2px;
    background:#ee0006;
}

.kip-practical-page .kip-practical-quick article>div{
    min-width:0;
    flex:1 1 auto;
}

.kip-practical-page .kip-practical-icon{
    flex:0 0 31px;
    width:31px;
    height:31px;
    color:#d9dae0;
    opacity:.92;
}

.kip-practical-page .kip-practical-quick strong{
    display:block;
    margin:0 0 4px;
    color:#fff;
    font-size:13px;
    line-height:1.25;
    font-weight:900;
    letter-spacing:.015em;
    text-transform:uppercase;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.kip-practical-page .kip-practical-quick span:not(.kip-practical-icon){
    display:block;
    color:#9a9ba4;
    font-size:12px;
    line-height:1.35;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* Les phrases d'introduction deviennent de vrais blocs éditoriaux */
.kip-practical-page .kip-practical-visit-head,
.kip-practical-page .kip-practical-faq-head{
    align-items:center;
    gap:clamp(42px,6vw,90px);
}

.kip-practical-page .kip-practical-visit-head>p,
.kip-practical-page .kip-practical-faq-head>p{
    position:relative;
    width:min(100%,660px);
    max-width:660px;
    margin:0;
    padding:48px 34px 28px 36px;
    color:#d0d1d6;
    font-size:16px;
    line-height:1.7;
    background:
        linear-gradient(135deg,rgba(238,0,6,.09),rgba(17,18,24,.96) 38%,rgba(13,14,19,.96));
    border:1px solid rgba(255,255,255,.09);
    border-left:3px solid #ee0006;
    clip-path:polygon(0 0,100% 0,calc(100% - 16px) 100%,0 100%);
    box-shadow:0 18px 45px rgba(0,0,0,.18);
    overflow:hidden;
}

.kip-practical-page .kip-practical-visit-head>p::before,
.kip-practical-page .kip-practical-faq-head>p::before{
    position:absolute;
    left:34px;
    top:18px;
    color:#ee0006;
    font-size:9px;
    line-height:1;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.kip-practical-page .kip-practical-visit-head>p::before{
    content:"/// EN QUELQUES MOTS";
}

.kip-practical-page .kip-practical-faq-head>p::before{
    content:"/// AVANT VOTRE VENUE";
}

.kip-practical-page .kip-practical-visit-head>p::after,
.kip-practical-page .kip-practical-faq-head>p::after{
    content:"";
    position:absolute;
    right:-40px;
    bottom:-55px;
    width:140px;
    height:140px;
    border:1px solid rgba(238,0,6,.12);
    border-radius:50%;
    pointer-events:none;
}

@media(max-width:1100px){
    .kip-practical-page .kip-practical-quick-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .kip-practical-page .kip-practical-quick article:nth-child(2){
        border-right:0;
    }

    .kip-practical-page .kip-practical-quick article:nth-child(-n+2){
        border-bottom:1px solid rgba(255,255,255,.08);
    }

    .kip-practical-page .kip-practical-visit-head,
    .kip-practical-page .kip-practical-faq-head{
        grid-template-columns:1fr;
        gap:24px;
        align-items:start;
    }

    .kip-practical-page .kip-practical-visit-head>p,
    .kip-practical-page .kip-practical-faq-head>p{
        width:100%;
        max-width:none;
    }
}

@media(max-width:620px){
    .kip-practical-page .kip-practical-quick{
        padding:14px 18px;
    }

    .kip-practical-page .kip-practical-quick-grid{
        grid-template-columns:1fr;
    }

    .kip-practical-page .kip-practical-quick article,
    .kip-practical-page .kip-practical-quick article:nth-child(2){
        min-height:76px;
        padding:15px 18px;
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.08);
    }

    .kip-practical-page .kip-practical-quick article:last-child{
        border-bottom:0;
    }

    .kip-practical-page .kip-practical-quick strong,
    .kip-practical-page .kip-practical-quick span:not(.kip-practical-icon){
        white-space:normal;
        overflow:visible;
        text-overflow:clip;
    }

    .kip-practical-page .kip-practical-visit-head>p,
    .kip-practical-page .kip-practical-faq-head>p{
        padding:44px 24px 24px 26px;
        font-size:14px;
        clip-path:none;
    }

    .kip-practical-page .kip-practical-visit-head>p::before,
    .kip-practical-page .kip-practical-faq-head>p::before{
        left:24px;
        top:17px;
    }
}


/* =========================================================
   V19 — PAGE CONTACT
   Scope strict : uniquement .kip-contact-page
   ========================================================= */
.kip-contact-page{
    background:#0b0c11;
    color:#fff;
    overflow:hidden;
}

.kip-contact-page .kip-contact-hero{
    position:relative;
    min-height:560px;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    background:#08090d;
}

.kip-contact-page .kip-contact-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:var(--kip-contact-hero);
    background-size:cover;
    background-position:center;
    transform:scale(1.035);
}

.kip-contact-page .kip-contact-hero::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(5,6,9,.96) 0%,rgba(5,6,9,.78) 47%,rgba(5,6,9,.30) 100%),
        linear-gradient(180deg,rgba(5,6,9,.06),rgba(5,6,9,.48));
}

.kip-contact-page .kip-contact-hero-inner{
    position:relative;
    z-index:2;
    width:min(1500px,90vw);
    margin:0 auto;
    padding:120px 0 76px;
}

.kip-contact-page .kip-contact-hero h1{
    max-width:980px;
    margin:18px 0 24px;
    font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
    font-size:clamp(64px,7vw,118px);
    line-height:.83;
    font-style:italic;
    letter-spacing:-.045em;
    text-transform:uppercase;
}

.kip-contact-page .kip-contact-hero h1 span,
.kip-contact-page .kip-contact-hero h1 strong{
    display:block;
}

.kip-contact-page .kip-contact-hero h1 strong{
    color:#ee0006;
    font-weight:inherit;
}

.kip-contact-page .kip-contact-hero p{
    max-width:640px;
    margin:0 0 28px;
    color:#c0c1c6;
    font-size:16px;
    line-height:1.7;
}

.kip-contact-page .kip-contact-shell{
    width:min(1500px,90vw);
    margin:0 auto;
}

.kip-contact-page .kip-contact-main{
    padding:82px 0 96px;
    background:
        radial-gradient(circle at 85% 18%,rgba(238,0,6,.055),transparent 28%),
        #0b0c11;
}

.kip-contact-page .kip-contact-grid{
    display:grid;
    grid-template-columns:minmax(340px,.82fr) minmax(520px,1.18fr);
    gap:clamp(48px,7vw,110px);
    align-items:start;
}

.kip-contact-page .kip-contact-intro h2{
    max-width:650px;
    margin:18px 0 22px;
    font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
    font-size:clamp(48px,4.9vw,78px);
    line-height:.9;
    font-style:italic;
    letter-spacing:-.035em;
    text-transform:uppercase;
}

.kip-contact-page .kip-contact-intro>p{
    max-width:590px;
    margin:0 0 34px;
    color:#aeb0b6;
    font-size:15px;
    line-height:1.75;
}

.kip-contact-page .kip-contact-cards{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-top:1px solid rgba(255,255,255,.10);
    border-left:1px solid rgba(255,255,255,.10);
}

.kip-contact-page .kip-contact-card{
    min-height:145px;
    padding:24px 22px;
    border-right:1px solid rgba(255,255,255,.10);
    border-bottom:1px solid rgba(255,255,255,.10);
    background:#101117;
}

.kip-contact-page .kip-contact-card svg{
    width:25px;
    height:25px;
    margin-bottom:22px;
    fill:none;
    stroke:#d7d8dc;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.kip-contact-page .kip-contact-card small,
.kip-contact-page .kip-contact-card strong,
.kip-contact-page .kip-contact-card span,
.kip-contact-page .kip-contact-card a{
    display:block;
}

.kip-contact-page .kip-contact-card small{
    margin-bottom:6px;
    color:#7f818a;
    font-size:9px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.kip-contact-page .kip-contact-card strong,
.kip-contact-page .kip-contact-card a{
    color:#fff;
    font-size:13px;
    line-height:1.45;
    font-weight:900;
}

.kip-contact-page .kip-contact-card span{
    margin-top:3px;
    color:#9b9da4;
    font-size:12px;
    line-height:1.45;
}

.kip-contact-page .kip-contact-card a:hover{color:#ee0006}

.kip-contact-page .kip-contact-form-wrap{
    position:relative;
    padding:34px;
    background:
        linear-gradient(135deg,rgba(238,0,6,.07),rgba(18,19,25,.98) 30%,rgba(14,15,20,.98));
    border:1px solid rgba(255,255,255,.10);
    border-left:3px solid #ee0006;
    clip-path:polygon(0 0,100% 0,calc(100% - 18px) 100%,0 100%);
}

.kip-contact-page .kip-contact-form-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:30px;
    margin-bottom:28px;
    padding-bottom:24px;
    border-bottom:1px solid rgba(255,255,255,.09);
}

.kip-contact-page .kip-contact-form-head h2{
    margin:8px 0 0;
    font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
    font-size:clamp(34px,3.2vw,52px);
    line-height:.92;
    font-style:italic;
    text-transform:uppercase;
}

.kip-contact-page .kip-contact-form-head p{
    max-width:280px;
    margin:0;
    color:#9799a0;
    font-size:12px;
    line-height:1.55;
}

.kip-contact-page .kip-contact-form{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.kip-contact-page .kip-contact-field{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.kip-contact-page .kip-contact-field.full{grid-column:1/-1}

.kip-contact-page .kip-contact-field label{
    color:#d5d6da;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.kip-contact-page .kip-contact-field input,
.kip-contact-page .kip-contact-field select,
.kip-contact-page .kip-contact-field textarea{
    width:100%;
    min-height:48px;
    padding:13px 14px;
    color:#fff;
    background:#0b0c11;
    border:1px solid rgba(255,255,255,.13);
    border-radius:0;
    outline:none;
    transition:border-color .2s ease,box-shadow .2s ease;
}

.kip-contact-page .kip-contact-field textarea{
    min-height:150px;
    resize:vertical;
}

.kip-contact-page .kip-contact-field input:focus,
.kip-contact-page .kip-contact-field select:focus,
.kip-contact-page .kip-contact-field textarea:focus{
    border-color:#ee0006;
    box-shadow:0 0 0 2px rgba(238,0,6,.12);
}

.kip-contact-page .kip-contact-consent{
    grid-column:1/-1;
    display:flex;
    align-items:flex-start;
    gap:10px;
    color:#8d8f96;
    font-size:11px;
    line-height:1.5;
}

.kip-contact-page .kip-contact-consent input{
    width:16px;
    height:16px;
    margin-top:1px;
    accent-color:#ee0006;
}

.kip-contact-page .kip-contact-submit{
    grid-column:1/-1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:min(100%,300px);
    min-height:54px;
    margin-top:4px;
    padding:0 24px;
    color:#fff;
    background:#ee0006;
    border:0;
    cursor:pointer;
    font-size:11px;
    font-weight:900;
    letter-spacing:.045em;
    text-transform:uppercase;
    clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);
    transition:transform .2s ease,background .2s ease;
}

.kip-contact-page .kip-contact-submit:hover{
    transform:translateY(-2px);
    background:#ff161c;
}

.kip-contact-page .kip-contact-hp{
    position:absolute!important;
    left:-9999px!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
}

.kip-contact-page .kip-contact-notice{
    grid-column:1/-1;
    margin:0 0 4px;
    padding:14px 16px;
    font-size:12px;
    line-height:1.5;
    border-left:3px solid #ee0006;
    background:#111219;
}

.kip-contact-page .kip-contact-notice.success{
    border-left-color:#49c56b;
}

.kip-contact-page .kip-contact-group-cta{
    padding:0 0 90px;
    background:#0b0c11;
}

.kip-contact-page .kip-contact-group-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    padding:32px 36px;
    background:#111218;
    border:1px solid rgba(255,255,255,.09);
    border-left:3px solid #ee0006;
}

.kip-contact-page .kip-contact-group-inner h3{
    margin:0 0 7px;
    font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
    font-size:clamp(28px,2.6vw,42px);
    line-height:.95;
    font-style:italic;
    text-transform:uppercase;
}

.kip-contact-page .kip-contact-group-inner p{
    margin:0;
    color:#92949b;
    font-size:13px;
}

@media(max-width:1050px){
    .kip-contact-page .kip-contact-grid{grid-template-columns:1fr;gap:44px}
    .kip-contact-page .kip-contact-intro{max-width:820px}
    .kip-contact-page .kip-contact-form-wrap{clip-path:none}
}

@media(max-width:720px){
    .kip-contact-page .kip-contact-hero{min-height:520px}
    .kip-contact-page .kip-contact-hero::after{background:linear-gradient(180deg,rgba(5,6,9,.45),rgba(5,6,9,.96) 78%)}
    .kip-contact-page .kip-contact-hero-inner{padding:100px 0 56px}
    .kip-contact-page .kip-contact-hero h1{font-size:clamp(52px,15vw,78px)}
    .kip-contact-page .kip-contact-main{padding:58px 0 70px}
    .kip-contact-page .kip-contact-cards{grid-template-columns:1fr}
    .kip-contact-page .kip-contact-form-wrap{padding:24px 20px}
    .kip-contact-page .kip-contact-form-head{display:block}
    .kip-contact-page .kip-contact-form-head p{margin-top:14px;max-width:none}
    .kip-contact-page .kip-contact-form{grid-template-columns:1fr}
    .kip-contact-page .kip-contact-field.full,
    .kip-contact-page .kip-contact-consent,
    .kip-contact-page .kip-contact-submit,
    .kip-contact-page .kip-contact-notice{grid-column:auto}
    .kip-contact-page .kip-contact-group-cta{padding-bottom:64px}
    .kip-contact-page .kip-contact-group-inner{display:block;padding:26px 22px}
    .kip-contact-page .kip-contact-group-inner .kip-button{margin-top:22px;width:100%}
}

/* =========================================================
   V20 — CONTACT : CARTES NETTES + ESPACEMENTS RÉDUITS
   Scope strict : uniquement la page Contact.
   ========================================================= */

/* Évite l'effet de bordure verticale qui dépasse sous une carte. */
.kip-contact-page .kip-contact-cards{
    border:0 !important;
    gap:12px !important;
}

.kip-contact-page .kip-contact-card{
    min-height:132px !important;
    height:100% !important;
    border:1px solid rgba(255,255,255,.10) !important;
    background:#101117 !important;
    overflow:hidden !important;
}

/* Le formulaire et les coordonnées restent compacts : pas de grand vide avant le CTA groupe. */
.kip-contact-page .kip-contact-main{
    padding-top:64px !important;
    padding-bottom:42px !important;
}

.kip-contact-page .kip-contact-grid{
    margin:0 !important;
    padding:0 !important;
}

.kip-contact-page .kip-contact-shell{
    min-height:0 !important;
    height:auto !important;
}

.kip-contact-page .kip-contact-group-cta{
    padding-top:0 !important;
    padding-bottom:46px !important;
    margin:0 !important;
}

.kip-contact-page .kip-contact-group-inner{
    margin:0 !important;
}

/* Empêche d'éventuels paragraphes vides générés autour du shortcode de créer de l'espace. */
.kip-contact-page p:empty{
    display:none !important;
}

@media(max-width:720px){
    .kip-contact-page .kip-contact-main{
        padding-top:48px !important;
        padding-bottom:30px !important;
    }

    .kip-contact-page .kip-contact-group-cta{
        padding-bottom:36px !important;
    }

    .kip-contact-page .kip-contact-cards{
        gap:10px !important;
    }
}

/* =========================================================
   V21 — ESPACEMENTS GLOBAUX DES PAGES
   Objectifs :
   1) Hero collé au header sur toutes les pages.
   2) Aucun espace WordPress parasite avant/après les shortcodes.
   3) Barre Infos pratiques mieux respirée, de façon symétrique.
   4) Footer collé à la dernière section, sans bande vide parasite.
   ========================================================= */

/* WordPress peut injecter du block-gap autour des blocs Shortcode / Template Part. */
.wp-site-blocks > .wp-block-shortcode,
.wp-site-blocks > .wp-block-template-part,
.wp-block-shortcode,
.wp-block-template-part {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Aucun espace entre le header et le contenu de page. */
.kip-header {
    margin-bottom: 0 !important;
}

.kip-page,
.kip-events-page,
.kip-offers-page,
.kip-practical-page,
.kip-contact-page {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.kip-page > :first-child,
.kip-events-page > :first-child,
.kip-offers-page > :first-child,
.kip-practical-page > :first-child,
.kip-contact-page > :first-child,
.kip-page-hero,
.kip-events-hero,
.kip-offers-hero,
.kip-practical-hero,
.kip-contact-page .kip-contact-hero {
    margin-top: 0 !important;
}

/* La dernière section rejoint directement le footer. */
.kip-page > :last-child,
.kip-events-page > :last-child,
.kip-offers-page > :last-child,
.kip-practical-page > :last-child,
.kip-contact-page > :last-child {
    margin-bottom: 0 !important;
}

.kip-site-footer {
    margin-top: 0 !important;
}

/* Infos pratiques : un peu plus d'air, strictement identique en haut et en bas. */
.kip-practical-page .kip-practical-quick {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
}

.kip-practical-page .kip-practical-quick article {
    min-height: 104px !important;
    padding-top: 24px !important;
    padding-bottom: 24px !important;
}

/* Contact : le CTA final ne réserve plus une bande vide avant le footer. */
.kip-contact-page .kip-contact-group-cta {
    padding-bottom: 0 !important;
}

/* Les CTA finaux des pages restent respirants à l'intérieur,
   mais sans marge externe supplémentaire avant le footer. */
.kip-events-final,
.kip-offers-final,
.kip-practical-final,
.kip-final-cta {
    margin-bottom: 0 !important;
}

@media (max-width: 720px) {
    .kip-practical-page .kip-practical-quick {
        padding-top: 16px !important;
        padding-bottom: 16px !important;
    }

    .kip-practical-page .kip-practical-quick article {
        min-height: 88px !important;
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }

    .kip-contact-page .kip-contact-group-cta {
        padding-bottom: 0 !important;
    }
}

/* =========================================================
   V22 — HERO SECONDAIRE COLLÉ AU HEADER
   Correction stricte du léger vide entre le template-part
   header / shortcode / premier hero des pages secondaires.
   ========================================================= */

/* Zéro espace WordPress entre le header et le bloc shortcode suivant. */
.wp-site-blocks > header.wp-block-template-part,
.wp-site-blocks > header.wp-block-template-part + .wp-block-shortcode,
.wp-site-blocks > .wp-block-template-part:first-child,
.wp-site-blocks > .wp-block-template-part:first-child + .wp-block-shortcode {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    padding-block-start: 0 !important;
    padding-block-end: 0 !important;
}

/* Le wrapper shortcode ne réserve aucun interligne invisible. */
.wp-site-blocks > .wp-block-shortcode {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}

/* Les pages secondaires remontent légèrement sous le header.
   Le header reste au-dessus grâce à son z-index : aucun trou ne peut apparaître. */
.wp-site-blocks > .wp-block-shortcode > .kip-page,
.wp-site-blocks > .wp-block-shortcode > .kip-events-page,
.wp-site-blocks > .wp-block-shortcode > .kip-offers-page,
.wp-site-blocks > .wp-block-shortcode > .kip-practical-page,
.wp-site-blocks > .wp-block-shortcode > .kip-contact-page {
    margin-top: -8px !important;
    padding-top: 0 !important;
}

/* Le premier hero lui-même n'a aucune marge interne/externe parasite. */
.kip-page-hero,
.kip-events-hero,
.kip-offers-hero,
.kip-practical-hero,
.kip-contact-page .kip-contact-hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Évite que la bordure basse du header simule une bande séparatrice. */
.kip-header {
    border-bottom: 0 !important;
}

@media (max-width: 782px) {
    .wp-site-blocks > .wp-block-shortcode > .kip-page,
    .wp-site-blocks > .wp-block-shortcode > .kip-events-page,
    .wp-site-blocks > .wp-block-shortcode > .kip-offers-page,
    .wp-site-blocks > .wp-block-shortcode > .kip-practical-page,
    .wp-site-blocks > .wp-block-shortcode > .kip-contact-page {
        margin-top: -4px !important;
    }
}

/* =========================================================
   V23 — HERO PAGES : IMAGE VISUELLEMENT COLLÉE AU HEADER
   Le "vide" perçu n'était pas une marge : il venait de la
   partie très sombre du haut des photos + de l'overlay.
   On recadre les fonds plus bas dans l'image pour que le
   visuel utile commence immédiatement sous le header.
   Scope : uniquement les héros des pages secondaires.
   ========================================================= */

/* Pas de décalage artificiel : le hero commence exactement après le header. */
.wp-site-blocks > .wp-block-shortcode > .kip-page,
.wp-site-blocks > .wp-block-shortcode > .kip-events-page,
.wp-site-blocks > .wp-block-shortcode > .kip-offers-page,
.wp-site-blocks > .wp-block-shortcode > .kip-practical-page,
.wp-site-blocks > .wp-block-shortcode > .kip-contact-page {
    margin-top: 0 !important;
}

/* Héros utilisant un pseudo-élément pour l'image. */
.kip-page-hero::before,
.kip-practical-hero::before,
.kip-contact-page .kip-contact-hero::before {
    background-position: center 68% !important;
}

/* Héros utilisant directement le background. */
.kip-events-hero,
.kip-offers-hero {
    background-position: center 68% !important;
}

/* Le haut du hero reste lisible mais moins noir : on évite l'effet de bande vide. */
.kip-page-hero::after {
    background: linear-gradient(90deg,rgba(5,6,9,.86) 0%,rgba(5,6,9,.66) 48%,rgba(5,6,9,.18) 100%) !important;
}
.kip-events-hero::after {
    background: linear-gradient(90deg,rgba(8,9,13,.86) 0%,rgba(8,9,13,.66) 48%,rgba(8,9,13,.28) 100%) !important;
}
.kip-offers-hero::after {
    background: linear-gradient(90deg,rgba(8,9,13,.86) 0%,rgba(8,9,13,.66) 48%,rgba(8,9,13,.28) 100%) !important;
}
.kip-practical-hero::after {
    background: linear-gradient(90deg,rgba(7,8,12,.86) 0%,rgba(7,8,12,.66) 50%,rgba(7,8,12,.24) 100%) !important;
}
.kip-contact-page .kip-contact-hero::after {
    background: linear-gradient(90deg,rgba(7,8,12,.86) 0%,rgba(7,8,12,.66) 50%,rgba(7,8,12,.24) 100%) !important;
}

@media (max-width: 782px) {
    .kip-page-hero::before,
    .kip-practical-hero::before,
    .kip-contact-page .kip-contact-hero::before {
        background-position: center 62% !important;
    }
    .kip-events-hero,
    .kip-offers-hero {
        background-position: center 62% !important;
    }
}



/* =========================================================
   V23.1 — SUPPRESSION DU VIDE SOUS LE HEADER
   WordPress/Gutenberg peut injecter un espacement de bloc
   entre le template-part du header et le bloc shortcode suivant.
   On neutralise uniquement la jonction au niveau racine.
   ========================================================= */
.wp-site-blocks {
    gap: 0 !important;
    row-gap: 0 !important;
}

.wp-site-blocks > .wp-block-template-part,
.wp-site-blocks > .wp-block-shortcode {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

header.wp-block-template-part {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

header.wp-block-template-part + .wp-block-shortcode,
header.wp-block-template-part + main,
header.wp-block-template-part + .wp-block-group {
    margin-top: 0 !important;
}

/* Le wrapper Gutenberg du shortcode ne doit créer aucun espace. */
.wp-block-shortcode {
    margin-block: 0 !important;
    padding-top: 0 !important;
}

.wp-block-shortcode > :first-child,
.wp-block-shortcode > .kip-page,
.wp-block-shortcode > .kip-events-page,
.wp-block-shortcode > .kip-offers-page,
.wp-block-shortcode > .kip-practical-page,
.wp-block-shortcode > .kip-contact-page,
.wp-block-shortcode > .kip-single-activity {
    margin-top: 0 !important;
}

/* =========================================================
   V24 — CORRECTION VISUELLE DÉFINITIVE SOUS LE HEADER
   Sur les pages secondaires, WordPress/KIP Manager produit
   deux zones de 20px avant le premier visuel (40px au total).
   Plutôt que de dépendre de la structure interne du shortcode,
   on remonte le bloc immédiatement après le header de 40px.
   Le header reste au-dessus grâce à son z-index.
   La page d'accueil (.home) n'est jamais touchée.
   ========================================================= */
body:not(.home) .wp-site-blocks > header.wp-block-template-part + * {
    position: relative !important;
    top: -40px !important;
    margin-bottom: -40px !important;
}

/* Sécurité : aucun padding/margin au début des wrappers de pages KIP. */
body:not(.home) .kip-page,
body:not(.home) .kip-events-page,
body:not(.home) .kip-offers-page,
body:not(.home) .kip-practical-page,
body:not(.home) .kip-contact-page,
body:not(.home) .kip-single-activity {
    padding-top: 0 !important;
}


/* =========================================================
   V24.1.1 — FOOTER COLLÉ, HEADER V24 INCHANGÉ
   ---------------------------------------------------------
   Le bandeau de 20px visible avant le footer correspond au
   block-gap Gutenberg (couleur de fond #0d0e13). Les essais
   précédents ciblaient le shortcode avec :has(), alors que le
   rendu frontend n'a pas toujours ce wrapper comme sibling.

   Ici on cible directement le DERNIER template-part (footer)
   sur les 4 pages concernées et on neutralise son espacement
   logique. Aucun sélecteur du header V24 n'est modifié.
   ========================================================= */
body.kip-footer-flush .wp-site-blocks > footer.wp-block-template-part,
body.kip-footer-flush .wp-site-blocks > .wp-block-template-part:last-child {
    /* La V24.1.2 laissait encore 15px visibles.
       Le décalage total réel avant footer est d'environ 35px. */
    margin-block-start: -35px !important;
    margin-top: -35px !important;
    margin-block-end: 0 !important;
    margin-bottom: 0 !important;
    position: relative !important;
    z-index: 10 !important;
}

/* Si WordPress place une marge sur le groupe interne du footer,
   elle est neutralisée elle aussi. */
body.kip-footer-flush .wp-site-blocks > footer.wp-block-template-part > .kip-site-footer,
body.kip-footer-flush .wp-site-blocks > .wp-block-template-part:last-child > .kip-site-footer,
body.kip-footer-flush footer.wp-block-template-part .kip-site-footer {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
}

/* =========================================================
   V24.1.2 — SUPPRESSION DE LA DERNIÈRE LIGNE AVANT LE FOOTER
   Header V24 strictement inchangé.
   La jonction est déjà collée en V24.1.1 ; le trait restant
   correspond à la bordure haute de 1px du footer.
   ========================================================= */
body.kip-footer-flush .kip-site-footer,
body.kip-footer-flush footer.wp-block-template-part .kip-site-footer {
    border-top: 0 !important;
}


/* =========================================================
   V24.1.4 — FINITION JONCTION BANDEAU / FOOTER
   Base : V24.1.2 (header V24 conservé, padding footer conservé).
   La capture montre précisément 15px restants après le -20px :
   on passe donc la correction du footer à -35px, sans toucher
   ni au header ni au padding interne du footer.
   ========================================================= */
body.kip-footer-flush .kip-site-footer .kip-footer-main,
body.kip-footer-flush footer.wp-block-template-part .kip-footer-main {
    /* Conserver l'espacement normal du contenu du footer. */
    padding-top: 48px !important;
}

@media (max-width: 680px) {
    body.kip-footer-flush .kip-site-footer .kip-footer-main,
    body.kip-footer-flush footer.wp-block-template-part .kip-footer-main {
        padding-top: 42px !important;
    }
}

/* =========================================================
   TYPOGRAPHIE HÉROS — UNIFICATION
   Même rendu lisible que la page Anniversaires & Groupes.
   Aucun changement de tailles, espacements ou mise en page.
   ========================================================= */
.kip-page-hero h1,
.kip-events-hero h1,
.kip-offers-hero h1,
.kip-practical-hero h1,
.kip-contact-page .kip-contact-hero h1,
.kip-single-activity-hero h1 {
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 900 !important;
}

/* =========================================================
   V25 — TYPO CONTACT + FOOTER UNIQUEMENT
   IMPORTANT : aucun autre composant/page n'est modifié ici.
   ========================================================= */

/* Contact : même famille de caractères que les héros déjà unifiés.
   On ne change ni tailles, ni espacements, ni structure. */
.kip-contact-page .kip-contact-intro h2,
.kip-contact-page .kip-contact-form-head h2,
.kip-contact-page .kip-contact-group-inner h3 {
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 900 !important;
}

/* Footer : forcer un vrai empilement vertical des liens/informations. */
.kip-site-footer .kip-footer-main {
    width: min(100%, 1700px) !important;
    padding: 54px clamp(38px, 4.8vw, 86px) 28px !important;
    grid-template-columns: minmax(230px, 1.25fr) minmax(120px, .72fr) minmax(120px, .72fr) minmax(150px, .78fr) minmax(190px, 1fr) !important;
    column-gap: clamp(38px, 5vw, 84px) !important;
    row-gap: 28px !important;
    align-items: start !important;
}

.kip-site-footer .kip-footer-brand .wp-block-site-logo {
    margin: 0 0 22px !important;
}

.kip-site-footer .kip-footer-brand .wp-block-site-logo img {
    width: 200px !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 82px !important;
    object-fit: contain !important;
}

.kip-site-footer .kip-footer-socials-native {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    margin-top: 16px !important;
}

.kip-site-footer .kip-footer-col {
    min-width: 0 !important;
    display: grid !important;
    grid-auto-flow: row !important;
    grid-auto-rows: max-content !important;
    align-content: start !important;
    justify-items: start !important;
    gap: 4px !important;
}

.kip-site-footer .kip-footer-col h3 {
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    letter-spacing: .06em !important;
}

.kip-site-footer .kip-footer-col > a,
.kip-site-footer .kip-footer-col > span {
    display: block !important;
    width: 100% !important;
    max-width: 220px !important;
    margin: 0 !important;
    color: #8f9098 !important;
    font-size: 11px !important;
    line-height: 1.6 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.kip-site-footer .kip-footer-col > a:hover {
    color: #ee0006 !important;
}

/* Le trait racing reste identique dans son principe, mais mieux aligné
   avec le nouveau contenu du footer. */
.kip-site-footer .kip-footer-race-line {
    width: calc(100% - clamp(76px, 7vw, 140px)) !important;
    height: 58px !important;
    margin: 2px auto 0 !important;
}

.kip-site-footer .kip-footer-race-line span {
    right: 94px !important;
    bottom: 26px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 900 !important;
}

.kip-site-footer .kip-footer-bottom {
    width: min(100%, 1700px) !important;
    padding: 7px clamp(38px, 4.8vw, 86px) 30px !important;
}

@media (max-width: 1000px) {
    .kip-site-footer .kip-footer-main {
        grid-template-columns: minmax(220px, 1.2fr) repeat(2, minmax(140px, 1fr)) !important;
        column-gap: 42px !important;
        row-gap: 34px !important;
    }

    .kip-site-footer .kip-footer-brand {
        grid-row: span 2 !important;
    }
}

@media (max-width: 680px) {
    .kip-site-footer .kip-footer-main {
        padding: 40px 22px 24px !important;
        grid-template-columns: 1fr 1fr !important;
        column-gap: 22px !important;
        row-gap: 30px !important;
    }

    .kip-site-footer .kip-footer-brand {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
    }

    .kip-site-footer .kip-footer-brand .wp-block-site-logo img {
        width: 165px !important;
    }

    .kip-site-footer .kip-footer-col > a,
    .kip-site-footer .kip-footer-col > span {
        max-width: 100% !important;
        font-size: 10px !important;
    }

    .kip-site-footer .kip-footer-race-line {
        width: calc(100% - 32px) !important;
    }

    .kip-site-footer .kip-footer-race-line span {
        right: 76px !important;
        font-size: 12px !important;
    }

    .kip-site-footer .kip-footer-bottom {
        padding: 8px 22px 24px !important;
    }
}

/* =========================================================
   V26 — FOOTER UNIQUEMENT
   Correctif ciblé : affichage des colonnes et liens du footer.
   Aucun autre composant du site n'est modifié.
   ========================================================= */
.kip-site-footer .kip-footer-main {
    width: min(100%, 1600px) !important;
    margin: 0 auto !important;
    padding: 50px clamp(42px, 5vw, 92px) 30px !important;
    display: grid !important;
    grid-template-columns: minmax(230px, 1.28fr) repeat(4, minmax(145px, 1fr)) !important;
    column-gap: clamp(34px, 4.5vw, 74px) !important;
    row-gap: 28px !important;
    align-items: start !important;
}

/* Important : le shortcode KIP sort les liens sans espaces dans le HTML.
   On force donc un vrai empilement vertical, indépendant du formatage HTML. */
.kip-site-footer nav.kip-footer-col,
.kip-site-footer div.kip-footer-col {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    min-width: 0 !important;
}

.kip-site-footer .kip-footer-col h3 {
    display: block !important;
    width: 100% !important;
    margin: 0 0 16px !important;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}

.kip-site-footer nav.kip-footer-col > a,
.kip-site-footer div.kip-footer-col > span {
    display: block !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 220px !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    color: #92949d !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-decoration: none !important;
}

.kip-site-footer nav.kip-footer-col > a:hover {
    color: #EE0006 !important;
}

.kip-site-footer .kip-footer-address > span {
    max-width: 205px !important;
}

.kip-site-footer .kip-footer-brand .wp-block-site-logo {
    margin: 0 0 22px !important;
}

.kip-site-footer .kip-footer-brand .wp-block-site-logo img {
    width: 205px !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
}

.kip-site-footer .kip-footer-socials-native {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 20px !important;
    margin: 14px 0 0 !important;
}

.kip-site-footer .kip-footer-socials-native a {
    width: 24px !important;
    height: 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    color: #fff !important;
    line-height: 1 !important;
}

.kip-site-footer .kip-footer-race-line {
    width: calc(100% - clamp(80px, 6vw, 128px)) !important;
    height: 62px !important;
    margin: 2px auto 0 !important;
}

.kip-site-footer .kip-footer-race-line::before {
    left: 0 !important;
    right: 72px !important;
    bottom: 17px !important;
}

.kip-site-footer .kip-footer-race-line::after {
    right: 18px !important;
    bottom: 38px !important;
}

.kip-site-footer .kip-footer-race-line span {
    right: 104px !important;
    bottom: 28px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.kip-site-footer .kip-footer-bottom {
    width: min(100%, 1600px) !important;
    margin: 0 auto !important;
    padding: 7px clamp(42px, 5vw, 92px) 28px !important;
}

@media (max-width: 1100px) {
    .kip-site-footer .kip-footer-main {
        grid-template-columns: minmax(220px, 1.2fr) repeat(2, minmax(150px, 1fr)) !important;
        column-gap: 42px !important;
        row-gap: 34px !important;
    }

    .kip-site-footer .kip-footer-brand {
        grid-row: span 2 !important;
    }
}

@media (max-width: 680px) {
    .kip-site-footer .kip-footer-main {
        padding: 38px 22px 24px !important;
        grid-template-columns: 1fr 1fr !important;
        column-gap: 24px !important;
        row-gap: 30px !important;
    }

    .kip-site-footer .kip-footer-brand {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
    }

    .kip-site-footer .kip-footer-brand .wp-block-site-logo img {
        width: 170px !important;
    }

    .kip-site-footer .kip-footer-col h3 {
        font-size: 11px !important;
        margin-bottom: 12px !important;
    }

    .kip-site-footer nav.kip-footer-col > a,
    .kip-site-footer div.kip-footer-col > span {
        max-width: 100% !important;
        font-size: 11px !important;
        line-height: 1.45 !important;
    }

    .kip-site-footer .kip-footer-race-line {
        width: calc(100% - 32px) !important;
        height: 54px !important;
    }

    .kip-site-footer .kip-footer-race-line span {
        right: 76px !important;
        bottom: 25px !important;
        font-size: 12px !important;
    }

    .kip-site-footer .kip-footer-bottom {
        padding: 8px 22px 24px !important;
    }
}

/* =========================================================
   V27 — FOOTER : listes explicites pour éviter tout collage
   ========================================================= */
.kip-site-footer .kip-footer-list {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
}

/* Horaires + adresse */
.kip-site-footer .kip-footer-lines {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 0 !important;
}

.kip-site-footer .kip-footer-lines > span {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.35 !important;
}

.kip-site-footer .kip-footer-lines > span + span {
    margin-top: 2px !important;
}
.kip-site-footer .kip-footer-list li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
.kip-site-footer .kip-footer-list li a,
.kip-site-footer .kip-footer-lines span {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #92949d !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-decoration: none !important;
}
.kip-site-footer .kip-footer-list li a:hover { color:#EE0006 !important; }
.kip-site-footer .kip-footer-address .kip-footer-lines { max-width:230px !important; }
@media (max-width:680px){
  .kip-site-footer .kip-footer-list li a,
  .kip-site-footer .kip-footer-lines span { font-size:11px !important; }
}

/* =========================================================
   V28 — FOOTER : rapprocher uniquement les 2 lignes
   HORAIRES et ADRESSE. Aucun autre élément n'est modifié.
   ========================================================= */


.kip-site-footer .kip-footer-col:not(nav) .kip-footer-lines > span {
    margin: 0 !important;
    line-height: 1.25 !important;
}

/* FOOTER — lignes horaires/adresse réellement collées */
.kip-site-footer .kip-footer-lines {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;

    gap: 0 !important;
    row-gap: 0 !important;

    height: fit-content !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

.kip-site-footer .kip-footer-lines > * {
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    line-height: 1.35 !important;
}

/* FOOTER — supprimer définitivement l'espace entre les lignes */
.kip-site-footer .kip-footer-lines {
    display: contents !important;
}

.kip-site-footer .kip-footer-lines > span {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
}

/* =========================================================
   HOME — PASSE ANNOTATIONS 11/09/2026
   Base : ZIP fourni par le client. Scope strict : page d'accueil.
   Les blocs rouges du PDF servent de repère de hauteur pour les
   respirations verticales entre sections et à l'intérieur des sections.
   ========================================================= */

body.home {
    --kip-home-title-size: clamp(44px, 3.55vw, 64px);
    --kip-home-section-space: clamp(92px, 7.4vw, 142px);
    --kip-home-inner-space: clamp(34px, 3.7vw, 70px);
}

/* 1) HERO : titre plus gros + fond plus sombre, sans changer la géométrie. */
body.home .kip-hero-copy {
    width: min(36vw, 650px);
}
body.home .kip-hero-line-1 { font-size: clamp(50px, 3.9vw, 72px); }
body.home .kip-hero-line-2 { font-size: clamp(58px, 4.55vw, 84px); }
body.home .kip-hero-line-3 { font-size: clamp(34px, 2.75vw, 50px); }
body.home .kip-panel-shade {
    background: linear-gradient(to bottom, rgba(0,0,0,.16) 0%, rgba(0,0,0,.28) 45%, rgba(0,0,0,.86) 100%);
}
body.home .kip-panel-center .kip-panel-shade {
    background:
        radial-gradient(circle at 50% 40%, rgba(0,0,0,.18), rgba(0,0,0,.34) 38%, rgba(0,0,0,.68) 100%),
        linear-gradient(to bottom, rgba(0,0,0,.32), rgba(0,0,0,.52));
}

/* 2) RESPIRATION APRES LE BANDEAU ROUGE (hauteur repérée par le bloc rouge). */
body.home .kip-universe {
    margin-top: var(--kip-home-section-space);
}

/* 3) TITRES HOME : même taille et même graisse partout. */
body.home .kip-universe-copy h2,
body.home .kip-activities .kip-section-head h2,
body.home .kip-booking-intro h2,
body.home .kip-reviews-head h2,
body.home .kip-location-copy h2,
body.home .kip-times-head h2,
body.home .kip-instagram-copy h2,
body.home .kip-final-cta h2 {
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: var(--kip-home-title-size) !important;
    line-height: .90 !important;
    font-weight: 900 !important;
    font-style: italic;
    letter-spacing: -.025em;
    text-transform: uppercase;
}

/* 4) ACTIVITES : titre centré, lien du haut supprimé, grille compacte prête pour 8 cartes. */
body.home .kip-activities {
    padding-top: var(--kip-home-section-space);
    padding-bottom: var(--kip-home-inner-space);
}
body.home .kip-activities .kip-section-head {
    margin-bottom: var(--kip-home-inner-space);
    justify-content: center;
    align-items: center;
    text-align: center;
}
body.home .kip-activities .kip-section-head > div {
    width: 100%;
    margin: 0 auto;
}
body.home .kip-activities .kip-section-link {
    display: none !important;
}
body.home .kip-activities-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
body.home .kip-activity-image {
    height: clamp(190px, 14vw, 255px);
}
body.home .kip-activity-body {
    padding: 16px 17px 19px;
}
body.home .kip-activity-body h3 {
    font-size: clamp(21px, 1.55vw, 27px);
}
body.home .kip-activity-body p {
    min-height: 50px;
    margin-bottom: 14px;
}

/* CTA ajouté sous les sections annotées. */
body.home .kip-home-cta-wrap {
    width: 100%;
    padding: 22px 20px 0;
    display: flex;
    justify-content: center;
    background: #0a0b0f;
}
body.home .kip-home-cta {
    min-width: 230px;
    min-height: 50px;
    padding: 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    background: #EE0006;
    color: #fff;
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
    clip-path: polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);
    transition: transform .2s ease, background .2s ease;
}
body.home .kip-home-cta:hover { transform: translateY(-2px); background: #ff171d; }

/* Espace entre ACTIVITES et RESERVATION. */
body.home .kip-home-cta-after-activities {
    padding-bottom: var(--kip-home-section-space);
}

/* 5) RESERVATION : plus lisible, étapes plus proches de l'exemple et sans watermark. */
body.home .kip-booking-steps::before {
    content: none !important;
    display: none !important;
}
body.home .kip-booking-inner {
    min-height: 0;
    padding-top: var(--kip-home-inner-space);
    padding-bottom: var(--kip-home-inner-space);
}
body.home .kip-booking-intro h2 {
    font-weight: 900 !important;
}
body.home .kip-step-number {
    font-size: clamp(38px, 3.2vw, 56px);
}
body.home .kip-step-icon {
    width: 42px;
    height: 42px;
    padding: 8px;
    margin-bottom: 12px;
    border: 1px solid rgba(255,255,255,.45);
    background: rgba(255,255,255,.015);
}
body.home .kip-step-icon svg {
    stroke-width: 2;
}
body.home .kip-step-card h3 {
    font-size: 12px;
}
body.home .kip-step-line {
    width: 54px;
    height: 1px;
}

/* Espace RESERVATION -> AVIS. */
body.home .kip-reviews {
    margin-top: var(--kip-home-section-space);
    padding-top: var(--kip-home-inner-space);
    padding-bottom: var(--kip-home-inner-space);
}

/* 6) AVIS : titre uniforme, cartes plus fidèles/compactes et action technique supprimée. */
body.home .kip-reviews-head {
    margin-bottom: var(--kip-home-inner-space);
}
body.home .kip-reviews-track {
    gap: 16px;
    padding: 0 24px 8px;
}
body.home .kip-review-card {
    flex: 0 0 calc((100vw - 96px - 48px) / 4);
    min-width: 290px;
    min-height: 190px;
    padding: 22px 22px 20px;
}
body.home .kip-review-card > p {
    font-size: 12px;
    line-height: 1.52;
}
body.home .kip-reviews-bottom,
body.home .kip-reviews-actions {
    display: none !important;
}
body.home .kip-home-cta-after-reviews {
    padding-bottom: var(--kip-home-section-space);
    background: #0d0e13;
}

/* 7) LIEU : conserver la composition, rendre la carte plus lisible/réaliste. */
body.home .kip-location {
    margin-top: 0;
}
body.home .kip-location-left {
    padding-top: var(--kip-home-inner-space);
    padding-bottom: var(--kip-home-inner-space);
}
body.home .kip-map-embed {
    opacity: .88;
    filter: grayscale(.92) invert(.90) sepia(.03) saturate(.48) brightness(.57) contrast(1.18);
}
body.home .kip-map-overlay {
    background:
        linear-gradient(90deg,rgba(7,9,14,.34) 0%,rgba(7,9,14,.10) 28%,rgba(7,9,14,.04) 58%,rgba(7,9,14,.08) 100%),
        linear-gradient(180deg,rgba(8,10,15,.02),rgba(8,10,15,.18)),
        radial-gradient(circle at 65% 40%,rgba(238,0,6,.10),transparent 18%);
}
body.home .kip-map-card {
    width: 250px;
    height: 126px;
}

/* Espace LIEU -> CHRONOS. */
body.home .kip-times {
    margin-top: var(--kip-home-section-space);
    padding-top: var(--kip-home-inner-space);
    padding-bottom: var(--kip-home-inner-space);
}

/* 8) CHRONOS : titre uniforme, supprimer les petits contrôles/lien bas annotés. */
body.home .kip-times-head {
    margin-bottom: var(--kip-home-inner-space);
}
body.home .kip-times-actions {
    display: none !important;
}
body.home .kip-home-cta-after-times {
    padding-bottom: var(--kip-home-section-space);
    background: #090a0f;
}

/* 9) INSTAGRAM : supprimer le lien bas annoté, garder seulement le bloc principal. */
body.home .kip-instagram-bottom {
    display: none !important;
}
body.home .kip-instagram-copy,
body.home .kip-instagram-gallery {
    padding-top: var(--kip-home-inner-space);
    padding-bottom: var(--kip-home-inner-space);
}

/* Espace INSTAGRAM -> CTA FINAL. */
body.home .kip-final-cta {
    margin-top: var(--kip-home-section-space);
    min-height: 0;
    padding-top: var(--kip-home-inner-space);
    padding-bottom: var(--kip-home-inner-space);
}

/* Le footer reste tel qu'il est dans le ZIP courant : aucune retouche structurelle ici. */

@media (max-width: 1100px) {
    body.home .kip-activities-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    body.home .kip-review-card { flex-basis: min(46vw, 470px); }
}

@media (max-width: 782px) {
    body.home {
        --kip-home-title-size: clamp(36px, 10vw, 48px);
        --kip-home-section-space: 64px;
        --kip-home-inner-space: 30px;
    }
    body.home .kip-hero-copy { width: calc(100% - 36px); }
    body.home .kip-hero-line-1 { font-size: clamp(42px, 11vw, 58px); }
    body.home .kip-hero-line-2 { font-size: clamp(48px, 12.8vw, 66px); }
    body.home .kip-hero-line-3 { font-size: clamp(28px, 7.3vw, 38px); }
    body.home .kip-universe { margin-top: 64px; }
    body.home .kip-activities { padding-inline: 20px; }
    body.home .kip-activities-grid { grid-template-columns: 1fr; gap: 16px; }
    body.home .kip-activity-image { height: 280px; }
    body.home .kip-review-card { flex-basis: calc(100vw - 48px); min-width: 0; }
    body.home .kip-map-card { width: 190px; height: 96px; }
    body.home .kip-instagram-copy,
    body.home .kip-instagram-gallery { padding-top: 30px; padding-bottom: 30px; }
}

/* =========================================================
   HOME V30 — AJUSTEMENTS VALIDÉS 11/09/2026
   Scope strict : page d'accueil uniquement.
   - Hero plus lisible / plus sombre
   - Système d'espacement unique
   - Cartes activités rapprochées de la référence
   - Avis plus étroits et toujours défilables bord à bord
   - CTA carte / itinéraire visibles
   - Suppression du watermark READYTORACE final
   ========================================================= */

body.home {
    --kip-home-section-gap: 96px;
    --kip-home-inner-gap: 32px;
    --kip-home-title-size: clamp(48px, 3.8vw, 68px);
}

/* HERO : titre sensiblement plus grand et visuel davantage assombri. */
body.home .kip-hero-copy {
    width: min(40vw, 720px);
}
body.home .kip-hero-line-1 {
    font-size: clamp(58px, 4.25vw, 80px);
}
body.home .kip-hero-line-2 {
    font-size: clamp(68px, 5vw, 94px);
}
body.home .kip-hero-line-3 {
    margin-top: 9px;
    font-size: clamp(40px, 3vw, 56px);
}
body.home .kip-panel-shade {
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,.32) 0%,
        rgba(0,0,0,.48) 48%,
        rgba(0,0,0,.90) 100%
    );
}
body.home .kip-panel-center .kip-panel-shade {
    background:
        radial-gradient(circle at 50% 39%, rgba(0,0,0,.30), rgba(0,0,0,.48) 42%, rgba(0,0,0,.76) 100%),
        linear-gradient(to bottom, rgba(0,0,0,.46), rgba(0,0,0,.66));
}

/* TITRES : une seule taille/graisse sur les sections de la home. */
body.home .kip-universe-copy h2,
body.home .kip-activities .kip-section-head h2,
body.home .kip-booking-intro h2,
body.home .kip-reviews-head h2,
body.home .kip-location-copy h2,
body.home .kip-times-head h2,
body.home .kip-instagram-copy h2,
body.home .kip-final-cta h2 {
    font-size: var(--kip-home-title-size) !important;
    font-weight: 900 !important;
    line-height: .90 !important;
}

/* ESPACEMENTS : grand espace entre sections, petit espace à l'intérieur. */
body.home .kip-universe {
    margin-top: var(--kip-home-section-gap);
}
body.home .kip-activities {
    margin-top: var(--kip-home-section-gap);
    padding-top: 0;
    padding-bottom: 0;
}
body.home .kip-activities .kip-section-head,
body.home .kip-reviews-head,
body.home .kip-times-head {
    margin-bottom: var(--kip-home-inner-gap);
}
body.home .kip-booking-inner,
body.home .kip-reviews,
body.home .kip-times {
    padding-top: var(--kip-home-inner-gap);
    padding-bottom: var(--kip-home-inner-gap);
}
body.home .kip-reviews {
    margin-top: var(--kip-home-section-gap);
}
body.home .kip-times {
    margin-top: var(--kip-home-section-gap);
}
body.home .kip-instagram-copy,
body.home .kip-instagram-gallery,
body.home .kip-final-cta {
    padding-top: var(--kip-home-inner-gap);
    padding-bottom: var(--kip-home-inner-gap);
}
body.home .kip-final-cta {
    margin-top: var(--kip-home-section-gap);
}

/* Les CTA isolés font partie de la section précédente : petit espace avant,
   grand espace identique avant la section suivante. */
body.home .kip-home-cta-wrap {
    padding-top: var(--kip-home-inner-gap);
    padding-bottom: var(--kip-home-section-gap);
    justify-content: center;
}
body.home .kip-home-cta-after-activities,
body.home .kip-home-cta-after-reviews,
body.home .kip-home-cta-after-times {
    padding-bottom: var(--kip-home-section-gap);
}
body.home .kip-home-cta {
    width: min(290px, calc(100vw - 40px));
    min-width: 0;
    min-height: 54px;
    padding-inline: 26px;
}

/* ACTIVITÉS : proportions et densité calées sur la référence fournie. */
body.home .kip-activities-inner {
    width: min(94vw, 1500px);
}
body.home .kip-activities .kip-section-head {
    justify-content: center;
    text-align: center;
}
body.home .kip-activities-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
body.home .kip-activity-card {
    background: #0d0f14;
    border-color: rgba(255,255,255,.14);
}
body.home .kip-activity-image {
    height: auto;
    aspect-ratio: 1.58 / 1;
}
body.home .kip-activity-image::before {
    right: -1px;
    bottom: -1px;
    width: 34px;
    height: 34px;
    border-right-width: 2px;
    border-bottom-width: 2px;
}
body.home .kip-activity-body {
    padding: 14px 16px 16px;
}
body.home .kip-activity-body h3 {
    font-size: clamp(20px, 1.35vw, 25px);
    line-height: .96;
}
body.home .kip-activity-rule {
    height: 2px;
    margin: 7px 0 10px;
}
body.home .kip-activity-body p {
    min-height: 42px;
    margin-bottom: 13px;
    color: #c4c5ca;
    font-size: 11px;
    line-height: 1.42;
}
body.home .kip-card-link {
    font-size: 0;
    gap: 10px;
}
body.home .kip-card-link::before {
    content: "EN SAVOIR PLUS";
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .055em;
}
body.home .kip-card-link span {
    font-size: 15px;
}

/* RÉSERVATION : pas de watermark et respiration interne constante. */
body.home .kip-booking-steps::before,
body.home .kip-booking-watermark {
    content: none !important;
    display: none !important;
}
body.home .kip-booking-inner {
    min-height: 0;
}

/* AVIS : cartes moins larges, mais le carrousel reste pleine largeur et défilable. */
body.home .kip-reviews-viewport {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
}
body.home .kip-reviews-track {
    gap: 14px;
    padding: 0 0 8px;
}
body.home .kip-review-card {
    flex: 0 0 clamp(285px, 20vw, 350px);
    min-width: 285px;
    min-height: 188px;
    padding: 20px 20px 18px;
}
body.home .kip-review-card > p {
    margin: 6px 0 18px;
    font-size: 12px;
    line-height: 1.5;
}

/* LIEU / CARTE : rétablir les deux CTA de la maquette. */
body.home .kip-location-cta {
    display: inline-flex !important;
    margin-top: var(--kip-home-inner-gap);
    width: 210px;
    min-width: 210px;
    min-height: 50px;
}
body.home .kip-map-card {
    width: clamp(360px, 24vw, 430px);
    height: 118px;
    padding: 9px;
    display: grid;
    grid-template-columns: 43% minmax(0, 1fr);
    align-items: stretch;
    gap: 14px;
}
body.home .kip-map-photo {
    width: 100%;
    height: 100%;
}
body.home .kip-map-card > div:last-child {
    min-width: 0;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding-right: 8px;
}
body.home .kip-map-card > div:last-child strong {
    color: #fff;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 20px;
    line-height: .92;
    font-style: italic;
    font-weight: 900;
    letter-spacing: -.015em;
    text-transform: uppercase;
}
body.home .kip-map-card > div:last-child a {
    margin-top: 13px;
    color: #EE0006;
    font-size: 9px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .065em;
    text-transform: uppercase;
}

/* CTA final : le gros READYTORACE décoratif est supprimé. */
body.home .kip-final-cta::before {
    content: none !important;
    display: none !important;
}

@media (max-width: 1100px) {
    body.home {
        --kip-home-section-gap: 78px;
        --kip-home-inner-gap: 28px;
    }
    body.home .kip-activities-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
    body.home .kip-review-card {
        flex-basis: clamp(280px, 38vw, 340px);
    }
    body.home .kip-map-card {
        width: 330px;
        height: 108px;
    }
}

@media (max-width: 782px) {
    body.home {
        --kip-home-section-gap: 62px;
        --kip-home-inner-gap: 24px;
        --kip-home-title-size: clamp(38px, 10vw, 50px);
    }
    body.home .kip-hero-copy {
        width: calc(100% - 34px);
    }
    body.home .kip-hero-line-1 { font-size: clamp(46px, 12vw, 62px); }
    body.home .kip-hero-line-2 { font-size: clamp(54px, 14vw, 72px); }
    body.home .kip-hero-line-3 { font-size: clamp(31px, 8vw, 42px); }
    body.home .kip-activities {
        padding-inline: 18px;
    }
    body.home .kip-activities-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    body.home .kip-activity-image {
        aspect-ratio: 1.5 / 1;
    }
    body.home .kip-review-card {
        flex-basis: 82vw;
        min-width: 280px;
    }
    body.home .kip-map-card {
        right: 14px;
        bottom: 14px;
        width: min(315px, calc(100vw - 28px));
        height: 104px;
    }
    body.home .kip-map-card > div:last-child strong {
        font-size: 17px;
    }
}

/* =========================================================
   HOME V31 — CORRECTIFS CIBLÉS UNIQUEMENT
   Aucun changement du système d'espacement.
   - CTA sous Lieu & Horaires
   - CTA sous le titre Nos activités
   - Activités + avis recentrés
   - Footer : trait rouge droit, sans diagonale
   ========================================================= */

/* Bouton sous "LE LIEU & HORAIRES" : visible juste sous le titre. */
body.home .kip-location-copy .kip-location-cta {
    display: inline-flex !important;
    margin-top: 28px !important;
    width: 220px !important;
    min-width: 220px !important;
    min-height: 50px !important;
}

/* Le CTA Activités est déplacé dans l'en-tête par main.js. */
body.home .kip-activities .kip-section-head {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}
body.home .kip-activities .kip-home-cta-after-activities.is-in-section-head {
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}
body.home .kip-activities .kip-home-cta-after-activities.is-in-section-head .kip-home-cta {
    margin-inline: auto !important;
}

/* Les cartes Activités restent réellement centrées dans leur zone. */
body.home .kip-activities-inner,
body.home .kip-activities-grid {
    margin-left: auto !important;
    margin-right: auto !important;
}
body.home .kip-activities-grid {
    width: min(100%, 1480px) !important;
}

/* Les avis sont centrés tant que la rangée tient dans l'écran,
   puis restent naturellement défilables dès qu'elle devient plus large. */
body.home .kip-reviews-track {
    min-width: 100% !important;
    justify-content: center !important;
}

/* Footer : supprimer la cassure diagonale, garder un trait rouge propre. */
.kip-site-footer .kip-footer-race-line {
    height: 42px !important;
}
.kip-site-footer .kip-footer-race-line::before {
    left: 0 !important;
    right: 0 !important;
    bottom: 10px !important;
    height: 3px !important;
    transform: none !important;
}
.kip-site-footer .kip-footer-race-line::after {
    content: none !important;
    display: none !important;
}
.kip-site-footer .kip-footer-race-line span {
    right: 18px !important;
    bottom: 17px !important;
}

/* =========================================================
   HOME V32 — CORRECTIFS CIBLÉS
   Ne modifie PAS les espacements généraux.
   - CTA garanti sous Lieu & Horaires
   - CTA garanti dans le bandeau final avant footer
   - Activités centrées dans un conteneur fixe
   - Avis centrés uniquement quand la rangée tient, sinon défilables
   ========================================================= */

/* ACTIVITÉS : centrer réellement le bloc de cartes, sans changer les cartes. */
body.home .kip-activities-inner {
    width: min(calc(100% - 80px), 1500px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
body.home .kip-activities-grid {
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* AVIS : le JS ajoute .is-fit quand toutes les cartes tiennent dans l'écran. */
body.home .kip-reviews-track {
    justify-content: flex-start !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}
body.home .kip-reviews-track.is-fit {
    width: 100% !important;
    min-width: 100% !important;
    justify-content: center !important;
}

/* CTA Lieu & Horaires : le JS garantit sa présence, même avec un ancien KIP Manager. */
body.home .kip-location-copy .kip-location-cta {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    inset: auto !important;
    margin: 28px 0 0 !important;
    width: 220px !important;
    min-width: 220px !important;
    min-height: 50px !important;
    flex: 0 0 auto !important;
}

/* CTA dans le bandeau final avant footer. */
body.home .kip-final-booking-btn {
    position: relative;
    z-index: 3;
    width: 230px;
    min-height: 52px;
    margin-top: 24px;
    padding: 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    background: #EE0006;
    color: #fff;
    font-size: 11px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
    text-decoration: none;
    clip-path: polygon(8px 0,100% 0,calc(100% - 12px) 100%,0 100%);
    transition: transform .2s ease, background .2s ease;
}
body.home .kip-final-booking-btn:hover {
    transform: translateY(-2px);
    background: #ff171d;
}

@media (max-width: 782px) {
    body.home .kip-activities-inner {
        width: calc(100% - 36px) !important;
    }
    body.home .kip-reviews-track {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* =========================================================
   HOME V33 — CORRECTIFS CIBLÉS DEMANDÉS
   - CTA Activités replacé entre Activités et Réservation
   - CTA Lieu & Horaires garanti sous le titre
   - Hero beaucoup plus grand et légèrement plus sombre
   - Légère respiration des lettres sur les grands titres
   Aucun autre bloc n'est modifié.
   ========================================================= */

/* Le CTA Activités ne doit plus vivre dans .kip-section-head. */
body.home .kip-activities .kip-section-head .kip-home-cta-wrap,
body.home .kip-activities .kip-section-head .kip-home-cta-after-activities {
    display: none !important;
}

/* Une fois replacé par main.js, il reste centré entre les deux sections. */
body.home > .kip-home-cta-after-activities,
body.home .wp-site-blocks > .kip-home-cta-after-activities {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
}

/* Lieu & Horaires : CTA immédiatement sous le titre, comme la référence. */
body.home .kip-location-copy .kip-location-cta {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    inset: auto !important;
    margin: 26px 0 0 !important;
    width: 220px !important;
    min-width: 220px !important;
    min-height: 50px !important;
    flex: 0 0 auto !important;
    z-index: 10 !important;
}

/* Hero : titre nettement plus présent, sans changer la géométrie des panneaux. */
body.home .kip-hero-copy {
    width: min(48vw, 900px) !important;
}
body.home .kip-hero-line-1 {
    font-size: clamp(72px, 5.15vw, 102px) !important;
    letter-spacing: .008em !important;
}
body.home .kip-hero-line-2 {
    font-size: clamp(84px, 6.05vw, 120px) !important;
    letter-spacing: .006em !important;
}
body.home .kip-hero-line-3 {
    font-size: clamp(48px, 3.55vw, 70px) !important;
    letter-spacing: .014em !important;
}

/* Un peu plus sombre pour améliorer la lecture du gros titre. */
body.home .kip-panel-shade {
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,.38) 0%,
        rgba(0,0,0,.54) 48%,
        rgba(0,0,0,.92) 100%
    ) !important;
}
body.home .kip-panel-center .kip-panel-shade {
    background:
        radial-gradient(circle at 50% 39%, rgba(0,0,0,.36), rgba(0,0,0,.54) 42%, rgba(0,0,0,.80) 100%),
        linear-gradient(to bottom, rgba(0,0,0,.50), rgba(0,0,0,.70)) !important;
}

/* Grands titres : lettres légèrement moins tassées, sans modifier leur taille. */
body.home .kip-universe-copy h2,
body.home .kip-activities .kip-section-head h2,
body.home .kip-booking-intro h2,
body.home .kip-reviews-head h2,
body.home .kip-location-copy h2,
body.home .kip-times-head h2,
body.home .kip-instagram-copy h2,
body.home .kip-final-cta h2 {
    letter-spacing: .012em !important;
}

@media (max-width: 980px) {
    body.home .kip-hero-copy { width: min(62vw, 760px) !important; }
    body.home .kip-hero-line-1 { font-size: clamp(58px, 7vw, 82px) !important; }
    body.home .kip-hero-line-2 { font-size: clamp(68px, 8.2vw, 96px) !important; }
    body.home .kip-hero-line-3 { font-size: clamp(40px, 4.8vw, 56px) !important; }
}

@media (max-width: 782px) {
    body.home .kip-hero-copy { width: calc(100% - 30px) !important; }
    body.home .kip-hero-line-1 { font-size: clamp(48px, 13vw, 66px) !important; }
    body.home .kip-hero-line-2 { font-size: clamp(56px, 15vw, 76px) !important; }
    body.home .kip-hero-line-3 { font-size: clamp(32px, 8.5vw, 44px) !important; }
}

.kip-home-cta-wrap.kip-home-cta-after-activities {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
}

.kip-home-cta-wrap.kip-home-cta-after-reviews {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
}

.kip-home-cta-wrap.kip-home-cta-after-times {
    padding-bottom: 50px !important;
    padding-top: 8px !important;
}

body.home .kip-activity-body h3 {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    font-style: italic !important;
    letter-spacing: 1.5px !important;
    line-height: 1.05 !important;
}

/* =========================================================
   HOME V34 — MODIFICATIONS CIBLÉES UNIQUEMENT
   - CTA Activités à l'intérieur du conteneur Activités
   - CTA Avis à l'intérieur du conteneur Avis
   - Contenu des cartes Activités centré et plus compact
   - CTA carte Activité = bouton contour rouge « DÉCOUVRIR »
   - Coins des cartes Activités arrondis
   ========================================================= */

/* Cartes Activités : arrondies, sans modifier la grille ni les marges de section. */
body.home .kip-activity-card {
    border-radius: 14px !important;
}

/* Contenu interne uniquement : centré et plus resserré verticalement. */
body.home .kip-activity-body {
    align-items: center !important;
    text-align: center !important;
    padding-top: 12px !important;
}

body.home .kip-activity-body h3 {
    margin: 0 !important;
}

body.home .kip-activity-rule {
    width: 100% !important;
    margin: 8px auto 12px !important;
}

body.home .kip-activity-body p {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    margin: 0 0 13px !important;
}

/* Le lien devient un vrai bouton arrondi, contour rouge. */
body.home .kip-card-link {
    margin: 0 auto !important;
    padding: 9px 18px !important;
    gap: 0 !important;
    border: 1.5px solid #EE0006 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #EE0006 !important;
    font-size: 0 !important;
    line-height: 1 !important;
}
body.home .kip-card-link::before {
    content: "DÉCOUVRIR" !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .07em !important;
}
body.home .kip-card-link span {
    display: none !important;
}


/* =========================================================
   HOME V35 — CORRECTIF ACTIVITÉS UNIQUEMENT
   - remettre la barre rouge sous le titre
   - bouton DÉCOUVRIR sur toute la largeur du contenu
   ========================================================= */

/* Barre rouge visible sous le titre, comme avant. */
body.home .kip-activity-body h3::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    margin: 10px 0 0;
    background: #EE0006;
}

/* Évite une éventuelle double barre si le markup contient déjà .kip-activity-rule. */
body.home .kip-activity-rule {
    display: none !important;
}

/* Le bouton occupe exactement la largeur disponible du contenu de la carte. */
body.home .kip-card-link {
    width: 100% !important;
    max-width: none !important;
    justify-content: center !important;
}

/* =========================================================
   HOME V36 — CORRECTIF CIBLÉ ACTIVITÉS UNIQUEMENT
   - supprimer l'espace entre l'image et le titre
   - étirer le bouton DÉCOUVRIR sur la largeur du contenu
   ========================================================= */
body.home .kip-activity-body {
    padding-top: 6px !important;
    justify-content: flex-start !important;
}

body.home .kip-card-link {
    align-self: stretch !important;
    width: auto !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    justify-content: center !important;
}

.kip-hero-line.kip-hero-line-1 {
    margin-bottom: 9px;
}

/* =========================================================
   TYPOGRAPHIE V37 — COHÉRENCE VISUELLE UNIQUEMENT
   Aucun changement de marges, paddings, hauteurs ou structure.
   ========================================================= */
:root {
    --kip-title-font: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    --kip-page-title-size: clamp(66px, 6.4vw, 112px);
    --kip-section-title-size: clamp(48px, 4.5vw, 78px);
    --kip-title-weight: 900;
    --kip-title-spacing: .012em;
    --kip-button-text-size: 12px;
}

/* Titres de pages : même famille, même taille, même graisse. */
.kip-single-activity-hero h1,
.kip-page-shell h1,
.kip-page-hero h1,
.kip-events-hero h1,
.kip-practical-hero h1,
.kip-offers-hero h1,
.kip-contact-page .kip-contact-hero h1 {
    font-family: var(--kip-title-font) !important;
    font-size: var(--kip-page-title-size) !important;
    font-weight: var(--kip-title-weight) !important;
    font-style: italic !important;
    letter-spacing: var(--kip-title-spacing) !important;
}

/* Gros titres de sections : une seule taille / graisse sur tout le site. */
body.home .kip-universe-copy h2,
body.home .kip-activities .kip-section-head h2,
body.home .kip-booking-intro h2,
body.home .kip-reviews-head h2,
body.home .kip-location-copy h2,
body.home .kip-times-head h2,
body.home .kip-instagram-copy h2,
body.home .kip-final-cta h2,
.kip-activity-heading h2,
.kip-related-activities h2,
.kip-page-intro h2,
.kip-page-intro-enhanced h2,
.kip-events-intro h2,
.kip-events-process h2,
.kip-events-final h2,
.kip-practical-visit h2,
.kip-practical-faq h2,
.kip-practical-final h2,
.kip-offers-head h2,
.kip-offers-how-title h2,
.kip-offers-final h2,
.kip-contact-page .kip-contact-intro h2,
.kip-contact-page .kip-contact-form-head h2 {
    font-family: var(--kip-title-font) !important;
    font-size: var(--kip-section-title-size) !important;
    font-weight: var(--kip-title-weight) !important;
    font-style: italic !important;
    letter-spacing: var(--kip-title-spacing) !important;
}

/* Descriptions trop petites : légère hausse, sans toucher à leur placement. */
body.home .kip-hero-copy > p { font-size: 14px !important; }
body.home .kip-universe-copy p { font-size: 15px !important; }
body.home .kip-activity-body p { font-size: 14px !important; }
body.home .kip-booking-intro p { font-size: 15px !important; }
body.home .kip-step-card p { font-size: 13px !important; }
body.home .kip-review-card > p { font-size: 14px !important; }
body.home .kip-location-detail span { font-size: 14px !important; }
body.home .kip-times-head > p { font-size: 13px !important; }
.kip-event-card p { font-size: 15px !important; }
.kip-events-process-head p { font-size: 16px !important; }
.kip-events-steps p { font-size: 14px !important; }
.kip-events-final p { font-size: 15px !important; }
.kip-practical-quick span { font-size: 13px !important; }

/* Boutons / CTA : texte légèrement plus présent partout. */
.kip-btn-header .wp-block-button__link,
.kip-button,
.kip-universe-cta,
.kip-section-link,
body.home .kip-card-link::before,
.kip-booking-cta,
.kip-location-cta,
.kip-reviews-bottom > a,
.kip-times-actions > a,
.kip-instagram-bottom a,
.kip-event-card a,
.kip-price-card a,
.kip-practical-hero-card a {
    font-size: var(--kip-button-text-size) !important;
    font-weight: 900 !important;
}

/* Adaptation typo seulement sur petit écran. */
@media (max-width: 782px) {
    :root {
        --kip-page-title-size: clamp(50px, 14vw, 78px);
        --kip-section-title-size: clamp(40px, 10.5vw, 58px);
    }
}


/* =========================================================
   V38b — Réservation : retour au layout précédent,
   suppression uniquement des barres rouges entre étapes.
   ========================================================= */
body.home .kip-step-line {
    display: none !important;
}

/* =========================================================
   FOOTER V39 — remplacement ciblé d'après la référence fournie.
   Aucun style hors footer n'est modifié.
   ========================================================= */
.kip-site-footer {
    margin: 0 !important;
    padding: 0 !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
    background: #0b0c10 !important;
    color: #fff !important;
    overflow: hidden !important;
}

.kip-footer-v2,
.kip-footer-v2 * {
    box-sizing: border-box;
}

.kip-footer-v2 {
    width: 100%;
    background:
        linear-gradient(180deg, rgba(255,255,255,.018), transparent 45%),
        #0b0c10;
    font-family: Arial, Helvetica, sans-serif;
}

.kip-footer-v2-main {
    width: min(1840px, calc(100% - 64px));
    margin: 0 auto;
    padding: 54px 0 38px;
    display: grid;
    grid-template-columns: minmax(280px, 1.18fr) minmax(150px, .72fr) minmax(170px, .82fr) minmax(180px, .9fr) minmax(330px, 1.22fr);
    gap: clamp(34px, 3.4vw, 70px);
    align-items: start;
}

.kip-footer-v2-brand {
    min-width: 0;
    padding-right: clamp(20px, 2vw, 38px);
    border-right: 1px solid rgba(255,255,255,.10);
}

.kip-footer-v2-logo {
    margin: 0 0 24px;
}

.kip-footer-v2-logo img,
.kip-footer-v2-logo .custom-logo {
    display: block !important;
    width: min(250px, 100%) !important;
    height: auto !important;
    max-height: 105px !important;
    object-fit: contain !important;
    object-position: left center !important;
}

.kip-footer-v2-brand p {
    max-width: 330px;
    margin: 0;
    color: #a7a8ae;
    font-size: 15px;
    line-height: 1.62;
}

.kip-footer-v2-socials {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 26px;
}

.kip-footer-v2-socials a {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 21px;
    line-height: 1;
    font-weight: 900;
    transition: transform .2s ease, filter .2s ease;
}

.kip-footer-v2-socials a:hover {
    transform: translateY(-2px);
    filter: brightness(1.12);
}

.kip-footer-v2-socials .is-facebook { background: #2f67b6; }
.kip-footer-v2-socials .is-instagram { background: linear-gradient(135deg, #7642d8, #e8417f 50%, #f6a23d); }
.kip-footer-v2-socials .is-tiktok { background: #22242a; }
.kip-footer-v2-socials .is-youtube { background: #e5292f; font-size: 17px; }

.kip-footer-v2-col {
    min-width: 0;
    padding-right: clamp(14px, 1.7vw, 30px);
    border-right: 1px solid rgba(255,255,255,.10);
}

.kip-footer-v2-col h3 {
    margin: 4px 0 19px;
    color: #f3f3f5;
    font-size: 16px;
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.kip-footer-v2-col ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.kip-footer-v2-col li {
    margin: 0 0 12px;
    padding: 0;
}

.kip-footer-v2-col a {
    color: #9fa0a6 !important;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 400;
    text-decoration: none !important;
    transition: color .2s ease;
}

.kip-footer-v2-col a:hover {
    color: #fff !important;
}

.kip-footer-v2-map {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 16px;
    background: #14151a;
    box-shadow: 0 14px 35px rgba(0,0,0,.18);
}

.kip-footer-v2-map-media {
    height: 142px;
    overflow: hidden;
    background: #ddd;
}

.kip-footer-v2-map-media iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    filter: saturate(.72) contrast(.96) brightness(1.08);
}

.kip-footer-v2-map-body {
    padding: 18px 20px 20px;
    flex-direction: column;
    align-items: flex-start;
}

.kip-footer-v2-map-body strong {
    margin: 0 0 5px;
    color: #fff;
    font-size: 17px;
    line-height: 1.2;
    font-weight: 800;
}

.kip-footer-v2-map-body span {
    color: #c2c3c8;
    font-size: 14px;
    line-height: 1.45;
}

.kip-footer-v2-map-body a {
    width: 100%;
    margin-top: 17px;
    padding: 13px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 5px;
    color: #f5f5f6 !important;
    font-size: 13px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .035em;
    text-decoration: none !important;
    text-transform: uppercase;
    transition: border-color .2s ease, background .2s ease;
}

.kip-footer-v2-map-body a:hover {
    border-color: #ee0006;
    background: rgba(238,0,6,.08);
}

.kip-footer-v2-bottom {
    width: min(1840px, calc(100% - 64px));
    margin: 0 auto;
    padding: 22px 0 27px;
    border-top: 1px solid rgba(255,255,255,.10);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.kip-footer-v2-bottom p {
    margin: 0;
    color: #85868d;
    font-size: 12px;
    line-height: 1.4;
}

.kip-footer-v2-bottom nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    flex-wrap: wrap;
}

.kip-footer-v2-bottom nav a,
.kip-footer-v2-bottom nav span {
    color: #92939a !important;
    font-size: 12px;
    line-height: 1.4;
    text-decoration: none !important;
}

.kip-footer-v2-bottom nav a:hover {
    color: #fff !important;
}

@media (max-width: 1280px) {
    .kip-footer-v2-main {
        grid-template-columns: minmax(260px, 1.15fr) repeat(3, minmax(145px, .72fr));
    }
    .kip-footer-v2-map {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 1.25fr .75fr;
    }
    .kip-footer-v2-map-media { height: 190px; }
}

@media (max-width: 900px) {
    .kip-footer-v2-main {
        width: min(100% - 40px, 760px);
        grid-template-columns: 1fr 1fr;
        gap: 34px 28px;
        padding-top: 42px;
    }
    .kip-footer-v2-brand {
        grid-column: 1 / -1;
        border-right: 0;
        padding-right: 0;
        padding-bottom: 28px;
        border-bottom: 1px solid rgba(255,255,255,.10);
    }
    .kip-footer-v2-col:nth-of-type(2) { border-right: 0; }
    .kip-footer-v2-map { grid-template-columns: 1fr; }
    .kip-footer-v2-map-media { height: 170px; }
    .kip-footer-v2-bottom {
        width: min(100% - 40px, 760px);
        align-items: flex-start;
        flex-direction: column;
    }
    .kip-footer-v2-bottom nav { justify-content: flex-start; }
}

@media (max-width: 600px) {
    .kip-footer-v2-main {
        width: calc(100% - 32px);
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 36px 0 28px;
    }
    .kip-footer-v2-col {
        padding: 0 0 24px;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.08);
    }
    .kip-footer-v2-col h3 { margin-bottom: 14px; }
    .kip-footer-v2-col li { margin-bottom: 9px; }
    .kip-footer-v2-map { grid-column: auto; }
    .kip-footer-v2-bottom {
        width: calc(100% - 32px);
        padding-bottom: 24px;
    }
    .kip-footer-v2-bottom nav { gap: 10px 12px; }
}

/* =========================================================
   V40 — FOOTER : carte plus compacte uniquement
   Même footer, seule la hauteur du bloc carte est réduite.
   ========================================================= */
.kip-footer-v2-map-media {
    height: 120px !important;
}

.kip-footer-v2-map-body {
    padding: 14px 18px 16px !important;
    gap: 0 !important;
}

.kip-footer-v2-map-body strong {
    margin: 0 0 8px !important;
}

.kip-footer-v2-map-body span {
    margin: 0 !important;
    line-height: 1.35 !important;
}

.kip-footer-v2-map-body span + span {
    margin-top: 2px !important;
}

.kip-footer-v2-map-body a {
    margin-top: 12px !important;
    padding: 11px 14px !important;
}

/* =========================================================
   V41 — INSTAGRAM SPOTLIGHT : uniquement la rangée de publications
   Le titre, la colonne gauche, les espaces et le reste du site restent inchangés.
   ========================================================= */
body.home .kip-instagram-gallery-spotlight {
    display: block !important;
    min-width: 0;
    overflow: hidden;
}

body.home .kip-instagram-gallery-spotlight > * {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.home .kip-instagram-gallery-spotlight img {
    object-fit: cover !important;
}

@media (min-width: 761px) {
    body.home .kip-instagram-gallery-spotlight img {
        height: 160px !important;
    }
}

@media (max-width: 760px) {
    body.home .kip-instagram-gallery-spotlight {
        overflow-x: auto;
        scrollbar-width: none;
    }
    body.home .kip-instagram-gallery-spotlight::-webkit-scrollbar {
        display: none;
    }
    body.home .kip-instagram-gallery-spotlight img {
        height: 170px !important;
    }
}

/* =========================================================
   V42 — INSTAGRAM : titre court + flux pleine largeur + CTA
   Modification limitée au bloc Instagram de la page d'accueil.
   ========================================================= */
body.home .kip-instagram-inner {
    display: block !important;
    min-height: 0 !important;
}

body.home .kip-instagram-copy-minimal {
    padding-bottom: 0 !important;
    justify-content: flex-start !important;
}

body.home .kip-instagram-copy-minimal .kip-section-label {
    margin-bottom: 0 !important;
}

body.home .kip-instagram-gallery-spotlight {
    width: 100% !important;
    padding-left: clamp(36px, 4.8vw, 74px) !important;
    padding-right: 0 !important;
}

body.home .kip-instagram-follow-wrap {
    width: 100%;
    padding: var(--kip-home-inner-gap) 20px 0;
    display: flex;
    justify-content: center;
    background: #0a0b0f;
    padding-bottom: 50px !important;
}

body.home .kip-instagram-follow {
    width: min(290px, calc(100vw - 40px));
}

@media (max-width: 760px) {
    body.home .kip-instagram-copy-minimal {
        padding-bottom: 0 !important;
    }

    body.home .kip-instagram-gallery-spotlight {
        padding-left: 22px !important;
        padding-right: 0 !important;
    }

    body.home .kip-instagram-follow-wrap {
        padding-top: 24px;
    }
}


/* =========================================================
   V43 — INSTAGRAM : suppression de l'espace sous le flux
   Correctif strictement limité au bloc Instagram.
   ========================================================= */
body.home .kip-instagram-gallery-spotlight p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body.home .kip-instagram-gallery-spotlight > p {
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
}

body.home .kip-instagram-follow-wrap {
    padding-top: 24px !important;
}

/* =========================================================
   V44 — INSTAGRAM : CTA « SUIVEZ-NOUS » style DÉCOUVRIR
   Correctif strictement limité au bouton Instagram.
   ========================================================= */
body.home .kip-instagram-follow {
    width: min(230px, calc(100vw - 40px)) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 11px 20px !important;
    justify-content: center !important;
    gap: 0 !important;
    background: transparent !important;
    color: #EE0006 !important;
    border: 1.5px solid #EE0006 !important;
    border-radius: 999px !important;
    clip-path: none !important;
}

body.home .kip-instagram-follow span:last-child {
    display: none !important;
}

body.home .kip-instagram-follow:hover {
    background: #EE0006 !important;
    color: #fff !important;
    transform: translateY(-2px);
}

.kip-instagram-gallery.kip-instagram-gallery-spotlight {
    padding-bottom: 10px !important;
}



/* =========================================================
   V45 — FOOTER : liens légaux alignés à droite
   Modification limitée à la ligne basse du footer sur desktop.
   ========================================================= */
@media (min-width: 761px) {
    .kip-footer-v2-bottom nav {
        margin-left: auto !important;
        justify-content: flex-end !important;
        text-align: right !important;
    }
}

/* =========================================================
   V46 — ACTIVITÉS ACCUEIL : cartes immersives + agrandissement
   Modification strictement limitée à la section Activités de l'accueil.
   La grille, les espacements de section et le reste du site sont inchangés.
   ========================================================= */
body.home .kip-activities-grid {
    counter-reset: kip-home-activity;
}

body.home .kip-activities .kip-activity-card {
    counter-increment: kip-home-activity;
    position: relative;
    min-height: 360px;
    overflow: hidden;
    isolation: isolate;
    cursor: pointer;
    background: #090b10 !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    border-radius: 14px !important;
    transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

body.home .kip-activities .kip-activity-card:hover {
    transform: translateY(-5px);
    border-color: rgba(238,0,6,.7) !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.34);
}

body.home .kip-activities .kip-activity-image {
    position: absolute !important;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100% !important;
    aspect-ratio: auto !important;
    overflow: hidden;
    background: #111319;
}

body.home .kip-activities .kip-activity-image::before {
    display: none !important;
}

body.home .kip-activities .kip-activity-image::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(to bottom,
            rgba(3,4,8,.03) 0%,
            rgba(3,4,8,.08) 34%,
            rgba(3,4,8,.48) 58%,
            rgba(3,4,8,.90) 78%,
            rgba(3,4,8,.985) 100%);
}

body.home .kip-activities .kip-activity-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.002);
    transition: transform .55s cubic-bezier(.2,.7,.2,1), filter .35s ease;
}

body.home .kip-activities .kip-activity-card:hover .kip-activity-image img {
    transform: scale(1.06);
    filter: brightness(1.05) saturate(1.06);
}

body.home .kip-activities .kip-activity-body {
    position: relative;
    z-index: 2;
    width: 100%;
    min-height: 360px;
    padding: 20px 20px 18px !important;
    display: flex !important;
    flex-direction: column;
    justify-content: flex-end !important;
    align-items: flex-start !important;
    text-align: left !important;
    background: transparent !important;
}

body.home .kip-activities .kip-activity-body::before {
    content: counter(kip-home-activity, decimal-leading-zero);
    display: block;
    margin: 0 0 7px;
    color: #EE0006;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    line-height: 1;
    font-weight: 900;
    font-style: italic;
    letter-spacing: .08em;
}

body.home .kip-activities .kip-activity-body h3 {
    margin: 0 !important;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(22px, 1.55vw, 28px) !important;
    line-height: .98 !important;
    font-weight: 900 !important;
    font-style: italic !important;
    letter-spacing: 1px !important;
    text-transform: uppercase;
    text-shadow: 0 3px 18px rgba(0,0,0,.45);
}

body.home .kip-activities .kip-activity-body h3::after {
    content: "";
    display: block;
    width: 82px;
    height: 2px;
    margin: 10px 0 11px;
    background: #EE0006;
}

body.home .kip-activities .kip-activity-rule {
    display: none !important;
}

body.home .kip-activities .kip-activity-body p {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    max-width: 96%;
    margin: 0 0 13px !important;
    color: rgba(255,255,255,.92) !important;
    font-size: 12px !important;
    line-height: 1.42 !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.45);
}

body.home .kip-activities .kip-card-link {
    align-self: flex-start !important;
    width: auto !important;
    min-width: 136px;
    margin: 0 !important;
    padding: 9px 17px !important;
    justify-content: center !important;
    border: 1.5px solid #EE0006 !important;
    border-radius: 999px !important;
    background: rgba(5,6,9,.28) !important;
    color: #EE0006 !important;
    font-size: 0 !important;
    backdrop-filter: blur(2px);
    transition: background .22s ease, color .22s ease, transform .22s ease;
}

body.home .kip-activities .kip-card-link::before {
    content: "DÉCOUVRIR" !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .07em !important;
}

body.home .kip-activities .kip-card-link span {
    display: none !important;
}

body.home .kip-activities .kip-activity-card:hover .kip-card-link {
    background: #EE0006 !important;
    color: #fff !important;
}

body.home .kip-activities .kip-activity-card:focus-visible {
    outline: 2px solid #EE0006;
    outline-offset: 3px;
}

/* Fenêtre d'agrandissement : créée uniquement au clic sur une activité de l'accueil. */
.kip-activity-modal[hidden] {
    display: none !important;
}

.kip-activity-modal {
    position: fixed;
    z-index: 100000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 18px;
}

.kip-activity-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(3,4,8,.84);
    backdrop-filter: blur(7px);
}

.kip-activity-modal__panel {
    position: relative;
    z-index: 1;
    width: min(650px, calc(100vw - 36px));
    height: min(780px, calc(100vh - 36px));
    min-height: 520px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 20px;
    background: #090b10;
    box-shadow: 0 34px 100px rgba(0,0,0,.66), 0 0 44px rgba(238,0,6,.08);
    animation: kipActivityModalIn .24s ease both;
}

@keyframes kipActivityModalIn {
    from { opacity: 0; transform: translateY(14px) scale(.975); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.kip-activity-modal__media,
.kip-activity-modal__media::after {
    position: absolute;
    inset: 0;
}

.kip-activity-modal__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.kip-activity-modal__media::after {
    content: "";
    background:
        linear-gradient(to bottom,
            rgba(3,4,8,.02) 0%,
            rgba(3,4,8,.10) 30%,
            rgba(3,4,8,.54) 58%,
            rgba(3,4,8,.94) 82%,
            rgba(3,4,8,.995) 100%);
}

.kip-activity-modal__content {
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    bottom: 0;
    padding: clamp(26px, 4vw, 42px);
    color: #fff;
}

.kip-activity-modal__eyebrow {
    display: block;
    margin-bottom: 12px;
    color: #EE0006;
    font-size: 11px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.kip-activity-modal__title {
    margin: 0;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(44px, 6vw, 72px);
    line-height: .9;
    font-weight: 900;
    font-style: italic;
    letter-spacing: .01em;
    text-transform: uppercase;
    text-shadow: 0 5px 24px rgba(0,0,0,.55);
}

.kip-activity-modal__line {
    display: block;
    width: 104px;
    height: 4px;
    margin: 17px 0 20px;
    background: #EE0006;
}

.kip-activity-modal__desc {
    max-width: 520px;
    margin: 0 0 24px;
    color: rgba(255,255,255,.94);
    font-size: clamp(15px, 1.5vw, 18px);
    line-height: 1.48;
}

.kip-activity-modal__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-width: 190px;
    padding: 13px 23px;
    color: #fff !important;
    border: 1.5px solid #EE0006;
    border-radius: 999px;
    background: #EE0006;
    font-size: 11px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease;
}

.kip-activity-modal__cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(238,0,6,.28);
}

.kip-activity-modal__close {
    position: absolute;
    z-index: 4;
    top: 16px;
    right: 16px;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
    background: rgba(4,5,8,.62);
    color: #fff;
    font: 400 27px/1 Arial, Helvetica, sans-serif;
    cursor: pointer;
    backdrop-filter: blur(4px);
}

body.kip-activity-modal-open {
    overflow: hidden !important;
}

@media (max-width: 760px) {
    body.home .kip-activities .kip-activity-card,
    body.home .kip-activities .kip-activity-body {
        min-height: 390px;
    }

    .kip-activity-modal {
        padding: 12px;
    }

    .kip-activity-modal__panel {
        width: calc(100vw - 24px);
        height: min(76vh, 680px);
        min-height: 500px;
        border-radius: 16px;
    }

    .kip-activity-modal__content {
        padding: 26px 22px 24px;
    }

    .kip-activity-modal__title {
        font-size: clamp(38px, 12vw, 58px);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.home .kip-activities .kip-activity-card,
    body.home .kip-activities .kip-activity-image img,
    .kip-activity-modal__panel {
        transition: none !important;
        animation: none !important;
    }
}


/* =========================================================
   V47 — ACTIVITÉS : sans numéros + agrandissement intégré sur le côté
   Correctif strictement limité à la section Activités de l'accueil.
   ========================================================= */

/* Retire uniquement les petits numéros 01, 02, 03... */
body.home .kip-activities .kip-activity-body::before {
    content: none !important;
    display: none !important;
}

/* La grille actuelle reste inchangée tant qu'aucune activité n'est ouverte. */
body.home .kip-activities .kip-activities-grid.kip-activities-grid--hidden {
    display: none !important;
}

body.home .kip-activities .kip-activity-expanded-layout[hidden] {
    display: none !important;
}

/* Vue ouverte : grande activité à gauche + autres activités à droite. */
body.home .kip-activities .kip-activity-expanded-layout {
    width: 100%;
    height: clamp(560px, 42vw, 680px);
    display: grid;
    grid-template-columns: minmax(360px, .92fr) minmax(0, 1.58fr);
    gap: 14px;
    align-items: stretch;
}

body.home .kip-activities .kip-activity-focus {
    position: relative;
    min-width: 0;
    height: 100%;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 16px;
    background: #090b10;
    box-shadow: 0 24px 60px rgba(0,0,0,.28);
}

body.home .kip-activities .kip-activity-focus__media {
    position: absolute;
    z-index: 0;
    inset: 0;
}

body.home .kip-activities .kip-activity-focus__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

body.home .kip-activities .kip-activity-focus__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to bottom,
            rgba(3,4,8,.03) 0%,
            rgba(3,4,8,.08) 28%,
            rgba(3,4,8,.42) 53%,
            rgba(3,4,8,.88) 78%,
            rgba(3,4,8,.99) 100%);
}

body.home .kip-activities .kip-activity-focus__content {
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    bottom: 0;
    padding: clamp(24px, 3vw, 38px);
    color: #fff;
}

body.home .kip-activities .kip-activity-focus__eyebrow {
    display: block;
    margin: 0 0 12px;
    color: #EE0006;
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

body.home .kip-activities .kip-activity-focus__title {
    margin: 0 !important;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(46px, 4.5vw, 70px) !important;
    line-height: .9 !important;
    font-weight: 900 !important;
    font-style: italic !important;
    letter-spacing: .01em !important;
    text-transform: uppercase;
    text-shadow: 0 5px 24px rgba(0,0,0,.55);
}

body.home .kip-activities .kip-activity-focus__line {
    display: block;
    width: 96px;
    height: 4px;
    margin: 16px 0 18px;
    background: #EE0006;
}

body.home .kip-activities .kip-activity-focus__desc {
    max-width: 520px;
    margin: 0 0 22px !important;
    color: rgba(255,255,255,.94) !important;
    font-size: clamp(14px, 1.25vw, 17px) !important;
    line-height: 1.5 !important;
}

body.home .kip-activities .kip-activity-focus__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-width: 188px;
    padding: 13px 22px;
    border: 1.5px solid #EE0006;
    border-radius: 999px;
    background: #EE0006;
    color: #fff !important;
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease;
}

body.home .kip-activities .kip-activity-focus__cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(238,0,6,.28);
}

body.home .kip-activities .kip-activity-focus__close {
    position: absolute;
    z-index: 4;
    top: 15px;
    right: 15px;
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255,255,255,.26);
    border-radius: 50%;
    background: rgba(4,5,8,.58);
    color: #fff;
    font: 400 25px/1 Arial, Helvetica, sans-serif;
    cursor: pointer;
    backdrop-filter: blur(5px);
}

body.home .kip-activities .kip-activity-expanded-side,
body.home .kip-activities .kip-activity-expanded-list {
    min-width: 0;
    height: 100%;
}

body.home .kip-activities .kip-activity-expanded-list {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: minmax(0, 1.06fr) minmax(0, .94fr);
    gap: 14px;
}

/* 3 cartes en haut */
body.home .kip-activities .kip-activity-side-card:nth-child(-n+3) {
    grid-column: span 4;
    grid-row: 1;
}

/* 4 cartes en bas */
body.home .kip-activities .kip-activity-side-card:nth-child(n+4) {
    grid-column: span 3;
    grid-row: 2;
}

body.home .kip-activities .kip-activity-side-card {
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100% !important;
    border-radius: 14px !important;
    cursor: pointer;
}

body.home .kip-activities .kip-activity-side-card .kip-activity-body {
    min-height: 0 !important;
    height: 100%;
    padding: 16px 16px 15px !important;
}

body.home .kip-activities .kip-activity-side-card .kip-activity-body h3 {
    font-size: clamp(16px, 1.3vw, 22px) !important;
    letter-spacing: .5px !important;
}

body.home .kip-activities .kip-activity-side-card .kip-activity-body h3::after {
    width: 64px;
    margin: 8px 0 9px;
}

body.home .kip-activities .kip-activity-side-card .kip-activity-body p {
    max-width: 100%;
    margin-bottom: 10px !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}

body.home .kip-activities .kip-activity-side-card .kip-card-link {
    min-width: 118px;
    padding: 8px 13px !important;
}

body.home .kip-activities .kip-activity-side-card .kip-card-link::before {
    font-size: 9px !important;
}

/* Cartes de la rangée basse un peu plus compactes, comme la référence. */
body.home .kip-activities .kip-activity-side-card:nth-child(n+4) .kip-activity-body {
    padding: 14px 14px 13px !important;
}

body.home .kip-activities .kip-activity-side-card:nth-child(n+4) .kip-activity-body h3 {
    font-size: clamp(15px, 1.15vw, 19px) !important;
}

body.home .kip-activities .kip-activity-side-card:nth-child(n+4) .kip-activity-body p {
    font-size: 10px !important;
}

body.home .kip-activities .kip-activity-side-card:nth-child(n+4) .kip-card-link {
    min-width: 104px;
    padding: 7px 11px !important;
}

@media (max-width: 1050px) {
    body.home .kip-activities .kip-activity-expanded-layout {
        height: auto;
        grid-template-columns: 1fr;
    }

    body.home .kip-activities .kip-activity-focus {
        min-height: 580px;
    }

    body.home .kip-activities .kip-activity-expanded-list {
        height: auto;
        grid-template-columns: repeat(2, minmax(0,1fr));
        grid-template-rows: none;
    }

    body.home .kip-activities .kip-activity-side-card:nth-child(n) {
        grid-column: auto;
        grid-row: auto;
        min-height: 320px !important;
    }
}

@media (max-width: 620px) {
    body.home .kip-activities .kip-activity-focus {
        min-height: 500px;
    }

    body.home .kip-activities .kip-activity-focus__content {
        padding: 24px 20px 22px;
    }

    body.home .kip-activities .kip-activity-focus__title {
        font-size: clamp(38px, 12vw, 54px) !important;
    }

    body.home .kip-activities .kip-activity-expanded-list {
        grid-template-columns: 1fr;
    }

    body.home .kip-activities .kip-activity-side-card:nth-child(n) {
        min-height: 360px !important;
    }
}

/* =========================================================
   V48 — ACTIVITÉS ACCUEIL : cartes épurées + fiche enrichie
   Correctif strictement limité à la section Activités.
   ========================================================= */

/* Cartes de la grille : pas de description, contenu centré. */
body.home .kip-activities .kip-activity-card .kip-activity-body,
body.home .kip-activities .kip-activity-side-card .kip-activity-body {
    align-items: center !important;
    text-align: center !important;
}

body.home .kip-activities .kip-activity-card .kip-activity-body p,
body.home .kip-activities .kip-activity-side-card .kip-activity-body p {
    display: none !important;
}

body.home .kip-activities .kip-activity-card .kip-activity-body h3::after,
body.home .kip-activities .kip-activity-side-card .kip-activity-body h3::after {
    margin-left: auto !important;
    margin-right: auto !important;
}

body.home .kip-activities .kip-activity-card .kip-card-link,
body.home .kip-activities .kip-activity-side-card .kip-card-link {
    align-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    margin-top: 8px !important;
    padding: 12px 18px !important;
}

body.home .kip-activities .kip-activity-side-card:nth-child(n+4) .kip-card-link {
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px 12px !important;
}

/* Grande fiche : titre en haut, infos pratiques au centre, CTA en bas. */
body.home .kip-activities .kip-activity-focus__media::after {
    background:
        linear-gradient(to right, rgba(3,4,8,.80) 0%, rgba(3,4,8,.38) 58%, rgba(3,4,8,.08) 100%),
        linear-gradient(to bottom, rgba(3,4,8,.16) 0%, rgba(3,4,8,.10) 38%, rgba(3,4,8,.82) 100%) !important;
}

body.home .kip-activities .kip-activity-focus__content {
    inset: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    padding: clamp(24px, 3vw, 38px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

body.home .kip-activities .kip-activity-focus__head {
    width: min(92%, 560px);
}

body.home .kip-activities .kip-activity-focus__desc {
    max-width: 470px !important;
    margin-bottom: 0 !important;
}

body.home .kip-activities .kip-activity-focus__facts {
    width: min(100%, 560px);
    margin-top: auto;
    margin-bottom: 18px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 22px;
}

body.home .kip-activities .kip-activity-focus__facts[hidden] {
    display: none !important;
}

body.home .kip-activities .kip-activity-focus__fact {
    min-width: 0;
    padding: 10px 0 10px 15px;
    border-left: 3px solid #EE0006;
}

body.home .kip-activities .kip-activity-focus__fact span,
body.home .kip-activities .kip-activity-focus__fact strong,
body.home .kip-activities .kip-activity-focus__fact small {
    display: block;
}

body.home .kip-activities .kip-activity-focus__fact span {
    margin-bottom: 4px;
    color: rgba(255,255,255,.62);
    font-size: 9px;
    line-height: 1.15;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}

body.home .kip-activities .kip-activity-focus__fact strong {
    color: #fff;
    font-size: clamp(13px, 1.05vw, 16px);
    line-height: 1.2;
    font-weight: 900;
}

body.home .kip-activities .kip-activity-focus__fact small {
    margin-top: 3px;
    color: rgba(255,255,255,.72);
    font-size: 10px;
    line-height: 1.3;
}

body.home .kip-activities .kip-activity-focus__cta {
    width: min(100%, 320px) !important;
    min-width: 0 !important;
    padding: 15px 24px !important;
    font-size: 11px !important;
}

@media (max-width: 620px) {
    body.home .kip-activities .kip-activity-focus__head {
        width: 100%;
    }

    body.home .kip-activities .kip-activity-focus__facts {
        width: 100%;
        grid-template-columns: 1fr 1fr;
        gap: 6px 14px;
    }

    body.home .kip-activities .kip-activity-focus__fact {
        padding-left: 10px;
    }

    body.home .kip-activities .kip-activity-focus__cta {
        width: 100% !important;
    }
}


/* =========================================================
   V49 — ACTIVITÉS ACCUEIL : bouton DÉCOUVRIR toujours visible
   Correctif strictement limité à l'intérieur des vignettes.
   ========================================================= */
body.home .kip-activities .kip-activity-card .kip-activity-body {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 20px 22px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: center !important;
    text-align: center !important;
}

body.home .kip-activities .kip-activity-card .kip-card-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    margin: 8px 0 0 !important;
    padding: 12px 18px !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* =========================================================
   V50 — ACTIVITÉS ACCUEIL : CTA DÉCOUVRIR ancré en bas
   Correctif strictement limité aux vignettes Activités.
   ========================================================= */
body.home .kip-activities .kip-activity-card .kip-activity-body {
    padding-bottom: 78px !important;
}

body.home .kip-activities .kip-activity-card .kip-card-link {
    position: absolute !important;
    z-index: 6 !important;
    left: 22px !important;
    right: 22px !important;
    bottom: 20px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* =========================================================
   V51 — ACTIVITÉS ACCUEIL : correction réelle du CTA
   Le body était en height:100% + padding avec box-sizing content-box,
   ce qui plaçait le bas (et donc le bouton absolu) hors de la vignette.
   Correction strictement limitée aux cartes Activités de l'accueil.
   ========================================================= */
body.home .kip-activities .kip-activity-card .kip-activity-body {
    box-sizing: border-box !important;
}

/* =========================================================
   V52 — ACTIVITÉS ACCUEIL : afficher réellement le bouton
   Le lien .kip-card-link existe déjà dans le HTML, mais il est
   placé dans un <p> masqué par la règle V48. On réaffiche
   uniquement le <p> qui contient le CTA, sans toucher au reste.
   ========================================================= */
body.home .kip-activities .kip-activity-card .kip-activity-body > p:has(> .kip-card-link),
body.home .kip-activities .kip-activity-side-card .kip-activity-body > p:has(> .kip-card-link) {
    display: block !important;
    position: absolute !important;
    z-index: 7 !important;
    left: 22px !important;
    right: 22px !important;
    bottom: 20px !important;
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
}

body.home .kip-activities .kip-activity-card .kip-activity-body > p:has(> .kip-card-link) > .kip-card-link,
body.home .kip-activities .kip-activity-side-card .kip-activity-body > p:has(> .kip-card-link) > .kip-card-link {
    position: static !important;
    display: flex !important;
    width: 100% !important;
    height: 42px !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 18px !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1.5px solid #EE0006 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #EE0006 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}


/* =========================================================
   V53 — ACTIVITÉS ACCUEIL : mise en page demandée
   - texte des boutons en blanc
   - titre + barre en haut des vignettes
   - bouton conservé en bas
   - fiche ouverte : Âge / Durée / Tarif en une seule colonne
   - cartes latérales stabilisées pour éviter les chevauchements
   ========================================================= */

/* Grille principale : contenu en haut, CTA toujours ancré en bas. */
body.home .kip-activities .kip-activity-card .kip-activity-body {
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: center !important;
    padding: 20px 22px 78px !important;
}

body.home .kip-activities .kip-activity-card .kip-activity-body h3 {
    position: relative !important;
    z-index: 3 !important;
    margin: 0 !important;
    width: 100% !important;
}

body.home .kip-activities .kip-activity-card .kip-activity-body h3::after {
    margin: 10px auto 0 !important;
}

/* CTA des vignettes : contour rouge, fond transparent, texte blanc. */
body.home .kip-activities .kip-activity-card .kip-card-link,
body.home .kip-activities .kip-activity-side-card .kip-card-link,
body.home .kip-activities .kip-activity-card .kip-card-link::before,
body.home .kip-activities .kip-activity-side-card .kip-card-link::before {
    color: #fff !important;
}

/* Vue ouverte : les trois informations sont empilées verticalement. */
body.home .kip-activities .kip-activity-focus__facts {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: min(100%, 560px) !important;
}

body.home .kip-activities .kip-activity-focus__fact {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Cartes à droite dans la vue ouverte : même logique haut/bas, sans chevauchement. */
body.home .kip-activities .kip-activity-side-card .kip-activity-body {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: center !important;
    padding: 16px 16px 68px !important;
    overflow: hidden !important;
}

body.home .kip-activities .kip-activity-side-card .kip-activity-body h3 {
    position: relative !important;
    z-index: 3 !important;
    width: 100% !important;
    margin: 0 !important;
    font-size: clamp(16px, 1.3vw, 22px) !important;
    line-height: 1 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

body.home .kip-activities .kip-activity-side-card .kip-activity-body h3::after {
    width: 64px !important;
    margin: 8px auto 0 !important;
}

body.home .kip-activities .kip-activity-side-card .kip-activity-body > p:not(:has(> .kip-card-link)) {
    display: none !important;
}

body.home .kip-activities .kip-activity-side-card .kip-activity-body > p:has(> .kip-card-link) {
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
}

body.home .kip-activities .kip-activity-side-card .kip-activity-body > p:has(> .kip-card-link) > .kip-card-link {
    height: 40px !important;
    padding: 0 10px !important;
}

/* Rangée basse : cartes plus petites, donc titre légèrement réduit. */
body.home .kip-activities .kip-activity-side-card:nth-child(n+4) .kip-activity-body {
    padding: 14px 12px 62px !important;
}

body.home .kip-activities .kip-activity-side-card:nth-child(n+4) .kip-activity-body h3 {
    font-size: clamp(13px, 1.05vw, 18px) !important;
}

body.home .kip-activities .kip-activity-side-card:nth-child(n+4) .kip-activity-body > p:has(> .kip-card-link) {
    left: 10px !important;
    right: 10px !important;
    bottom: 10px !important;
}

@media (max-width: 620px) {
    body.home .kip-activities .kip-activity-focus__facts {
        display: flex !important;
        flex-direction: column !important;
    }
}

/* =========================================================
   V54 — CORRECTIFS CIBLÉS DEMANDÉS
   Uniquement : Bowling hero, titres Activités, Réservation, Avis.
   Aucun autre bloc du site n'est modifié.
   ========================================================= */

/* 1) HERO : Bowling reprend le rouge KIP comme les autres activités. */
body.home .kip-panel-bowling .kip-panel-label h3 {
    color: #EE0006 !important;
}

/* 2) ACTIVITÉS : titre un peu plus grand/présent + léger fond noir derrière. */
body.home .kip-activities .kip-activity-card .kip-activity-body h3 {
    font-size: clamp(28px, 1.9vw, 35px) !important;
    font-weight: 950 !important;
    padding: 9px 18px 8px !important;
    box-sizing: border-box !important;
    background: linear-gradient(
        90deg,
        rgba(0,0,0,0) 0%,
        rgba(0,0,0,.46) 18%,
        rgba(0,0,0,.56) 50%,
        rgba(0,0,0,.46) 82%,
        rgba(0,0,0,0) 100%
    ) !important;
    text-shadow: 0 3px 14px rgba(0,0,0,.8) !important;
    -webkit-text-stroke: .15px rgba(255,255,255,.7);
}

/* La barre rouge reste juste sous le titre malgré le nouveau padding. */
body.home .kip-activities .kip-activity-card .kip-activity-body h3::after {
    margin-top: 8px !important;
}

/* 3) RÉSERVATION : titre sur exactement 2 lignes sur desktop. */
@media (min-width: 901px) {
    body.home .kip-booking-intro h2 {
        font-size: clamp(52px, 3.45vw, 66px) !important;
        white-space: nowrap !important;
    }
}

/* Suppression du texte sous le titre, comme demandé. */
body.home .kip-booking-intro > p {
    display: none !important;
}

/* On conserve une respiration normale entre le titre et le CTA. */
body.home .kip-booking-intro .kip-booking-cta {
    margin-top: 26px !important;
}

/* 4) AVIS : encadrés moins hauts et légèrement plus larges sur desktop. */
@media (min-width: 901px) {
    body.home .kip-review-card {
        flex: 0 0 clamp(350px, 23vw, 420px) !important;
        min-width: 350px !important;
        min-height: 154px !important;
        padding: 18px 22px 16px !important;
    }

    body.home .kip-review-quote {
        height: 20px !important;
        font-size: 27px !important;
    }

    body.home .kip-review-card > p {
        margin: 5px 0 14px !important;
        line-height: 1.42 !important;
    }
}

/* =========================================================
   V55 — DEUX CORRECTIFS CIBLÉS UNIQUEMENT
   1) Activités : dégradé noir depuis le bord haut et les côtés
      jusqu'à la zone du titre, sans modifier la grille.
   2) Réservation : conserver le texte supprimé mais réafficher
      explicitement le bouton RÉSERVER MAINTENANT.
   ========================================================= */

/* ACTIVITÉS : le dégradé appartient maintenant à la carte entière,
   depuis le haut et les côtés, au lieu d'être seulement derrière le titre. */
body.home .kip-activities .kip-activity-card::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
    height: 150px;
    pointer-events: none;
    background:
        linear-gradient(
            to bottom,
            rgba(0,0,0,.68) 0%,
            rgba(0,0,0,.50) 44%,
            rgba(0,0,0,.24) 72%,
            rgba(0,0,0,0) 100%
        ),
        linear-gradient(
            to right,
            rgba(0,0,0,.46) 0%,
            rgba(0,0,0,.16) 20%,
            rgba(0,0,0,.08) 50%,
            rgba(0,0,0,.16) 80%,
            rgba(0,0,0,.46) 100%
        );
}

/* On retire le petit bandeau noir local du titre : le nouveau dégradé
   de la carte fait désormais ce travail. */
body.home .kip-activities .kip-activity-card .kip-activity-body h3 {
    background: transparent !important;
    position: relative !important;
    z-index: 3 !important;
}

/* RÉSERVATION : le texte descriptif reste supprimé. */
body.home .kip-booking-intro > p {
    display: none !important;
}

/* Mais le CTA d'origine doit rester visible sous le titre. */
body.home .kip-booking-intro .kip-booking-cta {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 3 !important;
    margin-top: 26px !important;
}

/* =========================================================
   V58 — ACTIVITÉS : dégradé haut lissé, sans démarcation.
   Correction ciblée uniquement sur l’overlay des vignettes.
   ========================================================= */
body.home .kip-activities .kip-activity-card::before {
    inset: 0 !important;
    height: auto !important;
    background:
        linear-gradient(
            to bottom,
            rgba(0,0,0,.62) 0%,
            rgba(0,0,0,.50) 16%,
            rgba(0,0,0,.34) 30%,
            rgba(0,0,0,.18) 44%,
            rgba(0,0,0,.07) 56%,
            rgba(0,0,0,0) 68%
        ),
        linear-gradient(
            to right,
            rgba(0,0,0,.24) 0%,
            rgba(0,0,0,.10) 14%,
            rgba(0,0,0,0) 30%,
            rgba(0,0,0,0) 70%,
            rgba(0,0,0,.10) 86%,
            rgba(0,0,0,.24) 100%
        ) !important;
}

/* =========================================================
   V59 — RÉSERVATION : correction ciblée du CTA uniquement.
   WordPress entoure le bouton d'un <p>. Le précédent sélecteur
   masquait donc le parent du bouton avec display:none.
   ========================================================= */

/* Réaffiche les wrappers <p> de la zone réservation. */
body.home .kip-booking-intro > p {
    display: block !important;
}

/* Les paragraphes réellement vides ne prennent aucune place. */
body.home .kip-booking-intro > p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Le <p> généré autour du bouton ne doit ajouter aucun espacement. */
body.home .kip-booking-intro > p:has(> .kip-booking-cta) {
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
}

/* Le bouton conserve exactement son style existant. */
body.home .kip-booking-intro .kip-booking-cta {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 26px !important;
}

body.home .kip-activities .kip-activity-card:nth-child(8) .kip-activity-body h3 {
    font-size: clamp(28px, 1.9vw, 35px) !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
    letter-spacing: .5px !important;
    text-align: center !important;
    white-space: nowrap !important;
}

/* =========================================================
   V60 — INFOS PRATIQUES : image de carte statique
   Modification strictement limitée au visuel de la carte.
   ========================================================= */
body.home .kip-location-map {
    background-image: url('../images/map-kip.png') !important;
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

body.home .kip-location-map .kip-map-embed {
    display: none !important;
}

/* L'image fournie contient déjà son repère de localisation. */
body.home .kip-location-map .kip-map-pin {
    display: none !important;
}

/* Pas de voile supplémentaire : on conserve le rendu de l'image fournie. */
body.home .kip-location-map .kip-map-overlay {
    background: transparent !important;
}

/* =========================================================
   V61 — HEADER : dropdown Activités dynamique.
   ========================================================= */
.kip-navigation .kip-nav-activities{position:relative}
.kip-navigation .kip-nav-activities>a{display:inline-flex;align-items:center;gap:6px}
.kip-navigation .kip-nav-activities>a::before{content:""}
.kip-navigation .kip-activity-dropdown{
    position:absolute;left:50%;top:calc(100% + 17px);z-index:1200;
    width:250px;margin:0;padding:10px 0;list-style:none;
    transform:translate(-50%,8px);opacity:0;visibility:hidden;pointer-events:none;
    background:#0d0e13;border:1px solid rgba(255,255,255,.12);
    box-shadow:0 24px 50px rgba(0,0,0,.45);
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.kip-navigation .kip-nav-activities:hover>.kip-activity-dropdown,
.kip-navigation .kip-nav-activities:focus-within>.kip-activity-dropdown,
.kip-navigation .kip-nav-activities.is-open>.kip-activity-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.kip-navigation .kip-activity-dropdown li{display:block;margin:0;padding:0}
.kip-navigation .kip-activity-dropdown a{display:block;padding:12px 18px;color:#fff!important;font-size:11px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap}
.kip-navigation .kip-activity-dropdown a::after{display:none!important}
.kip-navigation .kip-activity-dropdown a:hover{background:#EE0006;color:#fff!important}
@media(max-width:781px){
    .kip-navigation .kip-nav-activities{width:100%}
    .kip-navigation .kip-activity-dropdown{position:static;width:100%;transform:none!important;display:none;opacity:1;visibility:visible;pointer-events:auto;border:0;border-left:2px solid #EE0006;box-shadow:none;background:#101116;margin:8px 0 0 0}
    .kip-navigation .kip-nav-activities.is-open>.kip-activity-dropdown{display:block}
}

/* =========================================================
   V61 — PAGE ACTIVITÉ DÉDIÉE
   Reproduction de la structure du modèle : Hero, tarifs,
   raisons, visite virtuelle centrée, galerie, FAQ, CTA final.
   Ces styles ne s'appliquent qu'aux fiches kip_activity.
   ========================================================= */
.kip-single-activity-v2{background:#08090d;color:#fff;overflow:hidden}
.kip-activity-v2-shell{width:min(1240px,calc(100% - 9vw));margin:0 auto}
.kip-activity-v2-hero{position:relative;min-height:610px;display:flex;align-items:center;background-image:var(--kip-activity-hero);background-size:cover;background-position:center;isolation:isolate}
.kip-activity-v2-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,6,9,.95) 0%,rgba(5,6,9,.84) 34%,rgba(5,6,9,.26) 64%,rgba(5,6,9,.12) 100%),linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.32))}
.kip-activity-v2-hero-inner{position:relative;min-height:610px;display:flex;align-items:center;padding:64px 0}
.kip-activity-v2-hero-copy{width:min(620px,50%)}
.kip-activity-v2-badge{display:inline-flex;margin-bottom:14px;padding:6px 10px;background:#EE0006;color:#fff;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;transform:skew(-8deg)}
.kip-activity-v2-hero h1{margin:0 0 18px;font-family:var(--kip-title-font,Impact,sans-serif)!important;font-size:clamp(64px,6.4vw,104px)!important;line-height:.84!important;font-weight:900!important;font-style:italic!important;letter-spacing:-.025em!important;text-transform:uppercase}
.kip-activity-v2-hero h1 span,.kip-activity-v2-hero h1 strong{display:block}
.kip-activity-v2-hero h1 strong{color:#EE0006}
.kip-activity-v2-hero-copy>p{max-width:540px;margin:0 0 18px;color:#e4e4e7;font-size:15px;line-height:1.55;font-weight:600}
.kip-activity-v2-hero-price{display:flex;align-items:flex-end;gap:10px;margin:10px 0 18px}
.kip-activity-v2-hero-price strong{color:#EE0006;font-family:var(--kip-title-font,Impact,sans-serif);font-size:48px;font-style:italic;line-height:.9}
.kip-activity-v2-hero-price span{padding-bottom:4px;color:#fff;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.kip-activity-v2-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-width:245px;padding:16px 20px;background:#EE0006;color:#fff;font-size:11px;font-weight:900;letter-spacing:.035em;text-transform:uppercase;clip-path:polygon(0 0,100% 0,94% 100%,0 100%)}
.kip-activity-v2-quick{display:flex;flex-wrap:wrap;gap:16px;margin-top:22px;color:#e9e9eb;font-size:10px;font-weight:800;text-transform:uppercase}
.kip-activity-v2-quick span{display:flex;align-items:center;gap:7px}.kip-activity-v2-quick b{color:#EE0006;font-size:14px}
.kip-activity-v2-virtual-pill{position:absolute;right:0;bottom:56px;display:grid;grid-template-columns:40px auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:13px 18px;background:rgba(5,6,9,.78);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px)}
.kip-activity-v2-virtual-pill>span{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border:1px solid #EE0006;border-radius:50%}.kip-activity-v2-virtual-pill b{font-size:10px}.kip-activity-v2-virtual-pill small{color:#EE0006;font-size:8px;font-weight:900;letter-spacing:.07em}

.kip-activity-v2-prices,.kip-activity-v2-reasons,.kip-activity-v2-gallery,.kip-activity-v2-faq{padding:82px 0;background:#090a0e}
.kip-activity-v2-reasons,.kip-activity-v2-faq{background:#050609}
.kip-activity-v2-heading span{display:block;margin-bottom:10px;color:#d9d9dc;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.kip-activity-v2-heading span::first-letter{color:#EE0006}
.kip-activity-v2-heading h2{margin:0;font-family:var(--kip-title-font,Impact,sans-serif);font-size:clamp(42px,4vw,66px);line-height:.9;font-style:italic;font-weight:900;text-transform:uppercase}.kip-activity-v2-heading h2 strong{color:#EE0006}
.kip-activity-v2-heading.is-centered{text-align:center;margin-bottom:38px}
.kip-activity-v2-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:930px;margin:0 auto}
.kip-activity-v2-price-card{position:relative;min-height:220px;padding:28px 24px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;background:#111218;border:1px solid rgba(255,255,255,.18);overflow:hidden}
.kip-activity-v2-price-card::before{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:#EE0006}.kip-activity-v2-price-card h3{margin:0 0 14px;font-size:14px;font-weight:900;text-transform:uppercase}.kip-activity-v2-price-card>strong{color:#EE0006;font-family:var(--kip-title-font,Impact,sans-serif);font-size:46px;font-style:italic;line-height:1}.kip-activity-v2-price-card p{min-height:36px;margin:12px 0 16px;color:#aaaab0;font-size:12px;line-height:1.45}.kip-activity-v2-price-card a{margin-top:auto;width:100%;padding:11px 14px;background:#EE0006;color:#fff;font-size:10px;font-weight:900;text-transform:uppercase}
.kip-activity-v2-prices-all{text-align:center;margin-top:20px}.kip-activity-v2-prices-all a{display:inline-flex;gap:18px;padding:11px 26px;border:1px solid #EE0006;color:#fff;font-size:10px;font-weight:900;text-transform:uppercase}.kip-activity-v2-prices-all a span{color:#EE0006}

.kip-activity-v2-reasons-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;max-width:1020px;margin:0 auto}.kip-activity-v2-reasons-grid figure{margin:0;height:390px;overflow:hidden}.kip-activity-v2-reasons-grid img{width:100%;height:100%;object-fit:cover}.kip-activity-v2-reasons-intro{margin-bottom:20px;color:#b9bac0;font-size:14px;line-height:1.65}.kip-activity-v2-reasons-intro p{margin-top:0}.kip-activity-v2-reasons-copy ul{list-style:none;margin:0;padding:0;display:grid;gap:16px}.kip-activity-v2-reasons-copy li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start}.kip-activity-v2-reasons-copy i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#EE0006;color:#fff;font-style:normal;font-size:12px;font-weight:900}.kip-activity-v2-reasons-copy strong{display:block;margin-bottom:3px;font-size:13px}.kip-activity-v2-reasons-copy li p{margin:0;color:#aaaab0;font-size:12px;line-height:1.45}.kip-activity-v2-practical{margin:22px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);color:#ddd;font-size:12px;font-weight:800}

.kip-activity-v2-virtual{padding:0;background:#090a0e}.kip-activity-v2-virtual-card{position:relative;min-height:240px;margin:0 auto;display:grid;grid-template-columns:1fr 180px;align-items:center;padding:42px 56px;overflow:hidden;background:linear-gradient(90deg,rgba(14,6,28,.93),rgba(43,7,68,.72)),var(--kip-virtual-bg,linear-gradient(120deg,#1b0d28,#090a0e));background-size:cover;background-position:center;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.kip-activity-v2-virtual-copy{max-width:600px}.kip-activity-v2-virtual-copy>span{color:#EE0006;font-size:10px;font-weight:900;letter-spacing:.12em}.kip-activity-v2-virtual h2{margin:8px 0 10px;font-family:var(--kip-title-font,Impact,sans-serif);font-size:clamp(36px,3.4vw,56px);line-height:.9;font-style:italic;text-transform:uppercase}.kip-activity-v2-virtual p{margin:0 0 16px;color:#ddd;font-size:13px}.kip-activity-v2-virtual a{display:inline-flex;gap:18px;padding:12px 20px;background:#EE0006;color:#fff;font-size:10px;font-weight:900;text-transform:uppercase}.kip-activity-v2-play{justify-self:center;display:grid;place-items:center;width:92px;height:92px;border-radius:50%;border:2px solid rgba(255,255,255,.8);background:rgba(0,0,0,.25);font-size:30px}

.kip-activity-v2-gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.kip-activity-v2-gallery-grid figure{margin:0;height:210px;overflow:hidden;background:#111217}.kip-activity-v2-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.kip-activity-v2-gallery-grid figure:hover img{transform:scale(1.035)}
.kip-activity-v2-faq-shell{max-width:980px}.kip-activity-v2-faq-list{border-top:1px solid rgba(255,255,255,.15)}.kip-activity-v2-faq-list details{border-bottom:1px solid rgba(255,255,255,.14)}.kip-activity-v2-faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 10px;color:#fff;font-size:12px;font-weight:800}.kip-activity-v2-faq-list summary::-webkit-details-marker{display:none}.kip-activity-v2-faq-list summary span{color:#EE0006;font-size:20px}.kip-activity-v2-faq-list details[open] summary span{transform:rotate(45deg)}.kip-activity-v2-faq-list details>div{padding:0 10px 18px;color:#aaaab0;font-size:13px;line-height:1.6}

@media(max-width:980px){.kip-activity-v2-hero-copy{width:min(680px,68%)}.kip-activity-v2-price-grid{grid-template-columns:1fr 1fr}.kip-activity-v2-reasons-grid{grid-template-columns:1fr;gap:28px}.kip-activity-v2-reasons-grid figure{height:360px}.kip-activity-v2-gallery-grid{grid-template-columns:repeat(3,1fr)}.kip-activity-v2-virtual-card{grid-template-columns:1fr 120px;padding:34px}}
@media(max-width:700px){.kip-activity-v2-shell{width:calc(100% - 30px)}.kip-activity-v2-hero{min-height:660px;background-position:62% center}.kip-activity-v2-hero-inner{min-height:660px;align-items:flex-end;padding-bottom:48px}.kip-activity-v2-hero-copy{width:100%}.kip-activity-v2-hero-shade{background:linear-gradient(180deg,rgba(5,6,9,.18),rgba(5,6,9,.7) 45%,rgba(5,6,9,.96) 76%)}.kip-activity-v2-hero h1{font-size:clamp(54px,15vw,78px)!important}.kip-activity-v2-virtual-pill{display:none}.kip-activity-v2-price-grid{grid-template-columns:1fr}.kip-activity-v2-prices,.kip-activity-v2-reasons,.kip-activity-v2-gallery,.kip-activity-v2-faq{padding:62px 0}.kip-activity-v2-gallery-grid{grid-template-columns:1fr 1fr}.kip-activity-v2-gallery-grid figure{height:180px}.kip-activity-v2-virtual-card{grid-template-columns:1fr;padding:30px 24px}.kip-activity-v2-play{display:none}}

/* =========================================================
   V62 — HEADER : corrige uniquement le passage souris
   entre "Activités" et son menu déroulant.
   ========================================================= */
@media (min-width: 782px) {
    .kip-navigation .kip-nav-activities::after {
        content: "";
        position: absolute;
        left: -16px;
        right: -16px;
        top: 100%;
        height: 22px;
        background: transparent;
    }

    .kip-navigation .kip-activity-dropdown {
        top: calc(100% + 12px);
    }
}

/* =========================================================
   V63 — PAGE ACTIVITÉ : reproduction fidèle de la maquette PDF
   Scope strict : .kip-single-activity-model
   Accueil et autres pages inchangés.
   ========================================================= */

.kip-single-activity-model {
    --kip-model-bg: #07080c;
    --kip-model-panel: #0d0f15;
    --kip-model-panel-2: #11131a;
    --kip-model-red: #EE0006;
    --kip-model-muted: #a8a9af;
    background: var(--kip-model-bg);
    color: #fff;
    overflow: hidden;
}

.kip-single-activity-model * {
    box-sizing: border-box;
}

.kip-model-shell {
    width: min(1180px, calc(100% - 80px));
    margin: 0 auto;
}

/* HERO : texte à gauche / image à droite comme le modèle */
.kip-model-hero {
    min-height: 610px;
    display: grid;
    grid-template-columns: minmax(0, .93fr) minmax(0, 1.17fr);
    background: #08090d;
}

.kip-model-hero-copy {
    position: relative;
    display: flex;
    align-items: center;
    background:
        radial-gradient(circle at 15% 20%, rgba(238,0,6,.07), transparent 31%),
        #08090d;
}

.kip-model-hero-copy::after {
    content: "";
    position: absolute;
    right: -74px;
    top: 0;
    bottom: 0;
    width: 150px;
    z-index: 3;
    background: #08090d;
    transform: skewX(-8deg);
    transform-origin: top;
    pointer-events: none;
}

.kip-model-hero-copy-inner {
    position: relative;
    z-index: 4;
    width: min(560px, calc(100% - 82px));
    margin-left: max(46px, calc((100vw - 1180px) / 2));
    padding: 72px 0 62px;
}

.kip-model-eyebrow {
    display: inline-block;
    margin-bottom: 15px;
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.kip-model-eyebrow::before {
    content: "/// ";
    color: var(--kip-model-red);
}

.kip-model-hero h1 {
    margin: 0 0 18px !important;
    font-family: var(--kip-title-font, Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif) !important;
    font-size: clamp(60px, 5.8vw, 96px) !important;
    line-height: .82 !important;
    font-style: italic !important;
    font-weight: 900 !important;
    letter-spacing: -.025em !important;
    text-transform: uppercase;
}

.kip-model-hero h1 span,
.kip-model-hero h1 strong {
    display: block;
}

.kip-model-hero h1 strong {
    color: var(--kip-model-red);
}

.kip-model-hero-desc {
    max-width: 510px;
    margin: 0 0 15px;
    color: #dbdce0;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 600;
}

.kip-model-hero-price {
    display: flex;
    align-items: flex-end;
    gap: 9px;
    margin: 10px 0 17px;
}

.kip-model-hero-price strong {
    color: var(--kip-model-red);
    font-family: var(--kip-title-font, Impact, sans-serif);
    font-size: 46px;
    font-style: italic;
    line-height: .9;
}

.kip-model-hero-price span {
    padding-bottom: 4px;
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.kip-model-red-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
    min-width: 240px;
    padding: 15px 20px;
    background: var(--kip-model-red);
    color: #fff !important;
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .035em;
    text-decoration: none !important;
    text-transform: uppercase;
    clip-path: polygon(0 0,100% 0,94% 100%,0 100%);
}

.kip-model-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 20px;
}

.kip-model-facts span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #d7d7db;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.kip-model-facts b {
    display: inline-grid;
    place-items: center;
    min-width: 27px;
    height: 27px;
    padding: 0 4px;
    border: 1px solid rgba(255,255,255,.28);
    color: #fff;
    font-size: 7px;
    letter-spacing: .03em;
}

.kip-model-hero-media {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: #111;
}

.kip-model-hero-media > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.kip-model-hero-media-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(8,9,13,.26) 0%, rgba(8,9,13,.03) 34%, rgba(0,0,0,.08) 100%),
        linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.22));
}

.kip-model-hero-virtual {
    position: absolute;
    right: 38px;
    bottom: 35px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 15px;
    border: 1px solid rgba(255,255,255,.6);
    background: rgba(7,8,12,.74);
    color: #fff !important;
    text-decoration: none !important;
    backdrop-filter: blur(7px);
}

.kip-model-hero-virtual-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid var(--kip-model-red);
    border-radius: 50%;
    color: #fff;
    font-size: 9px;
    font-weight: 900;
}

.kip-model-hero-virtual > span:last-child {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.kip-model-hero-virtual b {
    font-size: 9px;
    line-height: 1;
}

.kip-model-hero-virtual small {
    color: var(--kip-model-red);
    font-size: 7px;
    font-weight: 900;
    letter-spacing: .05em;
}

/* Sections - pas de grandes barres grises, conformément aux annotations */
.kip-model-section {
    position: relative;
    padding: 72px 0;
    background:
        radial-gradient(circle at 12% 0%, rgba(255,255,255,.018), transparent 27%),
        #090a0e;
}

.kip-model-section + .kip-model-section {
    border-top: 0;
}

.kip-model-heading-center {
    margin-bottom: 33px;
    text-align: center;
}

.kip-model-heading > span {
    display: block;
    margin-bottom: 8px;
    color: #d8d9dd;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.kip-model-heading > span::first-letter {
    color: var(--kip-model-red);
}

.kip-model-heading h2 {
    margin: 0;
    font-family: var(--kip-title-font, Impact, sans-serif);
    font-size: clamp(40px, 3.5vw, 58px);
    line-height: .88;
    font-style: italic;
    font-weight: 900;
    letter-spacing: -.02em;
    text-transform: uppercase;
}

.kip-model-heading h2 strong {
    color: var(--kip-model-red);
}

.kip-model-heading > p {
    margin: 9px 0 0;
    color: #d7d8dc;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.kip-model-heading > p strong {
    color: var(--kip-model-red);
    font-size: 15px;
}

/* TARIFS */
.kip-model-prices {
    background:
        radial-gradient(circle at 75% 25%, rgba(238,0,6,.035), transparent 25%),
        #090a0e;
}

.kip-model-price-grid {
    width: min(930px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 18px;
}

.kip-model-price-card {
    min-height: 205px;
    padding: 23px 20px 20px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    text-align: center;
    border: 1px solid rgba(255,255,255,.19);
    background: #0e1016;
    box-shadow: inset 0 -3px 0 var(--kip-model-red);
}

.kip-model-price-card-top h3 {
    min-height: 31px;
    margin: 0 0 11px;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 900;
    text-transform: uppercase;
}

.kip-model-price-card-top > strong {
    color: var(--kip-model-red);
    font-family: var(--kip-title-font, Impact, sans-serif);
    font-size: 43px;
    line-height: .95;
    font-style: italic;
}

.kip-model-price-card > p {
    margin: 11px 0 17px;
    color: var(--kip-model-muted);
    font-size: 10px;
    line-height: 1.45;
}

.kip-model-price-card > a {
    margin-top: auto;
    padding: 10px 12px;
    background: var(--kip-model-red);
    color: #fff !important;
    font-size: 9px;
    font-weight: 900;
    text-decoration: none !important;
    text-transform: uppercase;
}

.kip-model-prices-all {
    margin-top: 19px;
    text-align: center;
}

.kip-model-prices-all a {
    display: inline-flex;
    gap: 18px;
    padding: 10px 24px;
    border: 1px solid var(--kip-model-red);
    color: #fff !important;
    font-size: 9px;
    font-weight: 900;
    text-decoration: none !important;
    text-transform: uppercase;
}

.kip-model-prices-all span {
    color: var(--kip-model-red);
}

/* POURQUOI */
.kip-model-reasons {
    background:
        radial-gradient(circle at 5% 50%, rgba(238,0,6,.03), transparent 24%),
        #050609;
}

.kip-model-reasons-grid {
    width: min(930px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.03fr .97fr;
    gap: 44px;
    align-items: center;
}

.kip-model-reasons-grid figure {
    height: 330px;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.08);
}

.kip-model-reasons-grid figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.kip-model-reasons-intro {
    margin-bottom: 14px;
    color: #bbbcc2;
    font-size: 12px;
    line-height: 1.55;
}

.kip-model-reasons-intro p {
    margin: 0 0 10px;
}

.kip-model-reasons-copy ul {
    margin: 0;
    padding: 0;
    display: grid;
    gap: 11px;
    list-style: none;
}

.kip-model-reasons-copy li {
    display: grid;
    grid-template-columns: 24px 1fr;
    gap: 10px;
    align-items: start;
}

.kip-model-reasons-copy i {
    display: grid;
    place-items: center;
    width: 19px;
    height: 19px;
    margin-top: 1px;
    border-radius: 50%;
    background: var(--kip-model-red);
    color: #fff;
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
}

.kip-model-reasons-copy strong {
    display: block;
    margin-bottom: 2px;
    font-size: 11px;
    line-height: 1.25;
}

.kip-model-reasons-copy li p {
    margin: 0;
    color: #9fa0a6;
    font-size: 9px;
    line-height: 1.4;
}

.kip-model-practical {
    margin: 16px 0 0;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.09);
    color: #ddd;
    font-size: 10px;
    font-weight: 800;
}

/* VISITE VIRTUELLE - centrée */
.kip-model-virtual {
    padding: 24px 0 66px;
    background: #050609;
}

.kip-model-virtual-card {
    position: relative;
    width: min(920px, 100%);
    min-height: 210px;
    margin: 0 auto;
    padding: 34px 42px;
    display: grid;
    grid-template-columns: 1fr 135px;
    align-items: center;
    overflow: hidden;
    isolation: isolate;
    background-image:
        linear-gradient(90deg, rgba(15,5,28,.94) 0%, rgba(22,7,37,.85) 48%, rgba(10,7,18,.45) 100%),
        var(--kip-model-virtual-bg, linear-gradient(120deg,#160b24,#08090d));
    background-size: cover;
    background-position: center;
}

.kip-model-virtual-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border: 1px solid rgba(255,255,255,.10);
}

.kip-model-virtual-copy {
    max-width: 550px;
}

.kip-model-virtual-copy > span {
    color: var(--kip-model-red);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .12em;
}

.kip-model-virtual h2 {
    margin: 7px 0 8px;
    font-family: var(--kip-title-font, Impact, sans-serif);
    font-size: clamp(30px, 3vw, 46px);
    line-height: .9;
    font-style: italic;
    text-transform: uppercase;
}

.kip-model-virtual p {
    margin: 0 0 13px;
    color: #d3d3d8;
    font-size: 10px;
    line-height: 1.45;
}

.kip-model-virtual a {
    display: inline-flex;
    gap: 16px;
    padding: 10px 17px;
    background: var(--kip-model-red);
    color: #fff !important;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none !important;
    text-transform: uppercase;
}

.kip-model-play {
    justify-self: center;
    display: grid;
    place-items: center;
    width: 72px;
    height: 72px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: rgba(0,0,0,.25);
    font-size: 23px;
}

/* GALERIE : bandeau horizontal comme le modèle */
.kip-model-gallery {
    padding-top: 63px;
    padding-bottom: 62px;
    background: #090a0e;
}

.kip-model-gallery-row {
    display: grid;
    grid-template-columns: repeat(5, minmax(0,1fr));
    gap: 9px;
}

.kip-model-gallery-row figure {
    height: 190px;
    margin: 0;
    overflow: hidden;
    background: #15161b;
}

.kip-model-gallery-row img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.kip-model-gallery-row figure:hover img {
    transform: scale(1.035);
}

/* FAQ */
.kip-model-faq {
    padding-top: 66px;
    background: #050609;
}

.kip-model-faq-shell {
    width: min(820px, calc(100% - 80px));
}

.kip-model-faq-list {
    border: 1px solid rgba(255,255,255,.10);
    background: #0e1016;
}

.kip-model-faq-list details + details {
    border-top: 1px solid rgba(255,255,255,.09);
}

.kip-model-faq-list summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 13px 17px;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
}

.kip-model-faq-list summary::-webkit-details-marker {
    display: none;
}

.kip-model-faq-list summary span {
    color: var(--kip-model-red);
    font-size: 18px;
}

.kip-model-faq-list details[open] summary span {
    transform: rotate(45deg);
}

.kip-model-faq-list details > div {
    padding: 0 17px 14px;
    color: #a5a6ac;
    font-size: 10px;
    line-height: 1.55;
}

/* CTA final du modèle */
.kip-model-final {
    position: relative;
    min-height: 160px;
    display: flex;
    align-items: center;
    background-image:
        linear-gradient(90deg, rgba(238,0,6,.92) 0%, rgba(119,0,3,.83) 40%, rgba(7,8,12,.85) 100%),
        var(--kip-model-final-bg);
    background-size: cover;
    background-position: center 50%;
}

.kip-model-final-inner {
    width: min(920px, calc(100% - 80px));
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.kip-model-final-inner > div > span {
    display: block;
    margin-bottom: 4px;
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .04em;
}

.kip-model-final h2 {
    margin: 0;
    font-family: var(--kip-title-font, Impact, sans-serif);
    font-size: clamp(30px, 3vw, 46px);
    line-height: .9;
    font-style: italic;
    text-transform: uppercase;
}

.kip-model-final a {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 24px;
    padding: 13px 20px;
    background: #fff;
    color: #08090d !important;
    font-size: 9px;
    font-weight: 900;
    text-decoration: none !important;
    text-transform: uppercase;
}

/* Responsive */
@media (max-width: 980px) {
    .kip-model-shell { width: min(100% - 44px, 900px); }
    .kip-model-hero { grid-template-columns: 1fr 1fr; }
    .kip-model-hero-copy::after { right: -46px; width: 92px; }
    .kip-model-hero-copy-inner {
        width: calc(100% - 48px);
        margin-left: 30px;
    }
    .kip-model-price-grid { grid-template-columns: repeat(2,1fr); }
    .kip-model-reasons-grid { grid-template-columns: 1fr; }
    .kip-model-reasons-grid figure { height: 340px; }
    .kip-model-gallery-row { grid-template-columns: repeat(3,1fr); }
    .kip-model-gallery-row figure { height: 220px; }
}

@media (max-width: 700px) {
    .kip-model-shell,
    .kip-model-faq-shell { width: calc(100% - 30px); }

    .kip-model-hero {
        min-height: 720px;
        display: block;
        position: relative;
    }

    .kip-model-hero-media {
        position: absolute;
        inset: 0;
        min-height: 720px;
    }

    .kip-model-hero-media-shade {
        background: linear-gradient(180deg, rgba(5,6,9,.06), rgba(5,6,9,.70) 44%, rgba(5,6,9,.98) 74%);
    }

    .kip-model-hero-copy {
        position: relative;
        z-index: 4;
        min-height: 720px;
        align-items: flex-end;
        background: transparent;
    }

    .kip-model-hero-copy::after { display: none; }

    .kip-model-hero-copy-inner {
        width: calc(100% - 30px);
        margin: 0 auto;
        padding: 260px 0 42px;
    }

    .kip-model-hero h1 {
        font-size: clamp(52px, 16vw, 76px) !important;
    }

    .kip-model-hero-virtual { display: none; }

    .kip-model-section { padding: 58px 0; }
    .kip-model-price-grid { grid-template-columns: 1fr; }
    .kip-model-reasons-grid figure { height: 270px; }

    .kip-model-virtual { padding-bottom: 52px; }
    .kip-model-virtual-card {
        min-height: 260px;
        grid-template-columns: 1fr;
        padding: 26px 22px;
    }
    .kip-model-play { display: none; }

    .kip-model-gallery-row {
        display: flex;
        gap: 9px;
        overflow-x: auto;
        padding-bottom: 8px;
        scroll-snap-type: x mandatory;
    }

    .kip-model-gallery-row figure {
        flex: 0 0 78%;
        height: 210px;
        scroll-snap-align: start;
    }

    .kip-model-final-inner {
        width: calc(100% - 30px);
        flex-direction: column;
        align-items: flex-start;
        padding: 28px 0;
    }
}

/* =========================================================
   V64 — PAGE ACTIVITÉ : HERO UNIQUEMENT
   Reprise ciblée du haut de page d'après la maquette Laser Game.
   Aucun autre bloc de la page ou du site n'est modifié.
   ========================================================= */

.kip-single-activity-model .kip-model-hero {
    min-height: 590px !important;
    grid-template-columns: minmax(0, 44%) minmax(0, 56%) !important;
    background: #08090d !important;
}

/* Colonne texte : noire, propre, sans effet diagonal ajouté. */
.kip-single-activity-model .kip-model-hero-copy {
    z-index: 3;
    background: #08090d !important;
}

.kip-single-activity-model .kip-model-hero-copy::after {
    display: none !important;
}

.kip-single-activity-model .kip-model-hero-copy-inner {
    width: min(530px, calc(100% - 76px)) !important;
    margin-left: max(48px, calc((100vw - 1180px) / 2)) !important;
    padding-top: 62px !important;
    padding-bottom: 58px !important;
}

/* La petite mention ACTIVITÉ barrée sur la maquette n'est pas affichée. */
.kip-single-activity-model .kip-model-eyebrow {
    display: none !important;
}

/* Même famille condensée/italique que les grands titres du site. */
.kip-single-activity-model .kip-model-hero h1 {
    margin: 0 0 22px !important;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", Arial, sans-serif !important;
    font-size: clamp(64px, 5vw, 92px) !important;
    line-height: .84 !important;
    font-weight: 900 !important;
    font-style: italic !important;
    letter-spacing: -.025em !important;
    text-transform: uppercase !important;
}

.kip-single-activity-model .kip-model-hero h1 span {
    color: #fff !important;
}

.kip-single-activity-model .kip-model-hero h1 strong {
    color: #EE0006 !important;
}

.kip-single-activity-model .kip-model-hero-desc {
    max-width: 470px !important;
    margin-bottom: 15px !important;
    color: #e0e1e5 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
}

/* Prix proche de la maquette, mais cohérent avec le rouge du site. */
.kip-single-activity-model .kip-model-hero-price {
    margin: 9px 0 19px !important;
    gap: 10px !important;
}

.kip-single-activity-model .kip-model-hero-price strong {
    color: #EE0006 !important;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", Arial, sans-serif !important;
    font-size: 58px !important;
    line-height: .84 !important;
    font-weight: 900 !important;
    font-style: italic !important;
}

.kip-single-activity-model .kip-model-hero-price span {
    padding-bottom: 5px !important;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;
}

/* Même langage de bouton rouge/trapézoïdal que l'accueil. */
.kip-single-activity-model .kip-model-red-btn {
    width: min(300px, 100%) !important;
    min-width: 0 !important;
    min-height: 56px !important;
    padding: 0 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: #EE0006 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    clip-path: polygon(0 0, 100% 0, 94% 100%, 0 100%) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
}

/* Infos sous le bouton : alignement horizontal et typographie cohérente. */
.kip-single-activity-model .kip-model-facts {
    margin-top: 22px !important;
    gap: 12px 24px !important;
}

.kip-single-activity-model .kip-model-facts span {
    gap: 8px !important;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
}

.kip-single-activity-model .kip-model-facts b {
    min-width: 30px !important;
    width: 30px !important;
    height: 30px !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.50) !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 7px !important;
    font-weight: 900 !important;
}

/* Image : aucune réduction de qualité/filtre/zoom ajouté par le thème. */
.kip-single-activity-model .kip-model-hero-media {
    background: #090a0e !important;
}

.kip-single-activity-model .kip-model-hero-media > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    filter: none !important;
    transform: none !important;
}

/* Fusion douce entre le noir et la photo, comme sur la référence. */
.kip-single-activity-model .kip-model-hero-media-shade {
    background:
        linear-gradient(90deg,
            rgba(8,9,13,.60) 0%,
            rgba(8,9,13,.24) 9%,
            rgba(8,9,13,0) 23%),
        linear-gradient(180deg,
            rgba(0,0,0,.03) 0%,
            rgba(0,0,0,.05) 65%,
            rgba(0,0,0,.20) 100%) !important;
}

/* Badge réalité virtuelle en pilule, bas droite. */
.kip-single-activity-model .kip-model-hero-virtual {
    right: 42px !important;
    bottom: 34px !important;
    gap: 12px !important;
    min-width: 240px !important;
    padding: 10px 18px 10px 10px !important;
    border: 1px solid rgba(255,255,255,.75) !important;
    border-radius: 999px !important;
    background: rgba(5,6,9,.72) !important;
    backdrop-filter: blur(6px) !important;
}

.kip-single-activity-model .kip-model-hero-virtual-icon {
    width: 54px !important;
    height: 54px !important;
    flex: 0 0 54px !important;
    border: 2px solid #EE0006 !important;
    border-radius: 50% !important;
    font-size: 10px !important;
}

.kip-single-activity-model .kip-model-hero-virtual b {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

.kip-single-activity-model .kip-model-hero-virtual small {
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 8px !important;
    font-weight: 800 !important;
}

/* Responsive limité au hero. */
@media (max-width: 980px) and (min-width: 701px) {
    .kip-single-activity-model .kip-model-hero {
        grid-template-columns: 48% 52% !important;
    }

    .kip-single-activity-model .kip-model-hero-copy-inner {
        width: calc(100% - 52px) !important;
        margin-left: 30px !important;
    }

    .kip-single-activity-model .kip-model-hero h1 {
        font-size: clamp(54px, 7vw, 74px) !important;
    }
}

@media (max-width: 700px) {
    .kip-single-activity-model .kip-model-hero {
        min-height: 720px !important;
        display: block !important;
    }

    .kip-single-activity-model .kip-model-hero-copy-inner {
        width: calc(100% - 30px) !important;
        margin: 0 auto !important;
        padding: 300px 0 38px !important;
    }

    .kip-single-activity-model .kip-model-hero h1 {
        font-size: clamp(50px, 15vw, 70px) !important;
    }

    .kip-single-activity-model .kip-model-hero-desc {
        font-size: 14px !important;
    }

    .kip-single-activity-model .kip-model-hero-price strong {
        font-size: 50px !important;
    }
}



/* =========================================================
   V67 — LASER GAME UNIQUEMENT — HERO + TARIFS
   Scope strict : .kip-page-laser-game
   Karting / Bowling / autres activités : aucun changement.
   ========================================================= */

/* HERO Laser Game : section compacte, directement suivie des tarifs. */
.kip-single-activity-model.kip-page-laser-game .kip-model-hero {
    min-height: 600px !important;
    grid-template-columns: minmax(0, 43%) minmax(0, 57%) !important;
    background: #050609 !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-hero-copy {
    z-index: 3 !important;
    background:
        radial-gradient(circle at 20% 25%, rgba(238,0,6,.07), transparent 30%),
        #050609 !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-hero-copy::after {
    display: block !important;
    right: -62px !important;
    width: 126px !important;
    background: #050609 !important;
    transform: skewX(-7deg) !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-hero-copy-inner {
    width: min(515px, calc(100% - 72px)) !important;
    margin-left: max(48px, calc((100vw - 1180px) / 2)) !important;
    padding: 62px 0 48px !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    width: max-content !important;
    margin: 0 0 14px !important;
    padding: 7px 13px 6px !important;
    background: #ee0006 !important;
    color: #fff !important;
    font: italic 900 10px/1 Arial, Helvetica, sans-serif !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    clip-path: polygon(4% 0,100% 0,94% 100%,0 100%) !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-eyebrow::before {
    display: none !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-hero h1 {
    margin: 0 0 18px !important;
    font-size: clamp(62px, 5.25vw, 94px) !important;
    line-height: .81 !important;
    letter-spacing: -.035em !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-hero h1 span {
    color: #fff !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-hero h1 strong {
    color: #ee0006 !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-hero-desc {
    max-width: 490px !important;
    margin: 0 0 12px !important;
    color: rgba(255,255,255,.93) !important;
    font-size: 13px !important;
    line-height: 1.48 !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-hero-price {
    margin: 9px 0 17px !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-hero-price strong {
    font-size: 55px !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-red-btn {
    width: min(285px, 100%) !important;
    min-height: 50px !important;
    padding: 0 18px !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-facts {
    margin-top: 17px !important;
    gap: 10px 18px !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-facts span {
    font-size: 9px !important;
    text-transform: none !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-facts b {
    width: 27px !important;
    min-width: 27px !important;
    height: 27px !important;
    border: 0 !important;
    border-radius: 50% !important;
    outline: 1px solid rgba(255,255,255,.45) !important;
    font-size: 6px !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-hero-media > img {
    object-position: center center !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-hero-media-shade {
    background:
        linear-gradient(90deg, rgba(5,6,9,.70) 0%, rgba(5,6,9,.26) 12%, rgba(5,6,9,0) 30%),
        linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.17)) !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-hero-virtual {
    right: clamp(24px, 3vw, 46px) !important;
    bottom: 32px !important;
    min-width: 215px !important;
    padding: 8px 14px 8px 8px !important;
    border-radius: 999px !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-hero-virtual-icon {
    width: 46px !important;
    height: 46px !important;
    flex: 0 0 46px !important;
}

/* TARIFS Laser Game : aucun grand espace, aucun titre LASER GAME répété. */
.kip-single-activity-model.kip-page-laser-game .kip-model-prices {
    padding: 50px 0 58px !important;
    background:
        radial-gradient(circle at 82% 20%, rgba(19,38,62,.22), transparent 36%),
        #06080c !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-prices .kip-model-shell {
    width: min(1080px, calc(100% - 64px)) !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-tariffs-head {
    margin: 0 0 26px !important;
    text-align: center !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-tariffs-head h2 {
    display: inline-block !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", Arial, sans-serif !important;
    font-size: clamp(42px, 4.1vw, 60px) !important;
    line-height: .9 !important;
    font-style: italic !important;
    font-weight: 900 !important;
    letter-spacing: -.02em !important;
    text-transform: uppercase !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-tariffs-head h2::before {
    content: "/// ";
    color: #ee0006 !important;
    font-size: .44em !important;
    vertical-align: top !important;
    letter-spacing: .08em !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-price-grid {
    width: 100% !important;
    margin: 0 !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: 16px !important;
    align-items: stretch !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-price-card {
    position: relative !important;
    min-height: 238px !important;
    padding: 25px 20px 20px !important;
    border: 1px solid rgba(255,255,255,.25) !important;
    background: rgba(9,12,18,.82) !important;
    box-shadow: none !important;
    text-align: center !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-price-card.is-featured {
    border: 2px solid #ee0006 !important;
    padding: 24px 19px 19px !important;
    transform: translateY(-3px) !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-price-badge {
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 2 !important;
    padding: 6px 12px 5px !important;
    border-radius: 999px !important;
    background: #ee0006 !important;
    color: #fff !important;
    font-size: 8px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-price-card-content {
    display: flex !important;
    min-height: 135px !important;
    flex-direction: column !important;
    align-items: center !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-price-card h3 {
    min-height: 0 !important;
    margin: 0 0 5px !important;
    color: #fff !important;
    font: 900 13px/1.18 Arial, Helvetica, sans-serif !important;
    text-transform: uppercase !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-price-detail {
    min-height: 28px !important;
    margin: 0 0 12px !important;
    color: rgba(255,255,255,.77) !important;
    font-size: 9px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-price-value {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    gap: 5px !important;
    margin: auto 0 12px !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-price-value strong {
    color: #ee0006 !important;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", Arial, sans-serif !important;
    font-size: 49px !important;
    line-height: .85 !important;
    font-style: italic !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-price-value span {
    padding-bottom: 4px !important;
    color: #fff !important;
    font-size: 8px !important;
    font-weight: 800 !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-price-card > a {
    margin-top: auto !important;
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px !important;
    padding: 9px 12px !important;
    background: #ee0006 !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 900 !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all {
    margin-top: 18px !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a {
    min-width: min(380px, 100%) !important;
    justify-content: center !important;
    padding: 11px 24px !important;
}

@media (max-width: 980px) and (min-width: 701px) {
    .kip-single-activity-model.kip-page-laser-game .kip-model-hero {
        grid-template-columns: 48% 52% !important;
    }
    .kip-single-activity-model.kip-page-laser-game .kip-model-hero-copy::after {
        right: -40px !important;
        width: 82px !important;
    }
    .kip-single-activity-model.kip-page-laser-game .kip-model-hero-copy-inner {
        width: calc(100% - 48px) !important;
        margin-left: 28px !important;
    }
    .kip-single-activity-model.kip-page-laser-game .kip-laser-price-grid {
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
        gap: 10px !important;
    }
}

@media (max-width: 700px) {
    .kip-single-activity-model.kip-page-laser-game .kip-model-hero {
        min-height: 720px !important;
        display: block !important;
    }
    .kip-single-activity-model.kip-page-laser-game .kip-model-hero-copy::after {
        display: none !important;
    }
    .kip-single-activity-model.kip-page-laser-game .kip-model-hero-copy-inner {
        width: calc(100% - 30px) !important;
        margin: 0 auto !important;
        padding: 285px 0 34px !important;
    }
    .kip-single-activity-model.kip-page-laser-game .kip-model-hero h1 {
        font-size: clamp(50px, 15vw, 70px) !important;
    }
    .kip-single-activity-model.kip-page-laser-game .kip-model-prices {
        padding: 42px 0 48px !important;
    }
    .kip-single-activity-model.kip-page-laser-game .kip-model-prices .kip-model-shell {
        width: calc(100% - 30px) !important;
    }
    .kip-single-activity-model.kip-page-laser-game .kip-laser-price-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card.is-featured {
        transform: none !important;
    }
}

/* =========================================================
   V68 — LASER GAME UNIQUEMENT — AJUSTEMENTS VISUELS
   - photo sur tout le hero avec fondu noir à gauche
   - hero et tarifs rapprochés
   - /// rouges devant NOS TARIFS
   - boutons tarifs conformes à la maquette
   Scope strict : .kip-page-laser-game
   ========================================================= */

/* Le hero devient un fond photo plein cadre. Le contenu texte reste au-dessus. */
.kip-single-activity-model.kip-page-laser-game .kip-model-hero {
    position: relative !important;
    display: block !important;
    min-height: 540px !important;
    overflow: hidden !important;
    background: #050609 !important;
    margin: 0 !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-hero-media {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    background: #050609 !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-hero-media > img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 68% center !important;
    filter: none !important;
    transform: none !important;
}

/* L'image reste visible sur toute la largeur et se fond seulement vers le noir à gauche. */
.kip-single-activity-model.kip-page-laser-game .kip-model-hero-media-shade {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background:
        linear-gradient(90deg,
            rgba(5,6,9,1) 0%,
            rgba(5,6,9,.98) 18%,
            rgba(5,6,9,.92) 31%,
            rgba(5,6,9,.70) 43%,
            rgba(5,6,9,.28) 56%,
            rgba(5,6,9,.05) 70%,
            rgba(5,6,9,0) 82%),
        linear-gradient(180deg, rgba(0,0,0,.04) 0%, rgba(0,0,0,.03) 64%, rgba(0,0,0,.20) 100%) !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-hero-copy {
    position: relative !important;
    z-index: 3 !important;
    min-height: 540px !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    background: transparent !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-hero-copy::after {
    display: none !important;
    content: none !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-hero-copy-inner {
    width: min(520px, calc(100% - 72px)) !important;
    margin-left: max(48px, calc((100vw - 1180px) / 2)) !important;
    padding: 44px 0 38px !important;
}

/* Évite le grand vide entre le titre rouge et la description. */
.kip-single-activity-model.kip-page-laser-game .kip-model-hero h1 {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 11px !important;
    margin: 0 0 24px !important;
    line-height: 0 !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-hero h1 span,
.kip-single-activity-model.kip-page-laser-game .kip-model-hero h1 strong {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: .80 !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-hero-desc {
    margin: 0 0 35px !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-hero-price {
    margin: 8px 0 14px !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-model-facts {
    margin-top: 15px !important;
}

/* Le badge 360 reste au-dessus de la photo. */
.kip-single-activity-model.kip-page-laser-game .kip-model-hero-virtual {
    z-index: 4 !important;
}

/* Tarifs collés visuellement au hero : pas de gros vide en haut. */
.kip-single-activity-model.kip-page-laser-game .kip-model-prices {
    margin: 0 !important;
    padding: 26px 0 42px !important;
    background:
        radial-gradient(circle at 82% 18%, rgba(19,38,62,.18), transparent 34%),
        #06080c !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-tariffs-head {
    margin: 0 0 20px !important;
    text-align: left !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-tariffs-head h2 {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    gap: 12px !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-tariffs-head h2::before {
    content: "///" !important;
    display: inline-block !important;
    margin: 0 !important;
    color: #ee0006 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: .46em !important;
    line-height: 1 !important;
    font-style: italic !important;
    font-weight: 950 !important;
    letter-spacing: -.04em !important;
    vertical-align: middle !important;
    transform: skewX(-10deg) translateY(-1px) !important;
}

/* Cartes plus proches de la référence et boutons rouges pleins en bas. */
.kip-single-activity-model.kip-page-laser-game .kip-laser-price-card {
    min-height: 220px !important;
    padding: 22px 18px 18px !important;
    display: flex !important;
    flex-direction: column !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-price-card.is-featured {
    padding: 21px 17px 17px !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-price-card-content {
    min-height: 120px !important;
    flex: 1 1 auto !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-price-card > a,
.kip-single-activity-model.kip-page-laser-game .kip-laser-price-card > a:link,
.kip-single-activity-model.kip-page-laser-game .kip-laser-price-card > a:visited {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 38px !important;
    margin: auto 0 0 !important;
    padding: 10px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ee0006 !important;
    background-image: none !important;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    clip-path: none !important;
    opacity: 1 !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-price-card > a:hover,
.kip-single-activity-model.kip-page-laser-game .kip-laser-price-card > a:focus-visible {
    background: #ff1218 !important;
    color: #fff !important;
}

/* Bouton sous les trois cartes : contour rouge/trapézoïde comme la maquette. */
.kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all {
    margin-top: 14px !important;
    display: flex !important;
    justify-content: center !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a,
.kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a:link,
.kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a:visited {
    box-sizing: border-box !important;
    width: min(360px, 100%) !important;
    min-width: 0 !important;
    min-height: 40px !important;
    padding: 10px 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 28px !important;
    border: 1px solid #ee0006 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    clip-path: polygon(2.5% 0,100% 0,97.5% 100%,0 100%) !important;
}

.kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a:hover,
.kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a:focus-visible {
    background: #ee0006 !important;
    color: #fff !important;
}

@media (max-width: 980px) {
    .kip-single-activity-model.kip-page-laser-game .kip-model-hero,
    .kip-single-activity-model.kip-page-laser-game .kip-model-hero-copy {
        min-height: 520px !important;
    }

    .kip-single-activity-model.kip-page-laser-game .kip-model-hero-media > img {
        object-position: 65% center !important;
    }

    .kip-single-activity-model.kip-page-laser-game .kip-model-hero-media-shade {
        background:
            linear-gradient(90deg, rgba(5,6,9,.98) 0%, rgba(5,6,9,.91) 36%, rgba(5,6,9,.55) 58%, rgba(5,6,9,.10) 78%, rgba(5,6,9,0) 100%),
            linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.20)) !important;
    }
}

@media (max-width: 700px) {
    .kip-single-activity-model.kip-page-laser-game .kip-model-hero,
    .kip-single-activity-model.kip-page-laser-game .kip-model-hero-copy {
        min-height: 590px !important;
    }

    .kip-single-activity-model.kip-page-laser-game .kip-model-hero-copy {
        align-items: flex-end !important;
    }

    .kip-single-activity-model.kip-page-laser-game .kip-model-hero-copy-inner {
        width: calc(100% - 36px) !important;
        margin: 0 auto !important;
        padding: 115px 0 30px !important;
    }

    .kip-single-activity-model.kip-page-laser-game .kip-model-hero-media > img {
        object-position: 62% center !important;
    }

    .kip-single-activity-model.kip-page-laser-game .kip-model-hero-media-shade {
        background:
            linear-gradient(180deg, rgba(5,6,9,.12) 0%, rgba(5,6,9,.40) 38%, rgba(5,6,9,.94) 72%, rgba(5,6,9,1) 100%) !important;
    }

    .kip-single-activity-model.kip-page-laser-game .kip-model-hero-virtual {
        display: none !important;
    }

    .kip-single-activity-model.kip-page-laser-game .kip-model-prices {
        padding-top: 22px !important;
    }

    .kip-single-activity-model.kip-page-laser-game .kip-laser-tariffs-head {
        text-align: center !important;
    }
}

/* Laser Game — retrait des /// rouges devant NOS TARIFS */
.kip-single-activity-model.kip-page-laser-game .kip-laser-tariffs-head h2::before {
    content: none !important;
    display: none !important;
}

/* ==========================================================
   Laser Game V4.2 — centrage du titre + boutons tarifs
   Scope strict : page Laser Game uniquement.
   ========================================================== */

/* NOS TARIFS centré au-dessus des 3 cartes. */
body .kip-single-activity-model.kip-page-laser-game .kip-laser-tariffs-head {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 0 24px !important;
    text-align: center !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-tariffs-head h2 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto !important;
    text-align: center !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-tariffs-head h2::before {
    content: none !important;
    display: none !important;
}

/* Chaque carte garde un vrai bouton rouge plein, collé en bas comme sur la maquette. */
body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card {
    position: relative !important;
    padding-bottom: 76px !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card a[href],
body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card a[href]:link,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card a[href]:visited {
    position: absolute !important;
    left: 20px !important;
    right: 20px !important;
    bottom: 18px !important;
    top: auto !important;
    width: auto !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 22px !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ee0006 !important;
    background-color: #ee0006 !important;
    background-image: none !important;
    box-shadow: inset 0 0 0 999px #ee0006 !important;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    opacity: 1 !important;
    clip-path: none !important;
    transform: none !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card a[href]:hover,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card a[href]:focus-visible {
    background: #ff151b !important;
    background-color: #ff151b !important;
    box-shadow: inset 0 0 0 999px #ff151b !important;
    color: #fff !important;
}

/* Bouton secondaire : vrai contour trapézoïdal complet, pas seulement deux lignes. */
body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all {
    width: 100% !important;
    margin: 18px 0 0 !important;
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a[href],
body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a[href]:link,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a[href]:visited {
    position: relative !important;
    isolation: isolate !important;
    width: min(390px, 100%) !important;
    min-width: 0 !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 28px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    clip-path: none !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a[href]::before,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a[href]::after {
    content: "" !important;
    position: absolute !important;
    pointer-events: none !important;
    clip-path: polygon(3% 0, 100% 0, 97% 100%, 0 100%) !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a[href]::before {
    inset: 0 !important;
    z-index: -2 !important;
    background: #ee0006 !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a[href]::after {
    inset: 1px !important;
    z-index: -1 !important;
    background: #06080c !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a[href]:hover::after,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a[href]:focus-visible::after {
    background: #ee0006 !important;
}

@media (max-width: 700px) {
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card a[href] {
        left: 16px !important;
        right: 16px !important;
        bottom: 16px !important;
    }
}

/* ==========================================================
   Laser Game V4.3 — ajustements demandés
   Scope strict : Laser Game uniquement.
   - retire "ACTIVITÉ PHARE"
   - aligne texte + flèche des CTA
   - remonte les petites tailles de texte au niveau du site
   - compacte la zone tarifs
   ========================================================== */

/* 1) Retirer uniquement le badge "ACTIVITÉ PHARE" du hero Laser Game. */
body .kip-single-activity-model.kip-page-laser-game .kip-model-eyebrow {
    display: none !important;
}

/* 2) CTA hero : texte réellement centré, flèche indépendante à droite. */
body .kip-single-activity-model.kip-page-laser-game .kip-model-red-btn {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 56px !important;
    padding: 0 52px 0 24px !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
    text-align: center !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-model-red-btn > span {
    position: absolute !important;
    right: 26px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}

/* 3) Petits textes du hero : tailles cohérentes avec le reste du site. */
body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-desc {
    font-size: 16px !important;
    line-height: 1.5 !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-price span {
    font-size: 12px !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-model-facts {
    gap: 12px 22px !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-model-facts span {
    font-size: 12px !important;
    line-height: 1.2 !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-model-facts b {
    font-size: 8px !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-virtual b {
    font-size: 13px !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-virtual small {
    font-size: 10px !important;
}

/* 4) Tarifs : moins de vide vertical, sans changer la structure à 3 cartes. */
body .kip-single-activity-model.kip-page-laser-game .kip-model-prices {
    padding: 22px 0 30px !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-tariffs-head {
    margin-bottom: 16px !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-grid {
    gap: 14px !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card.is-featured {
    min-height: 230px !important;
    padding: 20px 18px 62px !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card-content {
    min-height: 0 !important;
    flex: 0 1 auto !important;
    gap: 0 !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card h3 {
    margin: 0 0 5px !important;
    font-size: 16px !important;
    line-height: 1.15 !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-detail {
    min-height: 0 !important;
    margin: 0 0 7px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-value {
    margin: 12px 0 0 !important;
    gap: 6px !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-value span {
    padding-bottom: 4px !important;
    font-size: 10px !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-model-price-badge {
    font-size: 10px !important;
    padding: 10px 15px 10px !important;
}

/* CTA des cartes : texte centré et flèche alignée verticalement. */
body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card a[href],
body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card a[href]:link,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card a[href]:visited {
    left: 18px !important;
    right: 18px !important;
    bottom: 14px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 48px 0 20px !important;
    justify-content: center !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    text-align: center !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card a[href] > span {
    position: absolute !important;
    right: 24px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}

/* Bouton "Voir tous les tarifs" : même correction d'alignement. */
body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all {
    margin-top: 12px !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a[href],
body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a[href]:link,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a[href]:visited {
    position: relative !important;
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 54px 0 28px !important;
    justify-content: center !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    text-align: center !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a[href] > span {
    position: absolute !important;
    right: 30px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}

@media (max-width: 700px) {
    body .kip-single-activity-model.kip-page-laser-game .kip-model-red-btn {
        font-size: 12px !important;
    }

    body .kip-single-activity-model.kip-page-laser-game .kip-model-facts span {
        font-size: 11px !important;
    }

    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card,
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card.is-featured {
        min-height: 220px !important;
    }
}

/* ==========================================================
   Laser Game V4.4 — hauteur hero + CTA centré + tarifs resserrés
   Scope strict : page Laser Game uniquement.
   ========================================================== */

/* 1) Remettre le hero à la hauteur visuelle d'avant. */
body .kip-single-activity-model.kip-page-laser-game .kip-model-hero,
body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-copy {
    min-height: 620px !important;
}

/* 2) Bouton principal : une seule ligne, contenu réellement centré verticalement. */
body .kip-single-activity-model.kip-page-laser-game .kip-model-red-btn {
    width: min(330px, 100%) !important;
    height: 58px !important;
    min-height: 58px !important;
    box-sizing: border-box !important;
    padding: 0 58px 0 26px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-model-red-btn > span {
    top: 50% !important;
    right: 28px !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    line-height: 1 !important;
}

/* 3) WordPress peut injecter des paragraphes vides : ils créaient du vide dans/près des tarifs. */
body .kip-single-activity-model.kip-page-laser-game > p:empty,
body .kip-single-activity-model.kip-page-laser-game > p:not([class]):has(> br:only-child),
body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-grid > p:empty,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-grid > p:not([class]):has(> br:only-child),
body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card > p:empty,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card > p:not([class]):has(> br:only-child) {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* 4) Cartes tarifs plus compactes : prix et bouton restent proches. */
body .kip-single-activity-model.kip-page-laser-game .kip-model-prices {
    padding-top: 82px !important;
    padding-bottom: 24px !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-tariffs-head {
    margin-bottom: 54px !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card.is-featured {
    height: 220px !important;
    min-height: 220px !important;
    padding: 16px 16px 58px !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card-content {
    height: auto !important;
    min-height: 0 !important;
    flex: 0 0 auto !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-value {
    margin-top: 9px !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card a[href],
body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card a[href]:link,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card a[href]:visited {
    left: 16px !important;
    right: 16px !important;
    bottom: 12px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all {
    margin-top: 30px !important;
}

@media (max-width: 980px) and (min-width: 701px) {
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-copy {
        min-height: 600px !important;
    }
}

@media (max-width: 700px) {
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-copy {
        min-height: 720px !important;
    }

    body .kip-single-activity-model.kip-page-laser-game .kip-model-red-btn {
        width: min(330px, 100%) !important;
        font-size: 12px !important;
    }

    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card,
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card.is-featured {
        height: auto !important;
        min-height: 210px !important;
    }
}

/* ==========================================================
   Laser Game V4.6 — correction UNIQUEMENT du CTA hero.
   Les tarifs restent exactement dans l'état du ZIP utilisateur.
   ========================================================== */
body .kip-single-activity-model.kip-page-laser-game .kip-model-red-btn {
    position: relative !important;
    width: min(330px, 100%) !important;
    height: 58px !important;
    min-height: 58px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 62px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #ee0006 !important;
    color: #fff !important;
    font-size: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    clip-path: polygon(5% 0, 100% 0, 95% 100%, 0 100%) !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-model-red-btn::before {
    content: "RÉSERVER MAINTENANT" !important;
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    pointer-events: none !important;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .035em !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-model-red-btn > span {
    position: absolute !important;
    right: 28px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    display: grid !important;
    place-items: center !important;
    width: 18px !important;
    height: 18px !important;
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1 !important;
}

@media (max-width: 700px) {
    body .kip-single-activity-model.kip-page-laser-game .kip-model-red-btn::before {
        font-size: 12px !important;
    }
}

.kip-laser-price-card-content {
    margin-top: 20px !important;
}

/* Laser Game — bouton "VOIR TOUS LES TARIFS" sans flèche */
body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a[href] > span {
    display: none !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a[href],
body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a[href]:link,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a[href]:visited {
    padding-left: 28px !important;
    padding-right: 28px !important;
}

/* ==========================================================
   Laser Game V4.8 — bloc "Pourquoi choisir le Laser Game ?"
   Scope strict : uniquement la page Laser Game.
   ========================================================== */
body .kip-single-activity-model.kip-page-laser-game .kip-model-reasons.kip-laser-reasons {
    padding: 78px 0 96px !important;
    background: #020305 !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-shell {
    width: min(1280px, calc(100% - 48px)) !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-heading-center {
    margin: 0 0 54px !important;
    text-align: center !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-heading h2 {
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(42px, 3.4vw, 62px) !important;
    line-height: .9 !important;
    letter-spacing: -.025em !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-heading h2 strong {
    color: #f1080f !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-grid {
    width: min(1140px, 100%) !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
    gap: 48px !important;
    align-items: center !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-grid figure {
    height: 390px !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: #0b0c10 !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-grid figure img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy {
    min-width: 0 !important;
    padding: 6px 0 !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-intro {
    margin: 0 0 20px !important;
    color: #d8d9dd !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy ul {
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    gap: 18px !important;
    list-style: none !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy li {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: center !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy i {
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: #f1080f !important;
    color: #fff !important;
    font-size: 17px !important;
    line-height: 1 !important;
    font-style: normal !important;
    font-weight: 900 !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy strong {
    display: block !important;
    margin: 0 0 3px !important;
    color: #fff !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy li p {
    margin: 0 !important;
    color: #c8c9ce !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-practical {
    margin-top: 24px !important;
    padding-top: 18px !important;
    font-size: 13px !important;
}

@media (max-width: 900px) {
    body .kip-single-activity-model.kip-page-laser-game .kip-model-reasons.kip-laser-reasons {
        padding: 64px 0 76px !important;
    }

    body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-grid {
        grid-template-columns: 1fr !important;
        gap: 34px !important;
        width: min(720px, 100%) !important;
    }

    body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-grid figure {
        height: 360px !important;
    }
}

@media (max-width: 600px) {
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-shell {
        width: min(100% - 28px, 1280px) !important;
    }

    body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-heading-center {
        margin-bottom: 36px !important;
    }

    body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-heading h2 {
        font-size: clamp(34px, 12vw, 48px) !important;
    }

    body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-grid figure {
        height: 280px !important;
        border-radius: 14px !important;
    }

    body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy ul {
        gap: 16px !important;
    }

    body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy li {
        grid-template-columns: 38px minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy i {
        width: 36px !important;
        height: 36px !important;
        font-size: 15px !important;
    }

    body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy strong {
        font-size: 15px !important;
    }

    body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy li p {
        font-size: 12px !important;
    }
}

/* ==========================================================
   Laser Game V4.8.1 — correctif affichage bloc "Pourquoi choisir"
   Corrige uniquement le bloc ajouté en V4.8 : la colonne texte ne doit
   jamais se réduire à quelques pixels sur desktop.
   ========================================================== */
@media (min-width: 901px) {
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-grid {
        width: min(1140px, 100%) !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 48px !important;
    }

    body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-grid > figure {
        flex: 0 1 56% !important;
        width: 56% !important;
        min-width: 0 !important;
        max-width: 640px !important;
    }

    body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy {
        flex: 1 1 44% !important;
        width: 44% !important;
        min-width: 390px !important;
        max-width: 500px !important;
        justify-self: stretch !important;
    }
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy ul,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy li,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy li > div,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-intro {
    box-sizing: border-box !important;
    min-width: 0 !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy ul,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy li,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy li > div {
    width: 100% !important;
    max-width: none !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy li {
    grid-template-columns: 44px minmax(0, 1fr) !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy strong,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy li p,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-intro {
    width: auto !important;
    max-width: none !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

@media (max-width: 900px) {
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-reasons .kip-model-reasons-copy {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
}

.kip-model-hero-price-main {
    gap:5px !important;
}

/* ============================================================
   PAGE ANNIVERSAIRES — étape 1 : hero + 2 formules
   Ciblage volontairement isolé pour ne toucher à aucune activité.
   ============================================================ */
.kip-birthday-page{
  background:#050609;
  color:#fff;
  overflow:hidden;
}
.kip-birthday-page *,
.kip-birthday-page *::before,
.kip-birthday-page *::after{box-sizing:border-box}

.kip-birthday-hero{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:540px;
  margin:0;
  padding:72px 24px 62px;
  background-image:var(--kip-birthday-hero);
  background-size:cover;
  background-position:center 48%;
  background-repeat:no-repeat;
  isolation:isolate;
  overflow:hidden;
}
.kip-birthday-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:rgba(0,0,0,.34);
}
.kip-birthday-hero-shade{
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(ellipse 62% 74% at 50% 50%,rgba(0,0,0,.20) 0%,rgba(0,0,0,.36) 48%,rgba(0,0,0,.62) 100%),
    linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.02) 45%,rgba(0,0,0,.42) 100%);
}
.kip-birthday-hero-content{
  width:min(980px,100%);
  margin:0 auto;
  text-align:center;
}
.kip-birthday-hero h1{
  margin:0;
  padding:0;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif);
  font-style:italic;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:-.045em;
  line-height:.86;
  text-shadow:0 4px 22px rgba(0,0,0,.38);
}
.kip-birthday-hero h1 span,
.kip-birthday-hero h1 strong,
.kip-birthday-hero h1 em{display:block;font:inherit}
.kip-birthday-hero h1 span{
  color:#fff;
  font-size:clamp(42px,4.5vw,70px);
}
.kip-birthday-hero h1 strong{
  margin-top:3px;
  color:#ef0b15;
  font-size:clamp(62px,7vw,108px);
}
.kip-birthday-hero h1 em{
  margin-top:5px;
  color:#fff;
  font-size:clamp(30px,3.2vw,50px);
}

.kip-birthday-formulas{
  width:100%;
  margin:0;
  padding:58px 24px 82px;
  background:#050609;
}
.kip-birthday-formulas-inner{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  width:min(1180px,100%);
  margin:0 auto;
}
.kip-birthday-formula-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:520px;
  margin:0;
  padding:0;
  overflow:hidden;
  border:2px solid rgba(255,255,255,.48);
  border-radius:5px;
  background:linear-gradient(180deg,#0b0e14 0%,#080b10 64%,#0b1018 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}
.kip-birthday-formula-head{
  padding:34px 34px 28px;
  text-align:center;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.kip-birthday-formula-kicker{
  display:block;
  margin:0 0 8px;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
  opacity:.72;
}
.kip-birthday-formula-head h2{
  margin:0;
  color:#fff;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif);
  font-size:clamp(34px,3vw,50px);
  font-style:italic;
  font-weight:950;
  line-height:.9;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.kip-birthday-formula-list{
  display:flex;
  flex-direction:column;
  gap:17px;
  padding:30px 38px 26px;
}
.kip-birthday-formula-item{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:14px;
  align-items:center;
}
.kip-birthday-check{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#ef0b15;
  color:#fff;
  font:900 16px/1 Arial,Helvetica,sans-serif;
}
.kip-birthday-formula-item strong{
  display:block;
  margin:0;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:15px;
  font-weight:900;
  line-height:1.2;
}
.kip-birthday-formula-item p{
  margin:3px 0 0;
  color:rgba(255,255,255,.74);
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  line-height:1.35;
}
.kip-birthday-formula-note{
  margin:auto 0 0;
  padding:16px 36px;
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
  color:rgba(255,255,255,.82);
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  line-height:1.45;
  text-align:center;
}
.kip-birthday-formula-footer{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(190px,42%);
  gap:22px;
  align-items:end;
  padding:22px 24px 24px;
  background:linear-gradient(180deg,#0c121a,#0a0e14);
}
.kip-birthday-formula-price{min-width:0}
.kip-birthday-formula-price>span{
  display:block;
  width:max-content;
  margin:0 0 2px;
  padding:5px 10px 4px;
  background:#ef0b15;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:9px;
  font-style:italic;
  font-weight:900;
  letter-spacing:.05em;
  line-height:1;
  text-transform:uppercase;
  transform:skew(-9deg);
}
.kip-birthday-formula-price>div{
  display:flex;
  align-items:flex-end;
  gap:9px;
  min-width:0;
}
.kip-birthday-formula-price strong{
  color:#ef0b15;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif);
  font-size:clamp(46px,4vw,68px);
  font-style:italic;
  font-weight:950;
  line-height:.82;
  letter-spacing:-.04em;
}
.kip-birthday-formula-price small{
  margin-bottom:6px;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  font-weight:800;
  line-height:1.1;
  text-transform:uppercase;
}
.kip-birthday-formula-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
  min-height:54px;
  padding:0 22px;
  clip-path:polygon(6% 0,100% 0,94% 100%,0 100%);
  background:#ef0b15;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  font-weight:900;
  letter-spacing:.03em;
  text-decoration:none;
  text-transform:uppercase;
}
.kip-birthday-formula-cta span{font-size:16px;line-height:1}

@media(max-width:900px){
  .kip-birthday-hero{min-height:470px;padding:62px 20px 54px}
  .kip-birthday-formulas{padding:46px 18px 64px}
  .kip-birthday-formulas-inner{grid-template-columns:1fr;gap:18px;width:min(650px,100%)}
  .kip-birthday-formula-card{min-height:0}
}
@media(max-width:600px){
  .kip-birthday-hero{min-height:390px;padding:52px 16px 44px;background-position:center}
  .kip-birthday-hero h1 span{font-size:clamp(34px,11vw,48px)}
  .kip-birthday-hero h1 strong{font-size:clamp(48px,15vw,70px)}
  .kip-birthday-hero h1 em{font-size:clamp(24px,8vw,36px)}
  .kip-birthday-formulas{padding:36px 14px 50px}
  .kip-birthday-formula-head{padding:28px 22px 22px}
  .kip-birthday-formula-list{padding:24px 22px 22px;gap:15px}
  .kip-birthday-formula-note{padding:14px 20px}
  .kip-birthday-formula-footer{grid-template-columns:1fr;gap:18px;padding:20px}
  .kip-birthday-formula-cta{min-height:52px}
}

/* ============================================================
   PAGE ANNIVERSAIRES — étape 1.1
   Ajustements demandés : hero aligné sur les pages activités,
   items en flex et suppression du faux espace sous la liste.
   ============================================================ */

/* Hero : même présence verticale que les pages activité. */
.kip-birthday-page .kip-birthday-hero{
  min-height:620px !important;
  padding:62px 24px 54px !important;
}

/* Titre : même échelle générale que le hero des activités. */
.kip-birthday-page .kip-birthday-hero h1 span{
  font-size:clamp(48px,4.4vw,74px) !important;
}
.kip-birthday-page .kip-birthday-hero h1 strong{
  font-size:clamp(62px,5.25vw,94px) !important;
}
.kip-birthday-page .kip-birthday-hero h1 em{
  font-size:clamp(38px,3.4vw,58px) !important;
}

/* Liste : pas de gap résiduel après le dernier item. */
.kip-birthday-page .kip-birthday-formula-list{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  padding:30px 38px 14px !important;
}
.kip-birthday-page .kip-birthday-formula-item{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:14px !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}
.kip-birthday-page .kip-birthday-formula-item + .kip-birthday-formula-item{
  margin-top:17px !important;
}
.kip-birthday-page .kip-birthday-formula-item > div{
  flex:1 1 auto !important;
  min-width:0 !important;
}
.kip-birthday-page .kip-birthday-check{
  flex:0 0 30px !important;
}

/* La note avait margin-top:auto : c'était la vraie source du grand vide. */
.kip-birthday-page .kip-birthday-formula-note{
  margin:0 !important;
}

@media(max-width:900px){
  .kip-birthday-page .kip-birthday-hero{
    min-height:580px !important;
    padding:58px 20px 50px !important;
  }
}
@media(max-width:600px){
  .kip-birthday-page .kip-birthday-hero{
    min-height:500px !important;
    padding:48px 16px 42px !important;
  }
  .kip-birthday-page .kip-birthday-hero h1 span{
    font-size:clamp(34px,10vw,46px) !important;
  }
  .kip-birthday-page .kip-birthday-hero h1 strong{
    font-size:clamp(48px,14vw,66px) !important;
  }
  .kip-birthday-page .kip-birthday-hero h1 em{
    font-size:clamp(26px,8vw,36px) !important;
  }
  .kip-birthday-page .kip-birthday-formula-list{
    gap:0 !important;
    padding:24px 22px 12px !important;
  }
  .kip-birthday-page .kip-birthday-formula-item + .kip-birthday-formula-item{
    margin-top:15px !important;
  }
}

/* ============================================================
   PAGE ANNIVERSAIRES — étape 1.2
   Bloc "Inclus : le carton d'invitation" sous les formules.
   ============================================================ */
.kip-birthday-page .kip-birthday-invite{
  width:100%;
  margin:0;
  padding:74px 24px 88px;
  background:#050609;
  color:#fff;
}
.kip-birthday-page .kip-birthday-invite-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  width:min(760px,100%);
  margin:0 auto;
  text-align:center;
}
.kip-birthday-page .kip-birthday-invite-head{
  display:flex;
  flex-direction:column;
  align-items:center;
  margin:0 0 34px;
}
.kip-birthday-page .kip-birthday-invite-head>span{
  display:inline-block;
  margin:0 0 7px;
  padding:5px 12px 4px;
  clip-path:polygon(7% 0,100% 0,93% 100%,0 100%);
  background:#ef0b15;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  font-style:italic;
  font-weight:900;
  letter-spacing:.06em;
  line-height:1;
  text-transform:uppercase;
}
.kip-birthday-page .kip-birthday-invite-head h2{
  margin:0;
  padding:0;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif);
  font-size:clamp(38px,4vw,58px);
  font-style:italic;
  font-weight:950;
  letter-spacing:-.035em;
  line-height:.88;
  text-transform:uppercase;
}
.kip-birthday-page .kip-birthday-invite-head h2 strong,
.kip-birthday-page .kip-birthday-invite-head h2 em{
  display:block;
  font:inherit;
}
.kip-birthday-page .kip-birthday-invite-head h2 strong{color:#fff}
.kip-birthday-page .kip-birthday-invite-head h2 em{color:#ef0b15}

.kip-birthday-page .kip-birthday-invite-visual{
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(520px,100%);
  min-height:230px;
  margin:0 auto 28px;
}
.kip-birthday-page .kip-birthday-invite-visual img{
  display:block;
  width:auto;
  max-width:100%;
  max-height:360px;
  margin:0 auto;
  object-fit:contain;
  filter:drop-shadow(0 20px 32px rgba(0,0,0,.42));
}
.kip-birthday-page .kip-birthday-invite-placeholder{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  width:min(390px,88vw);
  aspect-ratio:1.65/1;
  padding:34px;
  border-radius:13px;
  background:linear-gradient(145deg,#6e7177 0%,#393d43 100%);
  box-shadow:-52px 42px 0 -12px #ba131b,0 26px 45px rgba(0,0,0,.42);
  transform:rotate(-2deg);
  color:#fff;
  text-align:left;
}
.kip-birthday-page .kip-birthday-invite-placeholder span{
  color:#ef0b15;
  font:900 italic 42px/1 Arial,Helvetica,sans-serif;
}
.kip-birthday-page .kip-birthday-invite-placeholder small{
  margin-top:8px;
  font:800 12px/1.2 Arial,Helvetica,sans-serif;
  letter-spacing:.08em;
}
.kip-birthday-page .kip-birthday-invite-cta{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  min-width:250px;
  min-height:50px;
  margin:0 auto;
  padding:0 24px 0 28px;
  clip-path:polygon(5% 0,100% 0,95% 100%,0 100%);
  background:#ef0b15;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.025em;
  line-height:1;
  text-decoration:none;
  text-transform:uppercase;
}
.kip-birthday-page .kip-birthday-invite-cta span{font-size:15px;line-height:1}
.kip-birthday-page .kip-birthday-invite-cta.is-disabled{opacity:.65;cursor:default}

@media(max-width:700px){
  .kip-birthday-page .kip-birthday-invite{padding:54px 16px 64px}
  .kip-birthday-page .kip-birthday-invite-head{margin-bottom:28px}
  .kip-birthday-page .kip-birthday-invite-head h2{font-size:clamp(34px,11vw,48px)}
  .kip-birthday-page .kip-birthday-invite-visual{min-height:190px;margin-bottom:24px}
  .kip-birthday-page .kip-birthday-invite-visual img{max-height:290px}
  .kip-birthday-page .kip-birthday-invite-placeholder{padding:26px}
  .kip-birthday-page .kip-birthday-invite-placeholder span{font-size:34px}
  .kip-birthday-page .kip-birthday-invite-cta{min-width:225px;min-height:48px;padding:0 21px 0 25px;font-size:10px}
}

.kip-birthday-invite-inner p {
    margin-top: 60px !Important;
}

.kip-birthday-invite {
    padding-top: 44px !important;
}
/* ============================================================
   PAGE ANNIVERSAIRES — étape 1.3
   Bloc carton plus compact + carrousel et bandeau final
   identiques aux pages activité.
   ============================================================ */
.kip-birthday-page .kip-birthday-invite{
  padding:32px 20px 0px !important;
}
.kip-birthday-page .kip-birthday-invite-inner{
  width:min(680px,100%) !important;
  gap:0 !important;
}
.kip-birthday-page .kip-birthday-invite-head{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:0 !important;
  margin:0 0 14px !important;
  padding:0 !important;
}
.kip-birthday-page .kip-birthday-invite-head>span{
  margin:0 0 5px !important;
}
.kip-birthday-page .kip-birthday-invite-head h2{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:0 !important;
  margin:0 !important;
  padding:0 !important;
  line-height:0.1 !important;
}
.kip-birthday-page .kip-birthday-invite-head h2 strong,
.kip-birthday-page .kip-birthday-invite-head h2 em{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  line-height:.82 !important;
}
.kip-birthday-page .kip-birthday-invite-visual{
  min-height:0 !important;
  margin:0 auto 14px !important;
}
.kip-birthday-page .kip-birthday-invite-visual img{
  max-height:285px !important;
}
.kip-birthday-page .kip-birthday-invite-inner p,
.kip-birthday-page .kip-birthday-invite-inner > p:empty{
  margin:0 !important;
  padding:0 !important;
}
.kip-birthday-page .kip-birthday-invite-cta{
  margin:0 auto !important;
}

/* Même carrousel "Découvrez l'expérience" que les pages activité. */
.kip-birthday-page .kip-lgexp,
.kip-birthday-page .kip-lgexp *{box-sizing:border-box!important}
.kip-birthday-page .kip-lgexp{
  width:100%!important;
  margin:0!important;
  padding:100px 0 78px!important;
  overflow:hidden!important;
  background:#000!important;
  color:#fff!important;
}
.kip-birthday-page .kip-lgexp__title{
  position:relative!important;
  width:min(980px,calc(100% - 36px))!important;
  margin:0 auto 54px!important;
  padding:0 0 14px!important;
  color:#fff!important;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif)!important;
  font-size:clamp(42px,4vw,58px)!important;
  font-style:italic!important;
  font-weight:900!important;
  line-height:.92!important;
  letter-spacing:-.025em!important;
  text-align:center!important;
  text-transform:uppercase!important;
}
.kip-birthday-page .kip-lgexp__title::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:0!important;
  width:min(390px,70vw)!important;
  height:3px!important;
  transform:translateX(-50%)!important;
  background:linear-gradient(90deg,#e60012 0%,#ff003d 28%,#5145ff 62%,#16a7ff 100%)!important;
}
.kip-birthday-page .kip-lgexp__viewport{
  width:100%!important;
  overflow:hidden!important;
  cursor:grab!important;
  touch-action:pan-y!important;
}
.kip-birthday-page .kip-lgexp__viewport.is-dragging{cursor:grabbing!important}
.kip-birthday-page .kip-lgexp__track{
  display:flex!important;
  align-items:center!important;
  gap:clamp(10px,1.5vw,20px)!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:smooth!important;
  overscroll-behavior-inline:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
}
.kip-birthday-page .kip-lgexp__track::-webkit-scrollbar{display:none!important}
.kip-birthday-page .kip-lgexp__slide{
  flex:0 0 clamp(185px,18vw,250px)!important;
  height:clamp(210px,20vw,280px)!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:18px!important;
  background:#090a0d!important;
  scroll-snap-align:center!important;
  scroll-snap-stop:always!important;
  user-select:none!important;
}
.kip-birthday-page .kip-lgexp__slide img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
  pointer-events:none!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
}

/* Même bandeau final que les pages activité. */
.kip-birthday-page .kip-lgbottom,
.kip-birthday-page .kip-lgbottom *{box-sizing:border-box!important}
.kip-birthday-page .kip-lgbottom{
  position:relative!important;
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:#050609!important;
  color:#fff!important;
  overflow:hidden!important;
}
.kip-birthday-page .kip-lgbottom__inner{
  position:relative!important;
  isolation:isolate!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:300px!important;
  margin:0!important;
  padding:32px 24px!important;
  overflow:hidden!important;
  text-align:center!important;
}
.kip-birthday-page .kip-lgbottom__bg{
  position:absolute!important;
  inset:0!important;
  z-index:-3!important;
  width:100%!important;
  height:100%!important;
  background-image:var(--kip-lgbottom-bg)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  transform:scale(1.01)!important;
}
.kip-birthday-page .kip-lgbottom__inner::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  pointer-events:none!important;
  background:radial-gradient(ellipse 72% 110% at 50% 50%,rgba(0,0,0,.84) 0%,rgba(0,0,0,.74) 30%,rgba(0,0,0,.48) 58%,rgba(0,0,0,.18) 80%,rgba(0,0,0,.02) 100%)!important;
}
.kip-birthday-page .kip-lgbottom__inner::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,rgba(0,0,0,.14),rgba(0,0,0,0) 28%,rgba(0,0,0,0) 72%,rgba(0,0,0,.22))!important;
}
.kip-birthday-page .kip-lgbottom__content{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(920px,100%)!important;
  margin:0 auto!important;
  padding:0!important;
  text-align:center!important;
}
.kip-birthday-page .kip-lgbottom__eyebrow,
.kip-birthday-page .kip-lgbottom__title{
  margin:0!important;
  padding:0!important;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif)!important;
  font-size:clamp(36px,3.2vw,56px)!important;
  font-style:italic!important;
  font-weight:900!important;
  line-height:.88!important;
  letter-spacing:-.035em!important;
  text-transform:uppercase!important;
}
.kip-birthday-page .kip-lgbottom__eyebrow{color:#fff!important}
.kip-birthday-page .kip-lgbottom__title{color:#ee0006!important}
.kip-birthday-page .kip-lgbottom__desc{
  width:min(680px,100%)!important;
  margin:16px auto 0!important;
  padding:0!important;
  color:rgba(255,255,255,.94)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.5!important;
  text-align:center!important;
}
.kip-birthday-page .kip-lgbottom__cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:230px!important;
  min-height:50px!important;
  margin:20px auto 0!important;
  padding:0 28px!important;
  border:0!important;
  background:#ee0006!important;
  clip-path:polygon(4% 0,100% 0,96% 100%,0 100%)!important;
  color:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  text-align:center!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
.kip-birthday-page .kip-lgbottom__cta.is-disabled{cursor:default!important;opacity:.88!important}
.kip-birthday-page > p:empty{display:none!important;height:0!important;margin:0!important;padding:0!important}

@media(max-width:700px){
  .kip-birthday-page .kip-birthday-invite{padding:28px 16px 36px!important}
  .kip-birthday-page .kip-birthday-invite-head{margin-bottom:12px!important}
  .kip-birthday-page .kip-birthday-invite-visual{margin-bottom:12px!important}
  .kip-birthday-page .kip-birthday-invite-visual img{max-height:250px!important}
  .kip-birthday-page .kip-lgexp{padding:48px 0 56px!important}
  .kip-birthday-page .kip-lgexp__title{margin-bottom:34px!important;font-size:clamp(36px,11vw,48px)!important}
  .kip-birthday-page .kip-lgexp__track{gap:10px!important;padding-inline:18px!important}
  .kip-birthday-page .kip-lgexp__slide{flex-basis:68vw!important;height:66vw!important;max-height:300px!important}
  .kip-birthday-page .kip-lgbottom__inner{min-height:260px!important;padding:28px 18px!important}
  .kip-birthday-page .kip-lgbottom__eyebrow,
  .kip-birthday-page .kip-lgbottom__title{font-size:clamp(32px,9.5vw,46px)!important}
  .kip-birthday-page .kip-lgbottom__desc{font-size:13px!important;margin-top:14px!important;line-height:1.4!important}
  .kip-birthday-page .kip-lgbottom__cta{min-width:210px!important;min-height:46px!important;margin-top:18px!important;padding:0 24px!important;font-size:10px!important}
  .kip-birthday-page .kip-lgbottom__inner::before{background:radial-gradient(ellipse 88% 105% at 50% 50%,rgba(0,0,0,.82) 0%,rgba(0,0,0,.70) 38%,rgba(0,0,0,.42) 68%,rgba(0,0,0,.10) 100%)!important}
}
@media(prefers-reduced-motion:reduce){
  .kip-birthday-page .kip-lgexp__track{scroll-behavior:auto!important}
}

/* Anniversaires — respiration du bloc carton d'invitation uniquement. */
.kip-birthday-page .kip-birthday-invite-head{
  margin-bottom:55px !important;
}
.kip-birthday-page .kip-birthday-invite-visual{
  margin-bottom:55px !important;
}
@media(max-width:700px){
  .kip-birthday-page .kip-birthday-invite-head{
    margin-bottom:26px !important;
  }
  .kip-birthday-page .kip-birthday-invite-visual{
    margin-bottom:22px !important;
  }
}

/* ============================================================
   PAGE SOCIÉTÉS — étape 1 : hero + deux packs entreprise
   Reprend les proportions de la page Anniversaires, isolé du reste.
   ============================================================ */
.kip-company-page{
  background:#050609;
  color:#fff;
  overflow:hidden;
}
.kip-company-page *,
.kip-company-page *::before,
.kip-company-page *::after{box-sizing:border-box}

.kip-company-hero{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:620px;
  margin:0;
  padding:62px 24px 54px;
  background-image:var(--kip-company-hero);
  background-size:cover;
  background-position:center 50%;
  background-repeat:no-repeat;
  isolation:isolate;
  overflow:hidden;
}
.kip-company-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:rgba(0,0,0,.28);
}
.kip-company-hero-shade{
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(ellipse 64% 78% at 50% 50%,rgba(0,0,0,.16) 0%,rgba(0,0,0,.32) 50%,rgba(0,0,0,.58) 100%),
    linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.02) 45%,rgba(0,0,0,.38) 100%);
}
.kip-company-hero-content{
  width:min(1040px,100%);
  margin:0 auto;
  text-align:center;
}
.kip-company-hero h1{
  margin:0;
  padding:0;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif);
  font-style:italic;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:-.045em;
  line-height:.86;
  text-shadow:0 4px 22px rgba(0,0,0,.38);
}
.kip-company-hero h1 span,
.kip-company-hero h1 strong,
.kip-company-hero h1 em{display:block;font:inherit}
.kip-company-hero h1 span{
  color:#fff;
  font-size:clamp(48px,4.4vw,74px);
}
.kip-company-hero h1 strong{
  margin-top:3px;
  color:#ef0b15;
  font-size:clamp(62px,5.25vw,94px);
}
.kip-company-hero h1 em{
  margin-top:5px;
  color:#fff;
  font-size:clamp(38px,3.4vw,58px);
}

.kip-company-formulas{
  width:100%;
  margin:0;
  padding:38px 24px 82px;
  background:#050609;
}
.kip-company-formulas-heading{
  width:min(1180px,100%);
  margin:0 auto 42px;
  text-align:center;
}
.kip-company-formulas-heading h2{
  margin:0;
  padding:0;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif);
  font-size:clamp(34px,3vw,50px);
  font-style:italic;
  font-weight:950;
  line-height:.88;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.kip-company-formulas-heading h2 span,
.kip-company-formulas-heading h2 strong{display:block;font:inherit}
.kip-company-formulas-heading h2 span{color:#fff}
.kip-company-formulas-heading h2 strong{color:#ef0b15}

.kip-company-formulas-inner{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  width:min(1180px,100%);
  margin:0 auto;
}
.kip-company-page .kip-company-formula-card{
  min-height:0;
}
.kip-company-page .kip-birthday-formula-list{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  padding:30px 38px 18px!important;
}
.kip-company-page .kip-birthday-formula-item{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:14px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.kip-company-page .kip-birthday-formula-item + .kip-birthday-formula-item{
  margin-top:17px!important;
}
.kip-company-page .kip-birthday-formula-item > div{
  flex:1 1 auto!important;
  min-width:0!important;
}
.kip-company-page .kip-birthday-check{flex:0 0 30px!important}
.kip-company-page .kip-birthday-formula-note{margin:0!important}
.kip-company-page .kip-birthday-formula-footer.is-no-price{
  grid-template-columns:1fr!important;
}
.kip-company-page .kip-birthday-formula-footer.is-no-price .kip-birthday-formula-cta{
  width:min(360px,100%);
  margin-left:auto;
  margin-right:auto;
}

@media(max-width:900px){
  .kip-company-hero{min-height:580px;padding:58px 20px 50px}
  .kip-company-formulas{padding:38px 18px 64px}
  .kip-company-formulas-inner{grid-template-columns:1fr;gap:18px;width:min(650px,100%)}
  .kip-company-formulas-heading{margin-bottom:34px}
}
@media(max-width:600px){
  .kip-company-hero{min-height:500px;padding:52px 16px 44px;background-position:center}
  .kip-company-hero h1 span{font-size:clamp(34px,11vw,48px)}
  .kip-company-hero h1 strong{font-size:clamp(48px,15vw,70px)}
  .kip-company-hero h1 em{font-size:clamp(24px,8vw,36px)}
  .kip-company-formulas{padding:32px 14px 50px}
  .kip-company-formulas-heading{margin-bottom:28px}
  .kip-company-formulas-heading h2{font-size:clamp(30px,10vw,44px)}
  .kip-company-page .kip-birthday-formula-list{padding:24px 22px 18px!important}
  .kip-company-page .kip-birthday-formula-item + .kip-birthday-formula-item{margin-top:15px!important}
}

/* ============================================================
   PAGE SOCIÉTÉS — étape 2 : saveurs / restauration événementielle
   ============================================================ */
.kip-company-catering{
  width:100%;
  margin:0;
  padding:46px 24px 66px;
  background:#050609;
  color:#fff;
}
.kip-company-catering-inner{
  width:min(1180px,100%);
  margin:0 auto;
}
.kip-company-catering-heading{
  margin:0 auto 34px;
  text-align:center;
}
.kip-company-catering-heading h2{
  margin:0;
  padding:0;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif);
  font-size:clamp(34px,3vw,50px);
  font-style:italic;
  font-weight:950;
  line-height:.88;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.kip-company-catering-heading h2 span,
.kip-company-catering-heading h2 strong{
  display:block;
  font:inherit;
}
.kip-company-catering-heading h2 span{color:#fff}
.kip-company-catering-heading h2 strong{color:#ef0b15}

.kip-company-catering-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  align-items:start;
}
.kip-company-catering-card{
  min-width:0;
  margin:0;
  text-align:center;
}
.kip-company-catering-media{
  width:100%;
  aspect-ratio:1.55/1;
  overflow:hidden;
  border-radius:14px;
  background:#0b0d10;
}
.kip-company-catering-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.kip-company-catering-copy{
  padding:14px 8px 0;
}
.kip-company-catering-copy h3{
  margin:0 0 4px;
  padding:0;
  color:#fff;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif);
  font-size:clamp(20px,1.65vw,27px);
  font-style:italic;
  font-weight:900;
  line-height:1;
  letter-spacing:-.02em;
  text-transform:uppercase;
}
.kip-company-catering-copy p{
  margin:0;
  padding:0;
  color:rgba(255,255,255,.9);
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(13px,1vw,16px);
  line-height:1.35;
}
.kip-company-catering-action{
  display:flex;
  justify-content:center;
  margin-top:34px;
}
.kip-company-catering-action a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:280px;
  min-height:52px;
  padding:0 34px;
  border:0;
  background:#ef0b15;
  clip-path:polygon(4% 0,100% 0,96% 100%,0 100%);
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  font-weight:900;
  line-height:1;
  letter-spacing:.025em;
  text-decoration:none;
  text-transform:uppercase;
  text-align:center;
}

@media(max-width:900px){
  .kip-company-catering{padding:40px 18px 56px}
  .kip-company-catering-grid{grid-template-columns:1fr;gap:24px;width:min(650px,100%);margin:0 auto}
  .kip-company-catering-heading{margin-bottom:30px}
  .kip-company-catering-media{aspect-ratio:1.7/1}
}
@media(max-width:600px){
  .kip-company-catering{padding:34px 14px 46px}
  .kip-company-catering-heading{margin-bottom:26px}
  .kip-company-catering-heading h2{font-size:clamp(30px,10vw,44px)}
  .kip-company-catering-grid{gap:20px}
  .kip-company-catering-copy{padding-top:11px}
  .kip-company-catering-action{margin-top:28px}
  .kip-company-catering-action a{min-width:240px;min-height:48px;padding:0 24px;font-size:11px}
}

/* ============================================================
   PAGE SOCIÉTÉS — étape 3 : espaces / carrousel
   ============================================================ */

/* Plus d'air entre le titre Saveurs, les 3 cartes et le CTA. */
.kip-company-page .kip-company-catering-heading{
  margin-bottom:56px !important;
}
.kip-company-page .kip-company-catering-action{
  margin-top:52px !important;
}

/* Même mécanique de carrousel que les autres pages (activité / anniversaire). */
.kip-company-page .kip-company-spaces,
.kip-company-page .kip-company-spaces *{
  box-sizing:border-box !important;
}
.kip-company-page .kip-company-spaces{
  width:100% !important;
  margin:0 !important;
  padding:64px 0 74px !important;
  overflow:hidden !important;
  background:#000 !important;
  color:#fff !important;
}
.kip-company-page .kip-company-spaces-title{
  width:min(980px,calc(100% - 36px)) !important;
  margin:0 auto 46px !important;
  padding:0 !important;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif) !important;
  font-size:clamp(34px,3vw,50px) !important;
  font-style:italic !important;
  font-weight:950 !important;
  line-height:.88 !important;
  letter-spacing:-.035em !important;
  text-align:center !important;
  text-transform:uppercase !important;
}
.kip-company-page .kip-company-spaces-title span,
.kip-company-page .kip-company-spaces-title strong{
  display:block !important;
  font:inherit !important;
}
.kip-company-page .kip-company-spaces-title span{color:#fff !important}
.kip-company-page .kip-company-spaces-title strong{color:#ef0b15 !important}

.kip-company-page .kip-company-spaces .kip-lgexp__viewport{
  width:100% !important;
  overflow:hidden !important;
  cursor:grab !important;
  touch-action:pan-y !important;
}
.kip-company-page .kip-company-spaces .kip-lgexp__viewport.is-dragging{cursor:grabbing !important}
.kip-company-page .kip-company-spaces .kip-lgexp__track{
  display:flex !important;
  align-items:center !important;
  gap:clamp(10px,1.5vw,20px) !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory !important;
  scroll-behavior:smooth !important;
  overscroll-behavior-inline:contain !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:none !important;
}
.kip-company-page .kip-company-spaces .kip-lgexp__track::-webkit-scrollbar{display:none !important}
.kip-company-page .kip-company-spaces .kip-lgexp__slide{
  flex:0 0 clamp(185px,18vw,250px) !important;
  height:clamp(210px,20vw,280px) !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:18px !important;
  background:#090a0d !important;
  scroll-snap-align:center !important;
  scroll-snap-stop:always !important;
  user-select:none !important;
}
.kip-company-page .kip-company-spaces .kip-lgexp__slide img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:cover !important;
  object-position:center !important;
  pointer-events:none !important;
  user-select:none !important;
  -webkit-user-drag:none !important;
}
.kip-company-page .kip-company-spaces-text{
  width:min(760px,calc(100% - 36px)) !important;
  margin:26px auto 0 !important;
  padding:0 !important;
  color:rgba(255,255,255,.86) !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:14px !important;
  line-height:1.5 !important;
  text-align:center !important;
}

@media(max-width:900px){
  .kip-company-page .kip-company-catering-heading{margin-bottom:42px !important}
  .kip-company-page .kip-company-catering-action{margin-top:40px !important}
  .kip-company-page .kip-company-spaces{padding:54px 0 62px !important}
  .kip-company-page .kip-company-spaces-title{margin-bottom:38px !important}
}
@media(max-width:600px){
  .kip-company-page .kip-company-catering-heading{margin-bottom:34px !important}
  .kip-company-page .kip-company-catering-action{margin-top:34px !important}
  .kip-company-page .kip-company-spaces{padding:46px 0 54px !important}
  .kip-company-page .kip-company-spaces-title{
    margin-bottom:32px !important;
    font-size:clamp(30px,10vw,44px) !important;
  }
  .kip-company-page .kip-company-spaces .kip-lgexp__track{
    gap:10px !important;
    padding-inline:18px !important;
  }
  .kip-company-page .kip-company-spaces .kip-lgexp__slide{
    flex-basis:68vw !important;
    height:66vw !important;
    max-height:300px !important;
  }
  .kip-company-page .kip-company-spaces-text{
    margin-top:20px !important;
    font-size:13px !important;
  }
}
@media(prefers-reduced-motion:reduce){
  .kip-company-page .kip-company-spaces .kip-lgexp__track{scroll-behavior:auto !important}
}

/* ============================================================
   PAGE SOCIÉTÉS — étape 4 : billetterie CE
   ============================================================ */
.kip-company-page .kip-company-ce,
.kip-company-page .kip-company-ce *{
  box-sizing:border-box !important;
}
.kip-company-page .kip-company-ce{
  width:100% !important;
  margin:0 !important;
  padding:56px 24px 72px !important;
  background:#000 !important;
  color:#fff !important;
}
.kip-company-page .kip-company-ce-inner{
  width:min(1180px,100%) !important;
  margin:0 auto !important;
}
.kip-company-page .kip-company-ce-heading{
  margin:0 auto 42px !important;
  text-align:center !important;
}
.kip-company-page .kip-company-ce-heading h2{
  margin:0 !important;
  padding:0 !important;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif) !important;
  font-size:clamp(34px,3vw,50px) !important;
  font-style:italic !important;
  font-weight:950 !important;
  line-height:.88 !important;
  letter-spacing:-.035em !important;
  text-transform:uppercase !important;
}
.kip-company-page .kip-company-ce-heading h2 span,
.kip-company-page .kip-company-ce-heading h2 strong{
  display:block !important;
  font:inherit !important;
}
.kip-company-page .kip-company-ce-heading h2 span{color:#fff !important}
.kip-company-page .kip-company-ce-heading h2 strong{color:#ef0b15 !important}

.kip-company-page .kip-company-ce-layout{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(360px,440px) !important;
  gap:clamp(28px,4vw,64px) !important;
  align-items:center !important;
}
.kip-company-page .kip-company-ce-visual{
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.kip-company-page .kip-company-ce-visual img{
  display:block !important;
  width:min(100%,560px) !important;
  height:auto !important;
  object-fit:contain !important;
}
.kip-company-page .kip-company-ce-placeholder{
  width:min(100%,560px) !important;
  min-height:320px !important;
  border:1px solid rgba(255,255,255,.15) !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02)) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  text-align:center !important;
  padding:24px !important;
}
.kip-company-page .kip-company-ce-placeholder span{
  color:#fff !important;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif) !important;
  font-size:clamp(32px,3vw,44px) !important;
  font-style:italic !important;
  font-weight:900 !important;
  line-height:.92 !important;
  letter-spacing:-.03em !important;
  text-transform:uppercase !important;
}
.kip-company-page .kip-company-ce-placeholder small{
  color:rgba(255,255,255,.72) !important;
  font:400 14px/1.45 Arial,Helvetica,sans-serif !important;
}
.kip-company-page .kip-company-ce-list{
  display:flex !important;
  flex-direction:column !important;
  gap:18px !important;
  width:100% !important;
  padding:36px 30px !important;
  border-radius:0 !important;
  background:rgba(4,7,14,.92) !important;
}
.kip-company-page .kip-company-ce-item{
  display:flex !important;
  align-items:flex-start !important;
  gap:16px !important;
  margin:0 !important;
}
.kip-company-page .kip-company-ce-item > div{
  display:flex !important;
  flex-direction:column !important;
  gap:2px !important;
  min-width:0 !important;
}
.kip-company-page .kip-company-ce-item strong{
  color:#fff !important;
  font:800 18px/1.2 Arial,Helvetica,sans-serif !important;
  margin:0 !important;
}
.kip-company-page .kip-company-ce-item p{
  margin:0 !important;
  color:rgba(255,255,255,.86) !important;
  font:400 15px/1.45 Arial,Helvetica,sans-serif !important;
}
@media(max-width:900px){
  .kip-company-page .kip-company-ce{padding:48px 18px 62px !important}
  .kip-company-page .kip-company-ce-heading{margin-bottom:34px !important}
  .kip-company-page .kip-company-ce-layout{grid-template-columns:1fr !important;gap:26px !important}
  .kip-company-page .kip-company-ce-visual img,
  .kip-company-page .kip-company-ce-placeholder{width:min(100%,620px) !important;margin:0 auto !important}
  .kip-company-page .kip-company-ce-list{max-width:620px !important;margin:0 auto !important}
}
@media(max-width:600px){
  .kip-company-page .kip-company-ce{padding:42px 14px 54px !important}
  .kip-company-page .kip-company-ce-heading{margin-bottom:28px !important}
  .kip-company-page .kip-company-ce-heading h2{font-size:clamp(30px,10vw,44px) !important}
  .kip-company-page .kip-company-ce-placeholder{min-height:240px !important;border-radius:18px !important}
  .kip-company-page .kip-company-ce-list{padding:24px 20px !important;gap:15px !important}
  .kip-company-page .kip-company-ce-item{gap:14px !important}
  .kip-company-page .kip-company-ce-item strong{font-size:17px !important}
  .kip-company-page .kip-company-ce-item p{font-size:14px !important}
}

/* ============================================================
   PAGE SOCIÉTÉS — étape 5 : bloc 2 formules sous le carrousel
   ============================================================ */
.kip-company-page .kip-company-midformulas,
.kip-company-page .kip-company-midformulas *{
  box-sizing:border-box !important;
}
.kip-company-page .kip-company-midformulas{
  width:100% !important;
  margin:0 !important;
  padding:42px 24px 58px !important;
  background:#000 !important;
  color:#fff !important;
}
.kip-company-page .kip-company-midformulas-inner{
  width:min(1040px,100%) !important;
  margin:0 auto !important;
}
.kip-company-page .kip-company-midformulas-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:24px !important;
  align-items:stretch !important;
}
.kip-company-page .kip-company-midformula-card{
  min-width:0 !important;
  margin:0 !important;
  padding:28px 28px 30px !important;
  border:1px solid rgba(255,255,255,.55) !important;
  border-radius:6px !important;
  background:#05070b !important;
  color:#fff !important;
}
.kip-company-page .kip-company-midformula-card h2{
  margin:0 0 26px !important;
  padding:0 !important;
  color:#fff !important;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif) !important;
  font-size:clamp(28px,2.5vw,42px) !important;
  font-style:italic !important;
  font-weight:950 !important;
  line-height:.92 !important;
  letter-spacing:-.035em !important;
  text-align:center !important;
  text-transform:uppercase !important;
}
.kip-company-page .kip-company-midformula-list{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.kip-company-page .kip-company-midformula-item{
  display:flex !important;
  align-items:flex-start !important;
  gap:14px !important;
  margin:0 !important;
  padding:0 !important;
}
.kip-company-page .kip-company-midformula-item + .kip-company-midformula-item{
  margin-top:18px !important;
}
.kip-company-page .kip-company-midformula-item > div{
  display:flex !important;
  flex-direction:column !important;
  gap:2px !important;
  min-width:0 !important;
}
.kip-company-page .kip-company-midformula-item strong{
  margin:0 !important;
  color:#fff !important;
  font:800 16px/1.2 Arial,Helvetica,sans-serif !important;
}
.kip-company-page .kip-company-midformula-item p{
  margin:0 !important;
  color:rgba(255,255,255,.82) !important;
  font:400 13px/1.4 Arial,Helvetica,sans-serif !important;
}
.kip-company-page .kip-company-midformulas-action{
  display:flex !important;
  justify-content:center !important;
  margin-top:34px !important;
}
.kip-company-page .kip-company-midformulas-action a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:250px !important;
  min-height:50px !important;
  padding:0 30px !important;
  border:0 !important;
  background:#ef0b15 !important;
  clip-path:polygon(4% 0,100% 0,96% 100%,0 100%) !important;
  color:#fff !important;
  font:900 11px/1 Arial,Helvetica,sans-serif !important;
  letter-spacing:.025em !important;
  text-decoration:none !important;
  text-transform:uppercase !important;
  text-align:center !important;
}
@media(max-width:900px){
  .kip-company-page .kip-company-midformulas{padding:36px 18px 50px !important}
  .kip-company-page .kip-company-midformulas-grid{grid-template-columns:1fr !important;gap:18px !important;width:min(650px,100%) !important;margin:0 auto !important}
  .kip-company-page .kip-company-midformulas-action{margin-top:28px !important}
}
@media(max-width:600px){
  .kip-company-page .kip-company-midformulas{padding:32px 14px 44px !important}
  .kip-company-page .kip-company-midformula-card{padding:24px 20px 26px !important}
  .kip-company-page .kip-company-midformula-card h2{font-size:clamp(26px,10vw,38px) !important;margin-bottom:22px !important}
  .kip-company-page .kip-company-midformula-item + .kip-company-midformula-item{margin-top:15px !important}
  .kip-company-page .kip-company-midformulas-action a{min-width:220px !important;min-height:48px !important;padding:0 24px !important;font-size:10px !important}
}

/* ============================================================
   PAGE SOCIÉTÉS — étape 6 : bandeau final collé au footer
   Même principe que les pages activité / anniversaire.
   ============================================================ */
.kip-company-page .kip-lgbottom,
.kip-company-page .kip-lgbottom *{box-sizing:border-box!important}
.kip-company-page .kip-lgbottom{
  position:relative!important;
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:#050609!important;
  color:#fff!important;
  overflow:hidden!important;
}
.kip-company-page .kip-lgbottom__inner{
  position:relative!important;
  isolation:isolate!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:300px!important;
  margin:0!important;
  padding:32px 24px!important;
  overflow:hidden!important;
  text-align:center!important;
}
.kip-company-page .kip-lgbottom__bg{
  position:absolute!important;
  inset:0!important;
  z-index:-3!important;
  width:100%!important;
  height:100%!important;
  background-image:var(--kip-lgbottom-bg)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  transform:scale(1.01)!important;
}
.kip-company-page .kip-lgbottom__inner::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  pointer-events:none!important;
  background:radial-gradient(ellipse 72% 110% at 50% 50%,rgba(0,0,0,.84) 0%,rgba(0,0,0,.74) 30%,rgba(0,0,0,.48) 58%,rgba(0,0,0,.18) 80%,rgba(0,0,0,.02) 100%)!important;
}
.kip-company-page .kip-lgbottom__inner::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,rgba(0,0,0,.14),rgba(0,0,0,0) 28%,rgba(0,0,0,0) 72%,rgba(0,0,0,.22))!important;
}
.kip-company-page .kip-lgbottom__content{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(920px,100%)!important;
  margin:0 auto!important;
  padding:0!important;
  text-align:center!important;
}
.kip-company-page .kip-lgbottom__eyebrow,
.kip-company-page .kip-lgbottom__title{
  margin:0!important;
  padding:0!important;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif)!important;
  font-size:clamp(36px,3.2vw,56px)!important;
  font-style:italic!important;
  font-weight:900!important;
  line-height:.88!important;
  letter-spacing:-.035em!important;
  text-transform:uppercase!important;
}
.kip-company-page .kip-lgbottom__eyebrow{color:#fff!important}
.kip-company-page .kip-lgbottom__title{color:#ee0006!important}
.kip-company-page .kip-lgbottom__desc{
  width:min(680px,100%)!important;
  margin:16px auto 0!important;
  padding:0!important;
  color:rgba(255,255,255,.94)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.5!important;
  text-align:center!important;
}
.kip-company-page .kip-lgbottom__cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:230px!important;
  min-height:50px!important;
  margin:20px auto 0!important;
  padding:0 28px!important;
  border:0!important;
  background:#ee0006!important;
  clip-path:polygon(4% 0,100% 0,96% 100%,0 100%)!important;
  color:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  text-align:center!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
.kip-company-page .kip-lgbottom__cta.is-disabled{cursor:default!important;opacity:.88!important}
.kip-company-page > p:empty{display:none!important;height:0!important;margin:0!important;padding:0!important}

@media(max-width:700px){
  .kip-company-page .kip-lgbottom__inner{min-height:260px!important;padding:28px 18px!important}
  .kip-company-page .kip-lgbottom__eyebrow,
  .kip-company-page .kip-lgbottom__title{font-size:clamp(32px,9.5vw,46px)!important}
  .kip-company-page .kip-lgbottom__desc{font-size:13px!important;margin-top:14px!important;line-height:1.4!important}
  .kip-company-page .kip-lgbottom__cta{min-width:210px!important;min-height:46px!important;margin-top:18px!important;padding:0 24px!important;font-size:10px!important}
  .kip-company-page .kip-lgbottom__inner::before{background:radial-gradient(ellipse 88% 105% at 50% 50%,rgba(0,0,0,.82) 0%,rgba(0,0,0,.70) 38%,rgba(0,0,0,.42) 68%,rgba(0,0,0,.10) 100%)!important}
}


/* =========================================================
   PAGE TARIFS — version fidèle à la maquette
   ========================================================= */
.kip-tariffs-page,
.kip-tariffs-page *{box-sizing:border-box!important}
.kip-tariffs-page{background:#04070b;color:#fff}
.kip-tariffs-browser{background:#04070b;padding:34px 0 42px!important;margin:0!important}
.kip-tariffs-shell{width:min(1180px,92vw)!important;margin:0 auto!important}

/* 7 onglets */
.kip-tariffs-tabs-wrap{overflow-x:auto!important;overflow-y:visible!important;padding:0 0 12px!important;scrollbar-width:none!important}
.kip-tariffs-tabs-wrap::-webkit-scrollbar{display:none!important}
.kip-tariffs-tabs{display:flex!important;align-items:stretch!important;justify-content:center!important;gap:12px!important;min-width:max-content!important;margin:0 auto!important;padding:0!important}
.kip-tariffs-tab{position:relative!important;display:flex!important;flex:0 0 142px!important;min-height:112px!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:9px!important;padding:16px 8px 15px!important;border:1px solid #46515f!important;background:#070b10!important;color:#fff!important;box-shadow:none!important;cursor:pointer!important;text-transform:uppercase!important;font-family:Arial,Helvetica,sans-serif!important;font-size:11px!important;font-weight:900!important;line-height:1.1!important;letter-spacing:-.01em!important;transition:border-color .18s ease,background .18s ease!important}
.kip-tariffs-tab:hover{border-color:#ef0b15!important;background:#0a0f16!important;transform:none!important}
.kip-tariffs-tab.is-active{border:2px solid #ef0b15!important;background:#090d12!important}
.kip-tariffs-tab.is-active::after{content:""!important;position:absolute!important;left:50%!important;bottom:-12px!important;transform:translateX(-50%)!important;border-left:10px solid transparent!important;border-right:10px solid transparent!important;border-top:12px solid #ef0b15!important}
.kip-tariffs-tab-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:38px!important;color:#fff!important}
.kip-tariffs-tab-icon svg{display:block!important;width:38px!important;height:38px!important;overflow:visible!important}
.kip-tariffs-tab-label{display:block!important;max-width:118px!important;text-align:center!important;white-space:normal!important}

.kip-tariffs-rule{height:30px!important;margin:0 0 18px!important;background:#020406!important;border-top:1px solid rgba(255,255,255,.02)!important;border-bottom:1px solid rgba(255,255,255,.02)!important}

/* Titre dynamique */
.kip-tariffs-panel{padding:0!important;margin:0!important}
.kip-tariffs-panel-head{text-align:center!important;margin:0 auto 26px!important;padding:0!important}
.kip-tariffs-panel-head h2{margin:0!important;padding:0!important;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif!important;font-style:italic!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:-.025em!important;line-height:0.1!important}
.kip-tariffs-panel-activity{display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;color:#ef0b15!important;font-size:34px!important;line-height:1!important}
.kip-tariffs-panel-activity i{display:inline-block!important;width:32px!important;height:5px!important;background:#ef0b15!important;transform:skew(-22deg)!important}
.kip-tariffs-panel-head h2 strong{display:block!important;color:#fff!important;font:inherit!important;font-size:62px!important;line-height:.88!important}
.kip-tariffs-panel-head p{margin:3px auto 0!important;color:#fff!important;font-family:Arial,Helvetica,sans-serif!important;font-size:12px!important;font-weight:700!important;line-height:1.35!important;letter-spacing:.015em!important;text-transform:uppercase!important;max-width:720px!important}

/* Cartes tarifaires */
.kip-tariffs-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;width:min(900px,100%)!important;margin:0 auto!important;padding:14px!important;background:#04070b!important;}
.kip-tariffs-cards.is-few{grid-template-columns:repeat(auto-fit,minmax(255px,1fr))!important;max-width:900px!important}
.kip-tariffs-card{display:flex!important;flex-direction:column!important;min-width:0!important;min-height:470px!important;margin:0!important;padding:10px!important;background:#04070b!important;border:1px solid #445365!important;color:#fff!important;box-shadow:none!important;overflow:hidden!important}
.kip-tariffs-card-media{height:154px!important;min-height:154px!important;aspect-ratio:auto!important;overflow:hidden!important;background:#05070a!important;border:0!important}
.kip-tariffs-card-media img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important}
.kip-tariffs-card h3{margin:10px 0 0!important;padding:9px 8px!important;background:#020407!important;color:#fff!important;font-family:Arial,Helvetica,sans-serif!important;font-size:13px!important;font-style:normal!important;font-weight:900!important;line-height:1.15!important;text-align:center!important;text-transform:uppercase!important;letter-spacing:.01em!important}
.kip-tariffs-card-details{flex:1!important;min-height:118px!important;padding:14px 10px 10px!important}
.kip-tariffs-card-details ul{margin:0!important;padding:0 0 0 15px!important;display:grid!important;gap:5px!important;color:#fff!important;font-family:Arial,Helvetica,sans-serif!important;font-size:11px!important;line-height:1.35!important}
.kip-tariffs-card-details li::marker{color:#fff!important}
.kip-tariffs-card-meta{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:16px!important;margin:0 -10px!important;padding:10px 14px!important;border-top:1px solid #263342!important;border-bottom:1px solid #263342!important;background:#04070b!important}
.kip-tariffs-card-meta span{display:inline-flex!important;align-items:center!important;gap:6px!important;padding:0!important;min-height:0!important;border:0!important;border-radius:0!important;background:none!important;color:#fff!important;font-family:Arial,Helvetica,sans-serif!important;font-size:10px!important;line-height:1!important;white-space:nowrap!important}
.kip-tariffs-card-meta svg{width:16px!important;height:16px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.kip-tariffs-card-meta b{font-weight:700!important}
.kip-tariffs-card-price{display:block!important;margin:0!important;padding:11px 6px 8px!important;min-height:78px!important}
.kip-tariffs-card-price small{display:block!important;margin-bottom:0!important;color:#fff!important;font-family:Arial,Helvetica,sans-serif!important;font-size:12px!important;font-weight:400!important;line-height:1!important;letter-spacing:0!important;text-transform:none!important}
.kip-tariffs-card-price>div{display:flex!important;align-items:flex-end!important;gap:7px!important}
.kip-tariffs-card-price strong{display:block!important;color:#ef0b15!important;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif!important;font-size:50px!important;font-style:italic!important;font-weight:900!important;line-height:.88!important;letter-spacing:-.04em!important}
.kip-tariffs-card-price em{padding-bottom:4px!important;color:#fff!important;font-family:Arial,Helvetica,sans-serif!important;font-size:9px!important;font-style:normal!important;font-weight:700!important;line-height:1!important;text-transform:none!important;letter-spacing:0!important}
.kip-tariffs-card-cta{display:flex!important;align-items:center!important;justify-content:center!important;gap:16px!important;width:100%!important;min-width:0!important;min-height:44px!important;margin-top:0!important;padding:0 14px!important;background:#ef0b15!important;color:#fff!important;text-decoration:none!important;font-family:Arial,Helvetica,sans-serif!important;font-size:11px!important;font-weight:900!important;line-height:1!important;letter-spacing:.01em!important;text-transform:uppercase!important;clip-path:polygon(0 0,100% 0,94% 100%,0 100%)!important}
.kip-tariffs-card-cta:hover{filter:brightness(1.05)!important;transform:none!important}

@media(max-width:1100px){
  .kip-tariffs-shell{width:min(100%,94vw)!important}
  .kip-tariffs-tabs{justify-content:flex-start!important}
  .kip-tariffs-tab{flex-basis:128px!important}
  .kip-tariffs-cards{width:min(820px,100%)!important}
}
@media(max-width:820px){
  .kip-tariffs-browser{padding-top:24px!important;padding-bottom:68px!important}
  .kip-tariffs-tab{flex-basis:112px!important;min-height:96px!important;font-size:10px!important}
  .kip-tariffs-tab-icon{width:34px!important;height:32px!important}
  .kip-tariffs-tab-icon svg{width:32px!important;height:32px!important}
  .kip-tariffs-rule{height:20px!important;margin-bottom:18px!important}
  .kip-tariffs-panel-activity{font-size:28px!important;gap:9px!important}
  .kip-tariffs-panel-activity i{width:26px!important;height:4px!important}
  .kip-tariffs-panel-head h2 strong{font-size:50px!important}
  .kip-tariffs-panel-head p{font-size:10px!important;margin-top:10px!important}
  .kip-tariffs-cards{grid-template-columns:1fr!important;width:min(420px,100%)!important;padding:10px!important;gap:12px!important}
  .kip-tariffs-card{min-height:0!important}
  .kip-tariffs-card-media{height:190px!important;min-height:190px!important}
}
@media(max-width:520px){
  .kip-tariffs-browser{padding-top:18px!important}
  .kip-tariffs-shell{width:94vw!important}
  .kip-tariffs-tabs{gap:8px!important}
  .kip-tariffs-tab{flex-basis:104px!important;min-height:92px!important;padding:12px 6px!important}
  .kip-tariffs-panel-head{margin-bottom:20px!important}
  .kip-tariffs-panel-activity{font-size:24px!important}
  .kip-tariffs-panel-head h2 strong{font-size:44px!important}
  .kip-tariffs-card-media{height:168px!important;min-height:168px!important}
}

/* =========================================================
   PAGE TARIFS — correction hero / header
   Le header global reste celui du site. Le hero reprend
   exactement les dimensions des autres pages secondaires.
   ========================================================= */
.kip-tariffs-page-hero{
  min-height:620px !important;
  display:flex !important;
  align-items:center !important;
}
.kip-tariffs-page-hero::before{
  background-position:center 68% !important;
  background-size:cover !important;
}
.kip-tariffs-page-hero::after{
  background:linear-gradient(90deg,rgba(5,6,9,.52) 0%,rgba(5,6,9,.28) 50%,rgba(5,6,9,.46) 100%) !important;
}
.kip-tariffs-page-hero .kip-page-hero-overlay{
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.22)) !important;
}
.kip-tariffs-page-hero-inner{
  width:min(1500px,90vw) !important;
  margin:0 auto !important;
  padding:130px 0 90px !important;
  text-align:center !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
}
.kip-tariffs-page-hero .kip-section-label{
  margin-bottom:14px !important;
}
.kip-tariffs-page-hero .kip-tariffs-hero-title{
  margin:0 !important;
  max-width:1100px !important;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif) !important;
  font-size:var(--kip-page-title-size,clamp(66px,6.4vw,112px)) !important;
  font-style:italic !important;
  font-weight:900 !important;
  line-height:.82 !important;
  letter-spacing:.012em !important;
  text-transform:uppercase !important;
  text-align:center !important;
}
.kip-tariffs-page-hero .kip-tariffs-hero-title > *{
  display:block !important;
  font:inherit !important;
  margin:0 !important;
  padding:0 !important;
}
.kip-tariffs-page-hero .kip-tariffs-hero-top,
.kip-tariffs-page-hero .kip-tariffs-hero-bottom{
  color:#fff !important;
}
.kip-tariffs-page-hero .kip-tariffs-hero-red{
  color:#ef0b15 !important;
  font-size:1.08em !important;
}
.kip-tariffs-page-hero .kip-tariffs-hero-bottom{
  font-size:.58em !important;
  margin-top:4px !important;
}
.kip-tariffs-page-hero .kip-page-hero-inner > p{
  max-width:680px !important;
  margin:24px auto 0 !important;
  text-align:center !important;
}
.kip-tariffs-page-hero .kip-button{
  margin-top:24px !important;
}
@media(max-width:1180px){
  .kip-tariffs-page-hero{min-height:560px !important}
  .kip-tariffs-page-hero-inner{padding:110px 0 75px !important}
}
@media(max-width:760px){
  .kip-tariffs-page-hero{min-height:560px !important}
  .kip-tariffs-page-hero::before{background-position:center 62% !important}
  .kip-tariffs-page-hero-inner{padding:100px 0 58px !important}
  .kip-tariffs-page-hero .kip-tariffs-hero-title{font-size:clamp(54px,16vw,84px) !important}
  .kip-tariffs-page-hero .kip-tariffs-hero-bottom{font-size:.52em !important}
}

/* =========================================================
   PAGE TARIFS — hero compact, aligné sur Anniversaires
   ========================================================= */
@media (min-width:1181px){
  .kip-tariffs-page .kip-tariffs-page-hero{
    height:620px !important;
    min-height:620px !important;
    max-height:620px !important;
    align-items:center !important;
    overflow:hidden !important;
  }
  .kip-tariffs-page .kip-tariffs-page-hero-inner{
    height:100% !important;
    min-height:0 !important;
    padding:54px 0 42px !important;
    justify-content:center !important;
  }
}

/* Pas de CTA dans le hero Tarifs : les CTA restent dans les cartes. */
.kip-tariffs-page .kip-tariffs-page-hero .kip-button{
  display:none !important;
}

/* Même échelle que le hero Anniversaires et lignes presque collées. */
.kip-tariffs-page .kip-tariffs-hero-title{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  line-height:0.1 !important;
  margin:0 !important;
}
.kip-tariffs-page .kip-tariffs-hero-title .kip-tariffs-hero-top{
  font-size:clamp(48px,4.4vw,74px) !important;
  line-height:.80 !important;
  margin:0 !important;
}
.kip-tariffs-page .kip-tariffs-hero-title .kip-tariffs-hero-red{
  font-size:clamp(62px,5.25vw,94px) !important;
  line-height:.79 !important;
  margin:-2px 0 0 !important;
}
.kip-tariffs-page .kip-tariffs-hero-title .kip-tariffs-hero-bottom{
  font-size:clamp(38px,3.4vw,58px) !important;
  line-height:.80 !important;
  margin:-1px 0 0 !important;
}

/* Si une intro est renseignée, elle ne pousse plus la hauteur du hero. */
.kip-tariffs-page .kip-tariffs-page-hero .kip-page-hero-inner > p{
  margin:18px auto 0 !important;
  max-width:620px !important;
  font-size:14px !important;
  line-height:1.45 !important;
}

@media(max-width:1180px){
  .kip-tariffs-page .kip-tariffs-page-hero{
    min-height:580px !important;
  }
  .kip-tariffs-page .kip-tariffs-page-hero-inner{
    padding:58px 0 50px !important;
  }
}
@media(max-width:600px){
  .kip-tariffs-page .kip-tariffs-page-hero{
    min-height:500px !important;
  }
  .kip-tariffs-page .kip-tariffs-page-hero-inner{
    padding:48px 0 42px !important;
  }
  .kip-tariffs-page .kip-tariffs-hero-title .kip-tariffs-hero-top{
    font-size:clamp(34px,10vw,46px) !important;
  }
  .kip-tariffs-page .kip-tariffs-hero-title .kip-tariffs-hero-red{
    font-size:clamp(48px,14vw,66px) !important;
  }
  .kip-tariffs-page .kip-tariffs-hero-title .kip-tariffs-hero-bottom{
    font-size:clamp(26px,8vw,36px) !important;
  }
}


/* =========================================================
   PAGE TARIFS — suppression des <p> parasites WordPress
   entre le shortcode Tarifs et le footer.
   ========================================================= */
.kip-tariffs-page > p,
.wp-site-blocks > main.kip-tariffs-page ~ p{
  display:none !important;
  width:0 !important;
  height:0 !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  line-height:0 !important;
  overflow:hidden !important;
}

/* ============================================================
   PAGE RESTAURATION — étape 1 : hero + carte des boissons
   Hero volontairement calé sur la page Anniversaires.
   ============================================================ */
.kip-restaurant-page,
.kip-restaurant-page *{box-sizing:border-box!important}
.kip-restaurant-page{background:#050609!important;color:#fff!important;overflow:hidden!important}

.kip-restaurant-page .kip-restaurant-hero{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:620px!important;
  margin:0!important;
  padding:62px 24px 54px!important;
  background-image:var(--kip-restaurant-hero)!important;
  background-size:cover!important;
  background-position:center 48%!important;
  background-repeat:no-repeat!important;
  isolation:isolate!important;
  overflow:hidden!important;
}
.kip-restaurant-page .kip-restaurant-hero::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  background:rgba(0,0,0,.34)!important;
}
.kip-restaurant-page .kip-restaurant-hero-shade{
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  pointer-events:none!important;
  background:radial-gradient(ellipse 62% 74% at 50% 50%,rgba(0,0,0,.20) 0%,rgba(0,0,0,.36) 48%,rgba(0,0,0,.62) 100%),linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.02) 45%,rgba(0,0,0,.42) 100%)!important;
}
.kip-restaurant-page .kip-restaurant-hero-content{
  width:min(980px,100%)!important;
  margin:0 auto!important;
  text-align:center!important;
}
.kip-restaurant-page .kip-restaurant-hero h1{
  margin:0!important;
  padding:0!important;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif)!important;
  font-style:italic!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:-.045em!important;
  line-height:.86!important;
  text-shadow:0 4px 22px rgba(0,0,0,.38)!important;
}
.kip-restaurant-page .kip-restaurant-hero h1 span,
.kip-restaurant-page .kip-restaurant-hero h1 strong,
.kip-restaurant-page .kip-restaurant-hero h1 em{display:block!important;font:inherit!important}
.kip-restaurant-page .kip-restaurant-hero h1 span{
  color:#fff!important;
  font-size:clamp(48px,4.4vw,74px)!important;
}
.kip-restaurant-page .kip-restaurant-hero h1 strong{
  margin-top:3px!important;
  color:#ef0b15!important;
  font-size:clamp(62px,5.25vw,94px)!important;
}
.kip-restaurant-page .kip-restaurant-hero h1 em{
  margin-top:5px!important;
  color:#fff!important;
  font-size:clamp(38px,3.4vw,58px)!important;
}

.kip-restaurant-page .kip-restaurant-menu{
  width:100%!important;
  margin:0!important;
  padding:94px 24px 32px!important;
  background:#050609!important;
}
.kip-restaurant-page .kip-restaurant-shell{
  width:min(1180px,100%)!important;
  margin:0 auto!important;
}
.kip-restaurant-page .kip-restaurant-menu-head{
  margin:0 auto 42px!important;
  text-align:center!important;
}
.kip-restaurant-page .kip-restaurant-menu-eyebrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  margin:0 0 2px!important;
  color:#ef0b15!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:13px!important;
  font-style:italic!important;
  font-weight:900!important;
  letter-spacing:.09em!important;
  line-height:1!important;
  text-transform:uppercase!important;
}
.kip-restaurant-page .kip-restaurant-menu-eyebrow i{
  display:block!important;
  width:34px!important;
  height:4px!important;
  background:#ef0b15!important;
  transform:skew(-20deg)!important;
}
.kip-restaurant-page .kip-restaurant-menu-head h2{
  margin:0!important;
  color:#fff!important;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif)!important;
  font-size:clamp(42px,4.2vw,68px)!important;
  font-style:italic!important;
  font-weight:950!important;
  line-height:.88!important;
  letter-spacing:-.035em!important;
  text-transform:uppercase!important;
}
.kip-restaurant-page .kip-restaurant-menu-head p{
  margin:5px 0 0!important;
  color:#ef0b15!important;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif)!important;
  font-size:clamp(20px,2vw,30px)!important;
  font-style:italic!important;
  font-weight:950!important;
  line-height:.95!important;
  letter-spacing:-.02em!important;
  text-transform:uppercase!important;
}
.kip-restaurant-page .kip-restaurant-menu-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  width:100%!important;
  padding:34px 0 28px!important;
  background:#050609!important;
}
.kip-restaurant-page .kip-restaurant-menu-column{
  display:flex!important;
  flex-direction:column!important;
  gap:28px!important;
  min-width:0!important;
  padding:0 34px!important;
  border-right:1px solid rgba(255,255,255,.20)!important;
}
.kip-restaurant-page .kip-restaurant-menu-column:last-child{border-right:0!important}
.kip-restaurant-page .kip-restaurant-menu-group{margin:0!important;padding:0!important}
.kip-restaurant-page .kip-restaurant-menu-group h3{
  width:max-content!important;
  margin:0 0 15px!important;
  padding:0 0 7px!important;
  border-bottom:4px solid #ef0b15!important;
  color:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:1!important;
  text-transform:uppercase!important;
}
.kip-restaurant-page .kip-restaurant-menu-row{
  display:flex!important;
  align-items:baseline!important;
  width:100%!important;
  min-width:0!important;
  margin:0 0 10px!important;
  color:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:13px!important;
  line-height:1.25!important;
}
.kip-restaurant-page .kip-restaurant-menu-row:last-child{margin-bottom:0!important}
.kip-restaurant-page .kip-restaurant-menu-row span{flex:0 1 auto!important;min-width:0!important}
.kip-restaurant-page .kip-restaurant-menu-row i{
  flex:1 1 auto!important;
  min-width:18px!important;
  height:1px!important;
  margin:0 8px 3px!important;
  border-bottom:1px dotted rgba(255,255,255,.42)!important;
}
.kip-restaurant-page .kip-restaurant-menu-row strong{
  flex:0 0 auto!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}

/* Les wrappers p générés autour du shortcode ne doivent jamais créer de barre. */
.kip-restaurant-page > p,
.wp-site-blocks > main.kip-restaurant-page ~ p{
  display:none!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  line-height:0!important;
  overflow:hidden!important;
}

@media(max-width:900px){
  .kip-restaurant-page .kip-restaurant-hero{min-height:580px!important;padding:58px 20px 50px!important}
  .kip-restaurant-page .kip-restaurant-menu{padding:48px 18px 66px!important}
  .kip-restaurant-page .kip-restaurant-menu-grid{grid-template-columns:1fr!important;gap:0!important;padding:10px 0!important}
  .kip-restaurant-page .kip-restaurant-menu-column{padding:26px 28px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.18)!important}
  .kip-restaurant-page .kip-restaurant-menu-column:last-child{border-bottom:0!important}
}
@media(max-width:600px){
  .kip-restaurant-page .kip-restaurant-hero{min-height:500px!important;padding:48px 16px 42px!important;background-position:center!important}
  .kip-restaurant-page .kip-restaurant-hero h1 span{font-size:clamp(34px,10vw,46px)!important}
  .kip-restaurant-page .kip-restaurant-hero h1 strong{font-size:clamp(48px,14vw,66px)!important}
  .kip-restaurant-page .kip-restaurant-hero h1 em{font-size:clamp(26px,8vw,36px)!important}
  .kip-restaurant-page .kip-restaurant-menu{padding:40px 14px 54px!important}
  .kip-restaurant-page .kip-restaurant-menu-head{margin-bottom:30px!important}
  .kip-restaurant-page .kip-restaurant-menu-column{padding:24px 18px!important;gap:24px!important}
  .kip-restaurant-page .kip-restaurant-menu-group h3{font-size:16px!important}
  .kip-restaurant-page .kip-restaurant-menu-row{font-size:12px!important}
  .kip-restaurant-page .kip-restaurant-menu-row strong{font-size:11px!important}
}

/* ============================================================
   PAGE RESTAURATION — étape 2 : snacks
   ============================================================ */
.kip-restaurant-page .kip-restaurant-snacks{
  width:100%!important;
  margin:0!important;
  padding:0px 24px 82px!important;
  background:#050609!important;
}
.kip-restaurant-page .kip-restaurant-snacks-head{
  margin-bottom:38px!important;
}
.kip-restaurant-page .kip-restaurant-snacks-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px 0!important;
  width:100%!important;
  margin:0!important;
  padding:18px 0!important;
}
.kip-restaurant-page .kip-restaurant-snack-card{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  margin:0!important;
  padding:0 22px!important;
  border-right:1px solid rgba(255,255,255,.20)!important;
}
.kip-restaurant-page .kip-restaurant-snack-card:nth-child(4n){border-right:0!important}
.kip-restaurant-page .kip-restaurant-snack-card figure{
  width:100%!important;
  height:170px!important;
  margin:0 0 14px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.15)!important;
  background:#08090d!important;
}
.kip-restaurant-page .kip-restaurant-snack-card img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.kip-restaurant-page .kip-restaurant-snack-card h3{
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 12px!important;
  padding:0 0 5px!important;
  border-bottom:3px solid #ef0b15!important;
  color:#fff!important;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif)!important;
  font-size:22px!important;
  font-style:italic!important;
  font-weight:950!important;
  line-height:.95!important;
  letter-spacing:-.025em!important;
  text-transform:uppercase!important;
}
.kip-restaurant-page .kip-restaurant-snack-list{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  min-width:0!important;
}
.kip-restaurant-page .kip-restaurant-snack-list .kip-restaurant-menu-row{
  margin-bottom:8px!important;
  font-size:12px!important;
}
.kip-restaurant-page .kip-restaurant-snack-list .kip-restaurant-menu-row strong{
  font-size:11px!important;
}
@media(max-width:1000px){
  .kip-restaurant-page .kip-restaurant-snacks{padding:48px 18px 66px!important}
  .kip-restaurant-page .kip-restaurant-snacks-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:28px!important}
  .kip-restaurant-page .kip-restaurant-snack-card:nth-child(4n){border-right:1px solid rgba(255,255,255,.20)!important}
  .kip-restaurant-page .kip-restaurant-snack-card:nth-child(2n){border-right:0!important}
  .kip-restaurant-page .kip-restaurant-snack-card figure{height:210px!important}
}
@media(max-width:600px){
  .kip-restaurant-page .kip-restaurant-snacks{padding:40px 14px 54px!important}
  .kip-restaurant-page .kip-restaurant-snacks-head{margin-bottom:28px!important}
  .kip-restaurant-page .kip-restaurant-snacks-grid{grid-template-columns:1fr!important;padding:10px 0!important;row-gap:0!important}
  .kip-restaurant-page .kip-restaurant-snack-card,
  .kip-restaurant-page .kip-restaurant-snack-card:nth-child(2n),
  .kip-restaurant-page .kip-restaurant-snack-card:nth-child(4n){
    padding:22px 18px!important;
    border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.18)!important;
  }
  .kip-restaurant-page .kip-restaurant-snack-card:last-child{border-bottom:0!important}
  .kip-restaurant-page .kip-restaurant-snack-card figure{height:210px!important}
  .kip-restaurant-page .kip-restaurant-snack-card h3{font-size:20px!important}
}

/* Restauration — retire uniquement le séparateur vertical tout à droite de la carte des boissons. */
.kip-restaurant-page .kip-restaurant-menu-grid > .kip-restaurant-menu-column:nth-child(3),
.kip-restaurant-page .kip-restaurant-menu-grid > .kip-restaurant-menu-column:last-of-type{
  border-right:0 !important;
}

/* =========================================================
   CORRECTIF CIBLÉ — boutons volontairement trapézoïdaux
   On ne touche PAS :
   - au bouton Instagram « SUIVEZ-NOUS » (reste arrondi),
   - aux boutons RÉSERVER qui doivent garder leur forme d'origine,
   - au bouton du header.
   ========================================================= */
.kip-button-primary,
.kip-universe-cta,
.kip-activity-v2-primary,
.kip-model-red-btn,
.kip-single-activity-model .kip-model-red-btn {
    clip-path: polygon(6% 0, 100% 0, 94% 100%, 0 100%) !important;
}

/* Le laser game avait déjà sa propre silhouette : on la conserve. */
body .kip-single-activity-model.kip-page-laser-game .kip-model-red-btn {
    clip-path: polygon(5% 0, 100% 0, 95% 100%, 0 100%) !important;
}

/* =========================================================
   CORRECTIF CTA CIBLÉ — header + boutons tarifs
   - Header RÉSERVER : deux côtés penchés.
   - Boutons "Voir/Découvrir les tarifs" : rectangle, deux côtés carrés.
   ========================================================= */
.kip-btn-header .wp-block-button__link{
    clip-path: polygon(6% 0,100% 0,94% 100%,0 100%) !important;
    border-radius:0 !important;
}

.kip-activity-v2-prices-all a,
.kip-model-prices-all a,
.kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a[href],
body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a[href]:link,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-prices-all a[href]:visited{
    clip-path:none !important;
    border-radius:0 !important;
}

/* Tarifs — les boutons RÉSERVER des cartes sont volontairement rectangulaires. */
.kip-tariffs-page .kip-tariffs-card-cta,
.kip-tariffs-browser .kip-tariffs-card-cta{
  clip-path:none !important;
  border-radius:0 !important;
}

/* =========================================================
   CTA — contenu centré (texte + flèche comme un seul groupe)
   La forme, la taille et la couleur des boutons ne changent pas.
   ========================================================= */
.kip-button,
.kip-universe-cta,
.kip-booking-cta,
.kip-location-cta,
body.home .kip-home-cta,
body.home .kip-final-booking-btn,
.kip-activity-v2-primary,
.kip-model-red-btn,
.kip-single-activity-model .kip-model-red-btn,
.kip-birthday-formula-cta,
.kip-birthday-page .kip-birthday-invite-cta,
.kip-contact-page .kip-contact-submit {
  justify-content:center !important;
  gap:14px !important;
  text-align:center !important;
}

/* Neutralise un éventuel espace automatique appliqué à la flèche. */
.kip-button > :last-child,
.kip-universe-cta > :last-child,
.kip-booking-cta > :last-child,
.kip-location-cta > :last-child,
body.home .kip-home-cta > :last-child,
body.home .kip-final-booking-btn > :last-child,
.kip-activity-v2-primary > :last-child,
.kip-model-red-btn > :last-child,
.kip-single-activity-model .kip-model-red-btn > :last-child,
.kip-birthday-formula-cta > :last-child,
.kip-birthday-page .kip-birthday-invite-cta > :last-child,
.kip-contact-page .kip-contact-submit > :last-child {
  margin-left:0 !important;
  margin-right:0 !important;
}

/* =========================================================
   HOME — LOCALISATION V2
   Placée sous les activités, composition compacte inspirée
   de la maquette : titre centré + carte + panneau infos.
   ========================================================= */
body.home .kip-location-v2{
  margin:0 !important;
  padding:58px 0 66px !important;
  background:#000 !important;
  border-top:0 !important;
  border-bottom:0 !important;
  overflow:hidden !important;
}
body.home .kip-location-v2-inner{
  width:min(980px,90vw) !important;
  margin:0 auto !important;
}
body.home .kip-location-v2-head{
  margin:0 0 34px !important;
  text-align:center !important;
}
body.home .kip-location-v2-head h2{
  margin:0 !important;
  padding:0 !important;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif) !important;
  font-size:clamp(42px,4.1vw,62px) !important;
  line-height:.88 !important;
  font-style:italic !important;
  font-weight:950 !important;
  letter-spacing:-.04em !important;
  text-transform:uppercase !important;
}
body.home .kip-location-v2-head h2 span,
body.home .kip-location-v2-head h2 strong{
  display:block !important;
  font:inherit !important;
}
body.home .kip-location-v2-head h2 span{color:#fff !important}
body.home .kip-location-v2-head h2 strong{color:#ef0b15 !important}

body.home .kip-location-v2-card{
  display:grid !important;
  grid-template-columns:minmax(0,1.72fr) minmax(250px,.78fr) !important;
  width:min(900px,100%) !important;
  min-height:350px !important;
  margin:0 auto !important;
  background:#080b11 !important;
  border:1px solid rgba(255,255,255,.04) !important;
  overflow:hidden !important;
}
body.home .kip-location-v2-map{
  position:relative !important;
  min-width:0 !important;
  min-height:350px !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background:#17191d !important;
}
body.home .kip-location-v2-embed{
  position:absolute !important;
  inset:-4% !important;
  width:108% !important;
  height:108% !important;
  border:0 !important;
  pointer-events:none !important;
  opacity:.78 !important;
  filter:grayscale(1) invert(.91) sepia(.02) saturate(.34) brightness(.50) contrast(1.22) !important;
  transform:scale(1.03) !important;
}
body.home .kip-location-v2-map-shade{
  position:absolute !important;
  z-index:1 !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(180deg,rgba(7,9,13,.12),rgba(7,9,13,.28)),
    radial-gradient(circle at 64% 45%,rgba(20,36,255,.13),transparent 20%) !important;
}
body.home .kip-location-v2-city{
  position:absolute !important;
  z-index:3 !important;
  top:24px !important;
  right:26px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  gap:2px !important;
  color:#fff !important;
  text-align:right !important;
  text-transform:uppercase !important;
  text-shadow:0 2px 12px rgba(0,0,0,.72) !important;
}
body.home .kip-location-v2-city strong{
  font-size:13px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
}
body.home .kip-location-v2-city span{
  color:rgba(255,255,255,.8) !important;
  font-size:8px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:.10em !important;
}
body.home .kip-location-v2-pin{
  position:absolute !important;
  z-index:4 !important;
  left:68% !important;
  top:45% !important;
  width:22px !important;
  height:28px !important;
  border-radius:50% 50% 50% 0 !important;
  background:#2339ff !important;
  rotate:-45deg !important;
  transform:translate(-50%,-50%) !important;
  filter:drop-shadow(0 5px 8px rgba(0,0,0,.4)) !important;
}
body.home .kip-location-v2-pin span{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:7px !important;
  height:7px !important;
  transform:translate(-50%,-50%) !important;
  border-radius:50% !important;
  background:#fff !important;
}
body.home .kip-location-v2-promo{
  position:absolute !important;
  z-index:5 !important;
  right:22px !important;
  bottom:18px !important;
  display:grid !important;
  grid-template-columns:92px minmax(0,1fr) !important;
  width:270px !important;
  min-height:82px !important;
  background:#080a0f !important;
  border:1px solid rgba(255,255,255,.12) !important;
  color:#fff !important;
  text-decoration:none !important;
  box-shadow:0 12px 28px rgba(0,0,0,.36) !important;
}
body.home .kip-location-v2-photo{
  display:block !important;
  width:100% !important;
  min-height:82px !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
body.home .kip-location-v2-promo-copy{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  padding:11px 14px !important;
}
body.home .kip-location-v2-promo-copy strong{
  color:#fff !important;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif) !important;
  font-size:17px !important;
  line-height:.9 !important;
  font-style:italic !important;
  text-transform:uppercase !important;
}
body.home .kip-location-v2-promo-copy small{
  margin-top:8px !important;
  color:#ef0b15 !important;
  font-size:7px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.06em !important;
}
body.home .kip-location-v2-info{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:32px !important;
  min-width:0 !important;
  padding:38px 30px !important;
  background:#07090e !important;
}
body.home .kip-location-v2-detail{
  display:grid !important;
  grid-template-columns:28px minmax(0,1fr) !important;
  gap:14px !important;
  align-items:start !important;
  min-width:0 !important;
}
body.home .kip-location-v2-icon{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  width:28px !important;
  height:28px !important;
  color:#d9dce5 !important;
}
body.home .kip-location-v2-icon svg{
  display:block !important;
  width:22px !important;
  height:22px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
body.home .kip-location-v2-detail > div{
  min-width:0 !important;
}
body.home .kip-location-v2-detail strong,
body.home .kip-location-v2-detail span{
  display:block !important;
  white-space:normal !important;
}
body.home .kip-location-v2-detail strong{
  margin:0 0 5px !important;
  color:#fff !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:16px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}
body.home .kip-location-v2-detail span{
  color:#d0d2d9 !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:11px !important;
  line-height:1.45 !important;
}

@media(max-width:900px){
  body.home .kip-location-v2{padding:48px 0 58px !important}
  body.home .kip-location-v2-inner{width:min(94vw,760px) !important}
  body.home .kip-location-v2-head{margin-bottom:28px !important}
  body.home .kip-location-v2-card{grid-template-columns:1fr !important;min-height:0 !important}
  body.home .kip-location-v2-map{min-height:330px !important}
  body.home .kip-location-v2-info{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:18px !important;padding:26px 24px !important}
  body.home .kip-location-v2-detail{grid-template-columns:24px minmax(0,1fr) !important;gap:10px !important}
  body.home .kip-location-v2-detail strong{font-size:14px !important}
}
@media(max-width:640px){
  body.home .kip-location-v2{padding:42px 0 50px !important}
  body.home .kip-location-v2-head h2{font-size:clamp(34px,11vw,46px) !important}
  body.home .kip-location-v2-map{min-height:300px !important}
  body.home .kip-location-v2-city{top:18px !important;right:16px !important}
  body.home .kip-location-v2-promo{right:14px !important;bottom:14px !important;width:220px !important;grid-template-columns:76px 1fr !important;min-height:72px !important}
  body.home .kip-location-v2-photo{min-height:72px !important}
  body.home .kip-location-v2-promo-copy{padding:9px 10px !important}
  body.home .kip-location-v2-promo-copy strong{font-size:14px !important}
  body.home .kip-location-v2-info{grid-template-columns:1fr !important;gap:18px !important;padding:24px 20px !important}
}

/* =========================================================
   HOME — LOCALISATION V2.1
   Correctif promo bas-droite + liste d'informations
   ========================================================= */
body.home .kip-location-v2-promo{
  display:flex !important;
  align-items:stretch !important;
  grid-template-columns:none !important;
  width:270px !important;
  height:82px !important;
  min-height:82px !important;
}
body.home .kip-location-v2-photo{
  flex:0 0 92px !important;
  width:92px !important;
  height:82px !important;
  min-width:92px !important;
  min-height:0 !important;
  align-self:stretch !important;
  background-size:cover !important;
  background-position:center center !important;
}
body.home .kip-location-v2-promo-copy{
  flex:1 1 auto !important;
  width:auto !important;
  min-width:0 !important;
  height:82px !important;
  padding:10px 13px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
}

body.home .kip-location-v2-info{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:0 !important;
}
body.home .kip-location-v2-detail{
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  gap:14px !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 0 30px !important;
}
body.home .kip-location-v2-detail:last-child{
  margin-bottom:0 !important;
}
body.home .kip-location-v2-detail > div{
  flex:1 1 auto !important;
  width:auto !important;
  min-width:0 !important;
}
body.home .kip-location-v2-detail strong,
body.home .kip-location-v2-detail span{
  width:auto !important;
  max-width:none !important;
}

@media(max-width:900px){
  body.home .kip-location-v2-info{
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:0 !important;
  }
  body.home .kip-location-v2-detail{
    flex:1 1 0 !important;
    margin:0 18px 0 0 !important;
    gap:10px !important;
  }
  body.home .kip-location-v2-detail:last-child{
    margin-right:0 !important;
  }
}
@media(max-width:640px){
  body.home .kip-location-v2-promo{
    width:220px !important;
    height:72px !important;
    min-height:72px !important;
  }
  body.home .kip-location-v2-photo{
    flex-basis:76px !important;
    width:76px !important;
    min-width:76px !important;
    height:72px !important;
  }
  body.home .kip-location-v2-promo-copy{
    height:72px !important;
  }
  body.home .kip-location-v2-info{
    flex-direction:column !important;
  }
  body.home .kip-location-v2-detail{
    flex:none !important;
    width:100% !important;
    margin:0 0 18px !important;
  }
  body.home .kip-location-v2-detail:last-child{
    margin-bottom:0 !important;
  }
}

/* =========================================================
   HOME — LOCALISATION V2.2
   Remplacement de la carte interactive par l'image fournie
   ========================================================= */
body.home .kip-location-v2-map{
  background:#f2f2f2 url('../images/carte-location.png') center center / cover no-repeat !important;
}
body.home .kip-location-v2-map .kip-location-v2-embed,
body.home .kip-location-v2-map .kip-location-v2-map-shade,
body.home .kip-location-v2-map .kip-location-v2-city,
body.home .kip-location-v2-map .kip-location-v2-pin{
  display:none !important;
}

/* =========================================================
   ACCUEIL — BANDEAU RÉALITÉ VIRTUELLE SOUS LA CARTE
   ========================================================= */
body.home .kip-home-vr-banner,
body.home .kip-home-vr-banner *{
  box-sizing:border-box !important;
}
body.home .kip-home-vr-banner{
  position:relative !important;
  width:100% !important;
  min-height:270px !important;
  margin:0 !important;
  padding:38px 24px !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  isolation:isolate !important;
  background:#05060a !important;
}
body.home .kip-home-vr-banner__bg{
  position:absolute !important;
  inset:0 !important;
  z-index:-3 !important;
  background-image:var(--kip-home-vr-bg) !important;
  background-size:cover !important;
  background-position:var(--kip-focus-position,50% 50%) !important;
  background-repeat:no-repeat !important;
  transform:scale(1.01) !important;
}
body.home .kip-home-vr-banner__shade{
  position:absolute !important;
  inset:0 !important;
  z-index:-2 !important;
  background:
    linear-gradient(90deg,rgba(0,0,0,.34) 0%,rgba(0,0,0,.58) 24%,rgba(0,0,0,.76) 50%,rgba(0,0,0,.58) 76%,rgba(0,0,0,.34) 100%),
    linear-gradient(180deg,rgba(0,0,0,.16),rgba(0,0,0,.28)) !important;
  pointer-events:none !important;
}
body.home .kip-home-vr-banner__content{
  position:relative !important;
  z-index:1 !important;
  width:min(760px,92vw) !important;
  margin:0 auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
body.home .kip-home-vr-banner__content h2{
  margin:0 !important;
  padding:0 !important;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif) !important;
  font-size:clamp(42px,5.1vw,76px) !important;
  font-style:italic !important;
  font-weight:950 !important;
  line-height:.84 !important;
  letter-spacing:-.045em !important;
  text-transform:uppercase !important;
}
body.home .kip-home-vr-banner__content h2 span,
body.home .kip-home-vr-banner__content h2 strong{
  display:block !important;
  font:inherit !important;
}
body.home .kip-home-vr-banner__content h2 span{color:#fff !important}
body.home .kip-home-vr-banner__content h2 strong{color:#ef0b15 !important}
body.home .kip-home-vr-banner__content p{
  margin:18px 0 0 !important;
  max-width:680px !important;
  color:#fff !important;
  font:400 16px/1.45 Arial,Helvetica,sans-serif !important;
  text-shadow:0 2px 16px rgba(0,0,0,.65) !important;
}
body.home .kip-home-vr-banner__cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:300px !important;
  min-height:58px !important;
  margin-top:26px !important;
  padding:0 34px !important;
  background:#ef0b15 !important;
  color:#fff !important;
  text-decoration:none !important;
  font:800 13px/1 Arial,Helvetica,sans-serif !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  clip-path:polygon(5% 0,100% 0,95% 100%,0 100%) !important;
  transition:transform .2s ease,filter .2s ease !important;
}
body.home .kip-home-vr-banner__cta:hover{
  transform:translateY(-2px) !important;
  filter:brightness(1.08) !important;
}

@media(max-width:760px){
  body.home .kip-home-vr-banner{
    min-height:240px !important;
    padding:32px 18px !important;
  }
  body.home .kip-home-vr-banner__content h2{
    font-size:clamp(34px,10.5vw,52px) !important;
  }
  body.home .kip-home-vr-banner__content p{
    margin-top:14px !important;
    font-size:13px !important;
  }
  body.home .kip-home-vr-banner__cta{
    min-width:230px !important;
    min-height:48px !important;
    margin-top:20px !important;
    padding:0 24px !important;
    font-size:11px !important;
  }
}

/* =========================================================
   HOME — LOCALISATION V2.3
   Correctif définitif : encart promo horizontal + infos flex
   ========================================================= */
body.home section.kip-location-v2 .kip-location-v2-promo{
  position:absolute !important;
  right:22px !important;
  bottom:18px !important;
  z-index:6 !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:0 !important;
  grid-template-columns:none !important;
  width:270px !important;
  max-width:270px !important;
  height:82px !important;
  min-height:82px !important;
  padding:0 !important;
  overflow:hidden !important;
}
body.home section.kip-location-v2 .kip-location-v2-promo > .kip-location-v2-photo{
  display:block !important;
  flex:0 0 92px !important;
  width:92px !important;
  min-width:92px !important;
  max-width:92px !important;
  height:82px !important;
  min-height:82px !important;
  margin:0 !important;
  padding:0 !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
body.home section.kip-location-v2 .kip-location-v2-promo > .kip-location-v2-promo-copy{
  display:flex !important;
  flex:1 1 0 !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:0 !important;
  width:auto !important;
  min-width:0 !important;
  height:82px !important;
  margin:0 !important;
  padding:10px 13px !important;
}
body.home section.kip-location-v2 .kip-location-v2-promo-copy strong,
body.home section.kip-location-v2 .kip-location-v2-promo-copy small{
  width:auto !important;
  max-width:100% !important;
}

body.home section.kip-location-v2 .kip-location-v2-info{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:center !important;
  gap:0 !important;
  min-width:0 !important;
}
body.home section.kip-location-v2 .kip-location-v2-info > .kip-location-v2-detail{
  display:flex !important;
  flex:0 0 auto !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:14px !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}
body.home section.kip-location-v2 .kip-location-v2-info > .kip-location-v2-detail + .kip-location-v2-detail{
  margin-top:30px !important;
}
body.home section.kip-location-v2 .kip-location-v2-info > .kip-location-v2-detail:last-child{
  margin-bottom:0 !important;
}
body.home section.kip-location-v2 .kip-location-v2-detail > .kip-location-v2-icon{
  flex:0 0 28px !important;
  width:28px !important;
  min-width:28px !important;
}
body.home section.kip-location-v2 .kip-location-v2-detail > div{
  display:block !important;
  flex:1 1 0 !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
body.home section.kip-location-v2 .kip-location-v2-detail > div > strong,
body.home section.kip-location-v2 .kip-location-v2-detail > div > span{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  white-space:normal !important;
}

@media(max-width:900px){
  body.home section.kip-location-v2 .kip-location-v2-info{
    flex-direction:row !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:22px !important;
  }
  body.home section.kip-location-v2 .kip-location-v2-info > .kip-location-v2-detail,
  body.home section.kip-location-v2 .kip-location-v2-info > .kip-location-v2-detail + .kip-location-v2-detail{
    flex:1 1 0 !important;
    margin:0 !important;
  }
}
@media(max-width:640px){
  body.home section.kip-location-v2 .kip-location-v2-promo{
    right:14px !important;
    bottom:14px !important;
    width:220px !important;
    max-width:220px !important;
    height:72px !important;
    min-height:72px !important;
  }
  body.home section.kip-location-v2 .kip-location-v2-promo > .kip-location-v2-photo{
    flex-basis:76px !important;
    width:76px !important;
    min-width:76px !important;
    max-width:76px !important;
    height:72px !important;
    min-height:72px !important;
  }
  body.home section.kip-location-v2 .kip-location-v2-promo > .kip-location-v2-promo-copy{
    height:72px !important;
  }
  body.home section.kip-location-v2 .kip-location-v2-info{
    flex-direction:column !important;
    gap:0 !important;
  }
  body.home section.kip-location-v2 .kip-location-v2-info > .kip-location-v2-detail,
  body.home section.kip-location-v2 .kip-location-v2-info > .kip-location-v2-detail + .kip-location-v2-detail{
    width:100% !important;
    margin:0 !important;
  }
  body.home section.kip-location-v2 .kip-location-v2-info > .kip-location-v2-detail + .kip-location-v2-detail{
    margin-top:18px !important;
  }
}

/* =========================================================
   ACCUEIL — BANDEAU VR : mêmes proportions que les bandeaux
   Anniversaires / Sociétés déjà validés.
   ========================================================= */
body.home .kip-home-vr-banner{
  min-height:300px !important;
  padding:32px 24px !important;
}
body.home .kip-home-vr-banner__content{
  width:min(920px,100%) !important;
}
body.home .kip-home-vr-banner__content h2{
  font-size:clamp(36px,3.2vw,56px) !important;
  line-height:.88 !important;
  letter-spacing:-.035em !important;
}
body.home .kip-home-vr-banner__content p{
  width:min(680px,100%) !important;
  margin:16px auto 0 !important;
  font-size:14px !important;
  font-weight:500 !important;
  line-height:1.5 !important;
}
body.home .kip-home-vr-banner__cta{
  min-width:230px !important;
  min-height:50px !important;
  margin:20px auto 0 !important;
  padding:0 28px !important;
  font-size:11px !important;
  font-weight:900 !important;
}
body.home .kip-home-vr-banner__shade{
  background:
    radial-gradient(ellipse 72% 110% at 50% 50%,rgba(0,0,0,.84) 0%,rgba(0,0,0,.74) 30%,rgba(0,0,0,.48) 58%,rgba(0,0,0,.18) 80%,rgba(0,0,0,.02) 100%),
    linear-gradient(180deg,rgba(0,0,0,.14),rgba(0,0,0,0) 28%,rgba(0,0,0,0) 72%,rgba(0,0,0,.22)) !important;
}
@media(max-width:700px){
  body.home .kip-home-vr-banner{
    min-height:260px !important;
    padding:28px 18px !important;
  }
  body.home .kip-home-vr-banner__content h2{
    font-size:clamp(32px,9.5vw,46px) !important;
  }
  body.home .kip-home-vr-banner__content p{
    margin-top:14px !important;
    font-size:13px !important;
    line-height:1.4 !important;
  }
  body.home .kip-home-vr-banner__cta{
    min-width:210px !important;
    min-height:46px !important;
    margin-top:18px !important;
    padding:0 24px !important;
    font-size:10px !important;
  }
}

/* =========================================================
   HOME — CHRONOS SOUS LE BANDEAU VR
   - cache uniquement le kicker + gros titre des chronos
   - conserve le texte d'introduction et les cartes
   - resserre le haut de la section après suppression du titre
   ========================================================= */
body.home .kip-times-head .kip-section-label,
body.home .kip-times-head h2 {
    display: none !important;
}

body.home .kip-times {
    margin-top: 0 !important;
    padding-top: 44px !important;
}

body.home .kip-times-head {
    margin: 0 auto 28px !important;
}

body.home .kip-times-head > p {
    margin: 0 auto !important;
}

@media (max-width: 782px) {
    body.home .kip-times {
        padding-top: 32px !important;
    }
    body.home .kip-times-head {
        margin-bottom: 22px !important;
    }
}

/* =========================================================
   ACCUEIL — CARROUSEL PHOTOS SOUS LES CHRONOS
   Même comportement et proportions que les carrousels
   déjà utilisés sur les pages activité / anniversaire.
   ========================================================= */
body.home .kip-home-gallery-carousel,
body.home .kip-home-gallery-carousel *{
  box-sizing:border-box !important;
}
body.home .kip-home-gallery-carousel{
  width:100% !important;
  margin:0 !important;
  padding:34px 0 58px !important;
  overflow:hidden !important;
  background:#000 !important;
  color:#fff !important;
}
body.home .kip-home-gallery-carousel .kip-lgexp__viewport{
  width:100% !important;
  overflow:hidden !important;
  cursor:grab !important;
  touch-action:pan-y !important;
}
body.home .kip-home-gallery-carousel .kip-lgexp__viewport.is-dragging{
  cursor:grabbing !important;
}
body.home .kip-home-gallery-carousel .kip-lgexp__track{
  display:flex !important;
  align-items:center !important;
  gap:clamp(10px,1.5vw,20px) !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory !important;
  scroll-behavior:smooth !important;
  overscroll-behavior-inline:contain !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:none !important;
}
body.home .kip-home-gallery-carousel .kip-lgexp__track::-webkit-scrollbar{
  display:none !important;
}
body.home .kip-home-gallery-carousel .kip-lgexp__slide{
  flex:0 0 clamp(185px,18vw,250px) !important;
  height:clamp(210px,20vw,280px) !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:18px !important;
  background:#090a0d !important;
  scroll-snap-align:center !important;
  scroll-snap-stop:always !important;
  user-select:none !important;
}
body.home .kip-home-gallery-carousel .kip-lgexp__slide img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:cover !important;
  object-position:var(--kip-focus-position,center) !important;
  pointer-events:none !important;
  user-select:none !important;
  -webkit-user-drag:none !important;
}
@media(max-width:700px){
  body.home .kip-home-gallery-carousel{
    padding:24px 0 42px !important;
  }
  body.home .kip-home-gallery-carousel .kip-lgexp__track{
    gap:10px !important;
    padding-inline:18px !important;
  }
  body.home .kip-home-gallery-carousel .kip-lgexp__slide{
    flex-basis:68vw !important;
    height:66vw !important;
    max-height:300px !important;
  }
}
@media(prefers-reduced-motion:reduce){
  body.home .kip-home-gallery-carousel .kip-lgexp__track{
    scroll-behavior:auto !important;
  }
}

/* =========================================================
   ACCUEIL — FAQ SOUS INSTAGRAM
   Même design que la FAQ des pages activité modernes.
   ========================================================= */
body.home .kip-home-faq,
body.home .kip-home-faq *{
  box-sizing:border-box !important;
}
body.home .kip-home-faq{
  width:100% !important;
  margin:0 !important;
  padding:58px 24px 70px !important;
  background:#000 !important;
  color:#fff !important;
}
body.home .kip-home-faq .kip-lgfaq__inner{
  width:min(1120px,100%) !important;
  margin:0 auto !important;
}
body.home .kip-home-faq .kip-lgfaq__title{
  margin:0 auto 46px !important;
  padding:0 !important;
  color:#fff !important;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif) !important;
  font-size:clamp(42px,4vw,58px) !important;
  font-style:italic !important;
  font-weight:900 !important;
  line-height:.9 !important;
  letter-spacing:-.025em !important;
  text-align:center !important;
  text-transform:uppercase !important;
}
body.home .kip-home-faq .kip-lgfaq__title strong{
  display:block !important;
  color:#f10b16 !important;
  font:inherit !important;
}
body.home .kip-home-faq .kip-lgfaq__list{
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
body.home .kip-home-faq .kip-lgfaq__item{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid #27313f !important;
  background:linear-gradient(90deg,#101722 0%,#0b1018 100%) !important;
}
body.home .kip-home-faq .kip-lgfaq__item summary{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
  min-height:54px !important;
  margin:0 !important;
  padding:14px 20px 14px 26px !important;
  color:#fff !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:clamp(15px,1.2vw,18px) !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  cursor:pointer !important;
  list-style:none !important;
}
body.home .kip-home-faq .kip-lgfaq__item summary::-webkit-details-marker{display:none !important}
body.home .kip-home-faq .kip-lgfaq__plus{
  flex:0 0 auto !important;
  display:grid !important;
  place-items:center !important;
  width:30px !important;
  height:30px !important;
  color:#fff !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:28px !important;
  font-weight:900 !important;
  line-height:1 !important;
  transition:transform .2s ease !important;
}
body.home .kip-home-faq .kip-lgfaq__item[open] .kip-lgfaq__plus{transform:rotate(45deg) !important}
body.home .kip-home-faq .kip-lgfaq__answer{
  margin:0 !important;
  padding:0 72px 18px 26px !important;
  color:rgba(255,255,255,.78) !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:15px !important;
  line-height:1.55 !important;
}
body.home .kip-home-faq .kip-lgfaq__answer p{margin:0 !important;padding:0 !important}

/* Le bandeau final utilise volontairement exactement les mêmes dimensions
   que le bandeau VR de l'accueil déjà validé. */
body.home .kip-home-final-banner{
  margin:0 !important;
}

@media(max-width:700px){
  body.home .kip-home-faq{padding:52px 16px 60px !important}
  body.home .kip-home-faq .kip-lgfaq__title{margin-bottom:32px !important;font-size:clamp(34px,10vw,46px) !important}
  body.home .kip-home-faq .kip-lgfaq__item summary{min-height:50px !important;padding:13px 14px 13px 16px !important;font-size:14px !important}
  body.home .kip-home-faq .kip-lgfaq__answer{padding:0 52px 16px 16px !important;font-size:14px !important}
  body.home .kip-home-faq .kip-lgfaq__plus{width:26px !important;height:26px !important;font-size:24px !important}
}

/* ============================================================
   PAGES ACTIVITÉ — prix du hero plus gros et légèrement plus bas
   ============================================================ */
body .kip-single-activity-model .kip-model-hero-price{
    margin-top:16px !important;
    margin-bottom:15px !important;
}
body .kip-single-activity-model .kip-model-hero-price-prefix{
    font-size:11px !important;
    line-height:1.05 !important;
    margin-bottom:2px !important;
}
body .kip-single-activity-model .kip-model-hero-price-main{
    display:flex !important;
    align-items:flex-end !important;
    gap:6px !important;
}
body .kip-single-activity-model .kip-model-hero-price strong{
    font-size:68px !important;
    line-height:.82 !important;
}
body .kip-single-activity-model .kip-model-hero-price span{
    font-size:10px !important;
    padding-bottom:5px !important;
}

@media (max-width:700px){
    body .kip-single-activity-model .kip-model-hero-price{
        margin-top:13px !important;
        margin-bottom:14px !important;
    }
    body .kip-single-activity-model .kip-model-hero-price strong{
        font-size:58px !important;
    }
}

/* ============================================================
   PAGES ACTIVITÉ — HERO PRIX : plus bas, plus gros, sans vide
   ============================================================ */
body .kip-single-activity-model .kip-model-hero-price{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    align-self:flex-start !important;
    flex:0 0 auto !important;
    width:auto !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
    margin:24px 0 8px !important;
    padding:0 !important;
    gap:3px !important;
    overflow:visible !important;
}

body .kip-single-activity-model .kip-model-hero-price-prefix{
    display:block !important;
    flex:0 0 auto !important;
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 0 2px !important;
    padding:0 !important;
    color:#fff !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:13px !important;
    font-weight:800 !important;
    line-height:1 !important;
    letter-spacing:.045em !important;
    text-transform:uppercase !important;
    opacity:.95 !important;
}

body .kip-single-activity-model .kip-model-hero-price-main{
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-end !important;
    justify-content:flex-start !important;
    flex-wrap:nowrap !important;
    flex:0 0 auto !important;
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    gap:9px !important;
    line-height:1 !important;
}

body .kip-single-activity-model .kip-model-hero-price-main > strong{
    display:block !important;
    flex:0 0 auto !important;
    margin:0 !important;
    padding:0 !important;
    color:#EE0006 !important;
    font-family:Impact,Haettenschweiler,"Arial Narrow Bold",Arial,sans-serif !important;
    font-size:78px !important;
    font-style:italic !important;
    font-weight:900 !important;
    line-height:.78 !important;
    letter-spacing:-.035em !important;
    white-space:nowrap !important;
}

body .kip-single-activity-model .kip-model-hero-price-main > span{
    display:block !important;
    flex:0 0 auto !important;
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 0 6px !important;
    padding:0 !important;
    color:#fff !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:12px !important;
    font-weight:900 !important;
    line-height:1 !important;
    letter-spacing:.035em !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
}

/* Laser Game avait plusieurs anciennes règles plus spécifiques : on les neutralise ici. */
body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-price{
    margin:24px 0 8px !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
}
body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-price-main > strong{
    font-size:78px !important;
    line-height:.78 !important;
}
body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-price-main > span{
    font-size:12px !important;
    margin-bottom:6px !important;
    padding:0 !important;
}

@media(max-width:700px){
    body .kip-single-activity-model .kip-model-hero-price,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-price{
        margin:18px 0 8px !important;
    }
    body .kip-single-activity-model .kip-model-hero-price-prefix{
        font-size:11px !important;
    }
    body .kip-single-activity-model .kip-model-hero-price-main > strong,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-price-main > strong{
        font-size:64px !important;
    }
    body .kip-single-activity-model .kip-model-hero-price-main > span,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-price-main > span{
        font-size:10px !important;
        margin-bottom:5px !important;
    }
}


/* ============================================================
   PAGES ACTIVITÉ — réglages exacts validés dans DevTools
   ============================================================ */
body .kip-single-activity-model .kip-model-hero-price,
body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-price{
    margin:24px 0 0 !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
}

body .kip-single-activity-model .kip-model-hero-price-main > strong,
body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-price-main > strong{
    font-size:68px !important;
    line-height:1 !important;
}

/* Le wrapper généré autour du CTA ne doit plus recréer un espace sous le prix. */
body .kip-single-activity-model .kip-model-hero-price + p,
body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-price + p{
    margin-top:0 !important;
}

@media(max-width:700px){
    body .kip-single-activity-model .kip-model-hero-price,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-price{
        margin:18px 0 0 !important;
    }
    body .kip-single-activity-model .kip-model-hero-price-main > strong,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-price-main > strong{
        font-size:58px !important;
        line-height:1 !important;
    }
}

/* ============================================================
   HERO SECONDAIRES — taille uniforme compacte
   Anniversaires / Sociétés / Tarifs / Restauration
   ============================================================ */
@media (min-width: 901px){
  .kip-birthday-page .kip-birthday-hero,
  .kip-company-page .kip-company-hero,
  .kip-tariffs-page .kip-tariffs-page-hero,
  .kip-restaurant-page .kip-restaurant-hero{
    height:500px !important;
    min-height:500px !important;
    max-height:500px !important;
    padding:42px 24px 36px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
  }

  .kip-birthday-page .kip-birthday-hero-content,
  .kip-company-page .kip-company-hero-content,
  .kip-restaurant-page .kip-restaurant-hero-content{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    height:100% !important;
    margin:0 auto !important;
    text-align:center !important;
  }

  .kip-tariffs-page .kip-tariffs-page-hero-inner{
    height:100% !important;
    min-height:0 !important;
    padding:42px 0 36px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }
}

@media (max-width: 900px){
  .kip-birthday-page .kip-birthday-hero,
  .kip-company-page .kip-company-hero,
  .kip-tariffs-page .kip-tariffs-page-hero,
  .kip-restaurant-page .kip-restaurant-hero{
    height:440px !important;
    min-height:440px !important;
    max-height:440px !important;
    padding:38px 20px 34px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .kip-tariffs-page .kip-tariffs-page-hero-inner{
    height:100% !important;
    min-height:0 !important;
    padding:38px 0 34px !important;
    justify-content:center !important;
  }
}

@media (max-width: 600px){
  .kip-birthday-page .kip-birthday-hero,
  .kip-company-page .kip-company-hero,
  .kip-tariffs-page .kip-tariffs-page-hero,
  .kip-restaurant-page .kip-restaurant-hero{
    height:390px !important;
    min-height:390px !important;
    max-height:390px !important;
    padding:34px 16px 30px !important;
  }
  .kip-tariffs-page .kip-tariffs-page-hero-inner{
    padding:34px 0 30px !important;
  }
}

/* ============================================================
   HERO ANNIVERSAIRES / SOCIETES / RESTAURATION
   Centrage vertical + titres plus compacts
   Tarifs volontairement exclu
   ============================================================ */
.kip-birthday-page .kip-birthday-hero-content,
.kip-company-page .kip-company-hero-content,
.kip-restaurant-page .kip-restaurant-hero-content{
  height:100% !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto !important;
  text-align:center !important;
}

.kip-birthday-page .kip-birthday-hero h1,
.kip-company-page .kip-company-hero h1,
.kip-restaurant-page .kip-restaurant-hero h1{
  margin:0 !important;
  line-height:.6 !important;
}

.kip-birthday-page .kip-birthday-hero h1 em,
.kip-company-page .kip-company-hero h1 em,
.kip-restaurant-page .kip-restaurant-hero h1 em{
  margin-top:0 !important;
}

/* ============================================================
   HERO TARIFS — centrage du titre uniquement
   Les réglages line-height .6 / em margin-top:0 restent exclus.
   ============================================================ */
.kip-tariffs-page .kip-tariffs-page-hero-inner{
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.kip-tariffs-page .kip-tariffs-hero-title{
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  align-self:center !important;
  text-align:center !important;
}

.kip-tariffs-page .kip-tariffs-hero-title > *{
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

/* ============================================================
   HERO SECONDAIRES — centrage VISUEL des titres
   Le line-height compact fait remonter visuellement les glyphes ;
   on compense sans toucher aux dimensions du hero.
   ============================================================ */
@media (min-width: 901px){
  .kip-birthday-page .kip-birthday-hero h1,
  .kip-company-page .kip-company-hero h1,
  .kip-restaurant-page .kip-restaurant-hero h1,
  .kip-tariffs-page .kip-tariffs-hero-title{
    position:relative !important;
    top:52px !important;
  }
}

@media (min-width: 601px) and (max-width: 900px){
  .kip-birthday-page .kip-birthday-hero h1,
  .kip-company-page .kip-company-hero h1,
  .kip-restaurant-page .kip-restaurant-hero h1,
  .kip-tariffs-page .kip-tariffs-hero-title{
    position:relative !important;
    top:34px !important;
  }
}

@media (max-width: 600px){
  .kip-birthday-page .kip-birthday-hero h1,
  .kip-company-page .kip-company-hero h1,
  .kip-restaurant-page .kip-restaurant-hero h1,
  .kip-tariffs-page .kip-tariffs-hero-title{
    position:relative !important;
    top:20px !important;
  }
}

/* ============================================================
   HERO TARIFS — léger recentrage vers le haut
   Les autres pages secondaires conservent leur centrage actuel.
   ============================================================ */
@media (min-width: 901px){
  .kip-tariffs-page .kip-tariffs-hero-title{
    top:38px !important;
  }
}

@media (min-width: 601px) and (max-width: 900px){
  .kip-tariffs-page .kip-tariffs-hero-title{
    top:26px !important;
  }
}

@media (max-width: 600px){
  .kip-tariffs-page .kip-tariffs-hero-title{
    top:14px !important;
  }
}

/* =========================================================
   PAGE ANNIVERSAIRES — image dans les cartes formule
   Entre le titre de la formule et la liste des points.
   ========================================================= */
.kip-birthday-page .kip-birthday-formula-media{
  position:relative;
  width:calc(100% - 40px);
  height:clamp(105px,8vw,145px);
  margin:0 20px;
  overflow:hidden;
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.10);
  background:#090c12;
}
.kip-birthday-page .kip-birthday-formula-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 50%;
}

/* Une image présente resserre légèrement la transition titre/liste. */
.kip-birthday-page .kip-birthday-formula-card:has(.kip-birthday-formula-media) .kip-birthday-formula-head{
  padding-bottom:20px;
  border-bottom:0;
}
.kip-birthday-page .kip-birthday-formula-card:has(.kip-birthday-formula-media) .kip-birthday-formula-list{
  padding-top:18px !important;
}

@media(max-width:600px){
  .kip-birthday-page .kip-birthday-formula-media{
    width:calc(100% - 28px);
    height:110px;
    margin:0 14px;
  }
  .kip-birthday-page .kip-birthday-formula-card:has(.kip-birthday-formula-media) .kip-birthday-formula-list{
    padding-top:16px !important;
  }
}

/* =========================================================
   ANNIVERSAIRES — FAQ entre le carrousel et le bandeau final
   Même design que la FAQ des pages activité.
   ========================================================= */
.kip-birthday-page .kip-birthday-faq,
.kip-birthday-page .kip-birthday-faq *{
  box-sizing:border-box !important;
}
.kip-birthday-page .kip-birthday-faq{
  width:100% !important;
  margin:0 !important;
  padding:54px 24px 76px !important;
  background:#000 !important;
  color:#fff !important;
}
.kip-birthday-page .kip-birthday-faq .kip-lgfaq__inner{
  width:min(1120px,100%) !important;
  margin:0 auto !important;
  padding:0 !important;
}
.kip-birthday-page .kip-birthday-faq .kip-lgfaq__title{
  margin:0 auto 42px !important;
  padding:0 !important;
  color:#fff !important;
  font-family:var(--kip-title-font,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif) !important;
  font-size:clamp(42px,4vw,58px) !important;
  font-style:italic !important;
  font-weight:900 !important;
  line-height:.9 !important;
  letter-spacing:-.025em !important;
  text-align:center !important;
  text-transform:uppercase !important;
}
.kip-birthday-page .kip-birthday-faq .kip-lgfaq__title strong{
  display:block !important;
  color:#f10b16 !important;
  font:inherit !important;
}
.kip-birthday-page .kip-birthday-faq .kip-lgfaq__list{
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.kip-birthday-page .kip-birthday-faq .kip-lgfaq__item{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid #27313f !important;
  background:linear-gradient(90deg,#101722 0%,#0b1018 100%) !important;
}
.kip-birthday-page .kip-birthday-faq .kip-lgfaq__item summary{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
  min-height:54px !important;
  margin:0 !important;
  padding:14px 20px 14px 26px !important;
  color:#fff !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:clamp(15px,1.2vw,18px) !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  cursor:pointer !important;
  list-style:none !important;
}
.kip-birthday-page .kip-birthday-faq .kip-lgfaq__item summary::-webkit-details-marker{
  display:none !important;
}
.kip-birthday-page .kip-birthday-faq .kip-lgfaq__plus{
  flex:0 0 auto !important;
  display:grid !important;
  place-items:center !important;
  width:30px !important;
  height:30px !important;
  color:#fff !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:28px !important;
  font-weight:900 !important;
  line-height:1 !important;
  transition:transform .2s ease !important;
}
.kip-birthday-page .kip-birthday-faq .kip-lgfaq__item[open] .kip-lgfaq__plus{
  transform:rotate(45deg) !important;
}
.kip-birthday-page .kip-birthday-faq .kip-lgfaq__answer{
  margin:0 !important;
  padding:0 72px 18px 26px !important;
  color:rgba(255,255,255,.78) !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:15px !important;
  line-height:1.55 !important;
}
.kip-birthday-page .kip-birthday-faq .kip-lgfaq__answer p{
  margin:0 !important;
  padding:0 !important;
}
@media(max-width:700px){
  .kip-birthday-page .kip-birthday-faq{
    padding:42px 16px 54px !important;
  }
  .kip-birthday-page .kip-birthday-faq .kip-lgfaq__title{
    margin-bottom:30px !important;
    font-size:clamp(34px,10vw,46px) !important;
  }
  .kip-birthday-page .kip-birthday-faq .kip-lgfaq__item summary{
    min-height:50px !important;
    padding:13px 14px 13px 16px !important;
    font-size:14px !important;
  }
  .kip-birthday-page .kip-birthday-faq .kip-lgfaq__answer{
    padding:0 52px 16px 16px !important;
    font-size:14px !important;
  }
  .kip-birthday-page .kip-birthday-faq .kip-lgfaq__plus{
    width:26px !important;
    height:26px !important;
    font-size:24px !important;
  }
}

/* =========================================================
   PAGE SOCIÉTÉS — image dans les cartes Pack Entreprise
   Même principe que les cartes Anniversaire : entre le titre
   de la formule et la liste des points.
   ========================================================= */
.kip-company-page .kip-birthday-formula-media{
  position:relative;
  width:calc(100% - 40px);
  height:clamp(105px,8vw,145px);
  margin:0 20px;
  overflow:hidden;
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.10);
  background:#090c12;
}
.kip-company-page .kip-birthday-formula-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 50%;
}
.kip-company-page .kip-company-formula-card:has(.kip-birthday-formula-media) .kip-birthday-formula-head{
  padding-bottom:20px;
  border-bottom:0;
}
.kip-company-page .kip-company-formula-card:has(.kip-birthday-formula-media) .kip-birthday-formula-list{
  padding-top:18px!important;
}
@media(max-width:600px){
  .kip-company-page .kip-birthday-formula-media{
    width:calc(100% - 28px);
    height:110px;
    margin:0 14px;
  }
  .kip-company-page .kip-company-formula-card:has(.kip-birthday-formula-media) .kip-birthday-formula-list{
    padding-top:16px!important;
  }
}


/* ============================================================
   PAGE SOCIÉTÉS — sous-titres Saveurs / Espaces
   ============================================================ */
.kip-company-page .kip-company-catering-subtitle{
  width:min(760px,calc(100% - 36px)) !important;
  margin:14px auto 0 !important;
  padding:0 !important;
  color:rgba(255,255,255,.78) !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:14px !important;
  line-height:1.5 !important;
  text-align:center !important;
}

/* Le texte des espaces est maintenant sous le titre, avant le carrousel. */
.kip-company-page .kip-company-spaces-title{
  margin-bottom:12px !important;
}
.kip-company-page .kip-company-spaces-text{
  width:min(820px,calc(100% - 36px)) !important;
  margin:0 auto 40px !important;
  padding:0 !important;
  color:rgba(255,255,255,.82) !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:14px !important;
  line-height:1.5 !important;
  text-align:center !important;
}
@media(max-width:900px){
  .kip-company-page .kip-company-spaces-text{margin-bottom:34px !important}
}
@media(max-width:600px){
  .kip-company-page .kip-company-catering-subtitle,
  .kip-company-page .kip-company-spaces-text{font-size:13px !important}
  .kip-company-page .kip-company-spaces-title{margin-bottom:10px !important}
  .kip-company-page .kip-company-spaces-text{margin-top:0 !important;margin-bottom:28px !important}
}

/* =========================================================
   PAGE TARIFS — 15/09/2026
   - retire le nom de l'activité au-dessus de "NOS TARIFS"
   - centre les cartes lorsque l'activité ne possède qu'1 ou 2 tarifs
   ========================================================= */
.kip-tariffs-page .kip-tariffs-panel-activity,
.kip-tariffs-browser .kip-tariffs-panel-activity {
  display: none !important;
}

.kip-tariffs-page .kip-tariffs-panel-head h2,
.kip-tariffs-browser .kip-tariffs-panel-head h2 {
  line-height: 1 !important;
}

.kip-tariffs-page .kip-tariffs-cards.is-few,
.kip-tariffs-browser .kip-tariffs-cards.is-few {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 18px !important;
  width: min(900px, 100%) !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.kip-tariffs-page .kip-tariffs-cards.is-few .kip-tariffs-card,
.kip-tariffs-browser .kip-tariffs-cards.is-few .kip-tariffs-card {
  flex: 0 1 288px !important;
  width: 288px !important;
  max-width: 100% !important;
}

@media (max-width: 700px) {
  .kip-tariffs-page .kip-tariffs-cards.is-few,
  .kip-tariffs-browser .kip-tariffs-cards.is-few {
    gap: 12px !important;
  }
  .kip-tariffs-page .kip-tariffs-cards.is-few .kip-tariffs-card,
  .kip-tariffs-browser .kip-tariffs-cards.is-few .kip-tariffs-card {
    flex-basis: 100% !important;
    width: 100% !important;
  }
}


/* =========================================================
   PAGE TARIFS — suppression complète du bloc titre
   15/09/2026
   ========================================================= */
.kip-tariffs-page .kip-tariffs-panel-head,
.kip-tariffs-browser .kip-tariffs-panel-head {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
}

.kip-tariffs-page .kip-tariffs-cards,
.kip-tariffs-browser .kip-tariffs-cards {
  margin-top: 0 !important;
}


/* =========================================================
   V74 — ACCUEIL : carrousel activités propre et stable
   ========================================================= */

/* Chevron homogène sur les CTA. */
a .kip-button-arrow,
button .kip-button-arrow,
a > span[aria-hidden="true"]:last-child,
button > span[aria-hidden="true"]:last-child {
    font-family: Arial, Helvetica, sans-serif !important;
    font-style: normal !important;
    font-weight: 900 !important;
    font-size: 1.45em !important;
    line-height: .7 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: translateY(-1px) !important;
}

/* Icône Karting blanche comme les autres pictogrammes. */
body.home .kip-panel-karting .kip-panel-icon,
body.home .kip-panel-karting .kip-hero-activity-icon,
body.home .kip-panel-karting svg,
body.home .kip-panel-karting svg * {
    color: #fff !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}
body.home .kip-panel-karting .kip-hero-activity-icon {
    display: block !important;
    width: 34px !important;
    height: 34px !important;
    margin: 0 auto !important;
}

body.home .kip-activities {
    overflow: hidden !important;
}
body.home .kip-activities .kip-activities-inner {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body.home .kip-activities .kip-section-head {
    width: min(1180px, calc(100% - 48px)) !important;
    margin: 0 auto 30px !important;
    justify-content: center !important;
    text-align: center !important;
}
body.home .kip-activities .kip-section-head > div {
    width: 100% !important;
    text-align: center !important;
}
body.home .kip-activities .kip-section-link {
    display: none !important;
}

body.home .kip-activities-carousel-clean {
    position: relative !important;
    width: 100% !important;
    min-height: 390px !important;
    padding: 34px 0 44px !important;
    overflow: hidden !important;
    perspective: 1100px !important;
    touch-action: pan-y !important;
    user-select: none !important;
}

body.home .kip-activities-carousel-clean .kip-activities-grid {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: clamp(18px, 1.45vw, 26px) !important;
    width: max-content !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transform-style: preserve-3d !important;
    transition: transform .62s cubic-bezier(.22,.78,.2,1) !important;
    will-change: transform !important;
}
body.home .kip-activities-carousel-clean .kip-activities-grid.is-no-transition {
    transition: none !important;
}

body.home .kip-activities-carousel-clean .kip-activity-card {
    position: relative !important;
    flex: 0 0 clamp(350px, 32vw, 520px) !important;
    width: clamp(350px, 32vw, 520px) !important;
    height: clamp(225px, 18.5vw, 300px) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 2px solid rgba(238,0,6,.9) !important;
    border-radius: 7px !important;
    background: #080b10 !important;
    opacity: .18 !important;
    filter: brightness(.5) saturate(.72) !important;
    transform: scale(.70) translateZ(-90px) !important;
    transform-origin: center center !important;
    transition:
        transform .62s cubic-bezier(.22,.78,.2,1),
        opacity .45s ease,
        filter .45s ease,
        box-shadow .45s ease !important;
    box-shadow: none !important;
    cursor: pointer !important;
    backface-visibility: hidden !important;
}

body.home .kip-activities-carousel-clean .kip-activity-card.is-left {
    z-index: 2 !important;
    opacity: .70 !important;
    filter: brightness(.72) saturate(.86) !important;
    transform: perspective(1000px) rotateY(9deg) scale(.84) translateZ(-30px) !important;
}
body.home .kip-activities-carousel-clean .kip-activity-card.is-right {
    z-index: 2 !important;
    opacity: .70 !important;
    filter: brightness(.72) saturate(.86) !important;
    transform: perspective(1000px) rotateY(-9deg) scale(.84) translateZ(-30px) !important;
}
body.home .kip-activities-carousel-clean .kip-activity-card.is-active {
    z-index: 5 !important;
    opacity: 1 !important;
    filter: none !important;
    transform: perspective(1000px) rotateY(0deg) scale(1.08) translateZ(18px) !important;
    box-shadow: 0 24px 54px rgba(0,0,0,.45) !important;
}
body.home .kip-activities-carousel-clean .kip-activity-card.is-outside {
    pointer-events: none !important;
}

body.home .kip-activities-carousel-clean .kip-activity-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    height: auto !important;
    background: linear-gradient(180deg,rgba(0,0,0,.54) 0%,rgba(0,0,0,.08) 42%,rgba(0,0,0,.70) 100%) !important;
    pointer-events: none !important;
}
body.home .kip-activities-carousel-clean .kip-activity-image {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    width: 100% !important;
    height: 100% !important;
}
body.home .kip-activities-carousel-clean .kip-activity-image::after {
    display: none !important;
}
body.home .kip-activities-carousel-clean .kip-activity-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transform: none !important;
}

body.home .kip-activities-carousel-clean .kip-activity-body {
    position: absolute !important;
    inset: 0 !important;
    z-index: 3 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 18px 18px 16px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: space-between !important;
    text-align: center !important;
    pointer-events: none !important;
}
body.home .kip-activities-carousel-clean .kip-activity-body::before,
body.home .kip-activities-carousel-clean .kip-activity-rule,
body.home .kip-activities-carousel-clean .kip-activity-body > p:not(:has(> .kip-card-link)) {
    display: none !important;
}
body.home .kip-activities-carousel-clean .kip-activity-body h3 {
    width: 100% !important;
    max-width: 92% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: none !important;
    color: #fff !important;
    font-size: clamp(20px, 1.55vw, 29px) !important;
    line-height: .92 !important;
    letter-spacing: .04em !important;
    text-align: center !important;
    text-shadow: 0 3px 13px rgba(0,0,0,.9) !important;
}
body.home .kip-activities-carousel-clean .kip-activity-card.is-active .kip-activity-body h3 {
    font-size: clamp(25px, 1.9vw, 34px) !important;
}
body.home .kip-activities-carousel-clean .kip-activity-body h3::after {
    display: none !important;
}
body.home .kip-activities-carousel-clean .kip-activity-body > p:has(> .kip-card-link) {
    width: min(72%, 310px) !important;
    margin: auto 0 0 !important;
    padding: 0 !important;
    display: block !important;
    pointer-events: auto !important;
}
body.home .kip-activities-carousel-clean .kip-card-link,
body.home .kip-activities-carousel-clean .kip-activity-body > p:has(> .kip-card-link) > .kip-card-link {
    width: 100% !important;
    height: 40px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid #ee0006 !important;
    border-radius: 6px !important;
    background: rgba(5,7,10,.62) !important;
    color: #fff !important;
    font-size: 0 !important;
    text-decoration: none !important;
    pointer-events: auto !important;
}
body.home .kip-activities-carousel-clean .kip-card-link::before {
    content: "DÉCOUVRIR" !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .05em !important;
}
body.home .kip-activities-carousel-clean .kip-card-link span {
    display: none !important;
}
body.home .kip-activities-carousel-clean .kip-card-link:hover {
    background: #ee0006 !important;
}

body.home .kip-activities-carousel-clean .kip-activities-carousel-nav {
    position: absolute !important;
    z-index: 20 !important;
    top: 50% !important;
    width: 58px !important;
    height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: translateY(-50%) !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #0a0b0f !important;
    box-shadow: 0 7px 26px rgba(0,0,0,.36) !important;
    cursor: pointer !important;
}
body.home .kip-activities-carousel-clean .kip-activities-carousel-prev {
    left: clamp(12px, 4vw, 72px) !important;
}
body.home .kip-activities-carousel-clean .kip-activities-carousel-next {
    right: clamp(12px, 4vw, 72px) !important;
}
body.home .kip-activities-carousel-clean .kip-activities-carousel-nav span {
    font-family: Arial,Helvetica,sans-serif !important;
    font-size: 52px !important;
    font-weight: 500 !important;
    line-height: .65 !important;
    transform: translateY(-2px) !important;
}
body.home .kip-activities-carousel-clean .kip-activities-carousel-nav:hover {
    background: #ee0006 !important;
    color: #fff !important;
}

/* L'ancienne vue agrandie ne doit jamais réapparaître. */
body.home .kip-activity-expanded-layout,
body.home .kip-activity-modal {
    display: none !important;
}

@media (max-width: 900px) {
    body.home .kip-activities .kip-section-head {
        width: min(100% - 30px, 760px) !important;
        margin-bottom: 22px !important;
    }
    body.home .kip-activities-carousel-clean {
        min-height: 330px !important;
        padding: 26px 0 38px !important;
    }
    body.home .kip-activities-carousel-clean .kip-activity-card {
        flex-basis: min(70vw, 430px) !important;
        width: min(70vw, 430px) !important;
        height: min(44vw, 270px) !important;
    }
    body.home .kip-activities-carousel-clean .kip-activity-card.is-left {
        transform: perspective(900px) rotateY(7deg) scale(.80) !important;
    }
    body.home .kip-activities-carousel-clean .kip-activity-card.is-right {
        transform: perspective(900px) rotateY(-7deg) scale(.80) !important;
    }
    body.home .kip-activities-carousel-clean .kip-activity-card.is-active {
        transform: perspective(900px) scale(1.03) !important;
    }
    body.home .kip-activities-carousel-clean .kip-activities-carousel-nav {
        width: 48px !important;
        height: 48px !important;
    }
    body.home .kip-activities-carousel-clean .kip-activities-carousel-nav span {
        font-size: 44px !important;
    }
}

@media (max-width: 560px) {
    body.home .kip-activities-carousel-clean {
        min-height: 285px !important;
        padding: 20px 0 30px !important;
    }
    body.home .kip-activities-carousel-clean .kip-activity-card {
        flex-basis: min(76vw, 350px) !important;
        width: min(76vw, 350px) !important;
        height: min(50vw, 225px) !important;
    }
    body.home .kip-activities-carousel-clean .kip-activity-body {
        padding: 14px 12px 12px !important;
    }
    body.home .kip-activities-carousel-clean .kip-activity-body h3 {
        font-size: 18px !important;
    }
    body.home .kip-activities-carousel-clean .kip-activity-card.is-active .kip-activity-body h3 {
        font-size: 22px !important;
    }
    body.home .kip-activities-carousel-clean .kip-activities-carousel-nav {
        width: 42px !important;
        height: 42px !important;
    }
    body.home .kip-activities-carousel-clean .kip-activities-carousel-prev { left: 8px !important; }
    body.home .kip-activities-carousel-clean .kip-activities-carousel-next { right: 8px !important; }
    body.home .kip-activities-carousel-clean .kip-activities-carousel-nav span { font-size: 38px !important; }
}

@media (prefers-reduced-motion: reduce) {
    body.home .kip-activities-carousel-clean .kip-activities-grid,
    body.home .kip-activities-carousel-clean .kip-activity-card {
        transition-duration: .01ms !important;
    }
}

/* =========================================================
   V76 — ACCUEIL / CARROUSEL ACTIVITÉS
   UNIQUEMENT : fond noir transparent des boutons DÉCOUVRIR.
   ========================================================= */
body.home .kip-activities-carousel-clean .kip-card-link,
body.home .kip-activities-carousel-clean .kip-activity-body > p:has(> .kip-card-link) > .kip-card-link {
    background: rgba(0, 0, 0, .55) !important;
}

/* =========================================================
   V77 — ACCUEIL / CARROUSEL ACTIVITÉS
   État initial plus sombre + hover rouge restauré.
   Aucun autre changement.
   ========================================================= */
body.home .kip-activities-carousel-clean .kip-card-link,
body.home .kip-activities-carousel-clean .kip-activity-body > p:has(> .kip-card-link) > .kip-card-link {
    background: rgba(0, 0, 0, .82) !important;
}
body.home .kip-activities-carousel-clean .kip-card-link:hover,
body.home .kip-activities-carousel-clean .kip-activity-body > p:has(> .kip-card-link) > .kip-card-link:hover {
    background: #ee0006 !important;
}

/* =========================================================
   V79 — ACCUEIL / BOUTONS DÉCOUVRIR DES ACTIVITÉS
   Fond initial sombre mais légèrement transparent.
   Aucun changement de hover, bordure, taille ou position.
   ========================================================= */
body.home .kip-activities .kip-activity-card .kip-activity-body > p:has(> .kip-card-link) > .kip-card-link,
body.home .kip-activities .kip-activity-side-card .kip-activity-body > p:has(> .kip-card-link) > .kip-card-link {
    background: rgba(0, 0, 0, .68) !important;
}

/* =========================================================
   V80 — ACCUEIL / CARROUSEL ACTIVITÉS
   Transparence du bouton DÉCOUVRIR réellement visible.
   - bouton noir semi-transparent
   - dégradé bas de carte légèrement allégé
   - hover rouge conservé
   ========================================================= */
body.home .kip-activities-carousel-clean .kip-activity-card::before {
    background: linear-gradient(
        180deg,
        rgba(0,0,0,.54) 0%,
        rgba(0,0,0,.08) 42%,
        rgba(0,0,0,.50) 100%
    ) !important;
}

body.home .kip-activities-carousel-clean .kip-card-link,
body.home .kip-activities-carousel-clean .kip-activity-body > p:has(> .kip-card-link) > .kip-card-link,
body.home .kip-activities .kip-activity-card .kip-activity-body > p:has(> .kip-card-link) > .kip-card-link,
body.home .kip-activities .kip-activity-side-card .kip-activity-body > p:has(> .kip-card-link) > .kip-card-link {
    background: rgba(0, 0, 0, .78) !important;
}

body.home .kip-activities-carousel-clean .kip-card-link:hover,
body.home .kip-activities-carousel-clean .kip-activity-body > p:has(> .kip-card-link) > .kip-card-link:hover {
    background: #ee0006 !important;
}


/* =========================================================
   V83 — FLÈCHES DE BOUTONS SANS CERCLE
   Même chevron simple sur tous les CTA, y compris le header.
   Aucun contour, aucun fond, aucune pastille.
   ========================================================= */
.kip-button-arrow {
    box-sizing: content-box !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: inherit !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 1.45em !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: .7 !important;
    letter-spacing: 0 !important;
    text-indent: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    text-decoration: none !important;
    transform: translateY(-1px) !important;
}

/* CTA déjà espacés avec gap : pas de marge supplémentaire. */
.kip-button .kip-button-arrow,
.kip-universe-cta .kip-button-arrow,
.kip-booking-cta .kip-button-arrow,
.kip-location-cta .kip-button-arrow,
.kip-home-cta .kip-button-arrow,
.kip-final-booking-btn .kip-button-arrow,
.kip-activity-v2-primary .kip-button-arrow,
.kip-model-red-btn .kip-button-arrow,
.kip-birthday-formula-cta .kip-button-arrow,
.kip-contact-submit .kip-button-arrow {
    margin-left: 0 !important;
}

/* Header : flèche simple après le texte, sans modifier la forme du bouton. */
.kip-btn-header .wp-block-button__link {
    padding: 12px 28px !important;
    gap: 9px !important;
}
.kip-btn-header .kip-button-arrow {
    margin-left: 0 !important;
}

/* Liens compacts : léger espace avant le chevron, toujours sans cercle. */
.kip-card-link .kip-button-arrow,
.kip-times-card-head .kip-button-arrow,
.kip-times-actions .kip-button-arrow,
.kip-practical-hero-card .kip-button-arrow,
.kip-practical-map-card .kip-button-arrow,
.kip-location-v2-promo .kip-button-arrow,
.kip-instagram-bottom .kip-button-arrow,
.kip-model-hero-virtual .kip-button-arrow,
.kip-reviews-bottom .kip-button-arrow {
    margin-left: 6px !important;
}


/* =========================================================
   ANNIVERSAIRES — POPUP CONTACT FORMULES
   ========================================================= */
body.kip-modal-open { overflow: hidden !important; }

.kip-birthday-contact-modal[hidden] { display: none !important; }
.kip-birthday-contact-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(0,0,0,.78);
    opacity: 0;
    transition: opacity .16s ease;
}
.kip-birthday-contact-modal.is-open { opacity: 1; }
.kip-birthday-contact-modal__panel {
    position: relative;
    width: min(100%, 590px);
    padding: 42px 38px 38px;
    background: #101116;
    border-top: 4px solid #ee0006;
    box-shadow: 0 24px 70px rgba(0,0,0,.5);
    transform: translateY(10px);
    transition: transform .16s ease;
}
.kip-birthday-contact-modal.is-open .kip-birthday-contact-modal__panel { transform: translateY(0); }
.kip-birthday-contact-modal__close {
    position: absolute;
    top: 14px;
    right: 16px;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
}
.kip-birthday-contact-modal__eyebrow {
    display: block;
    margin-bottom: 10px;
    color: #ee0006;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
}
.kip-birthday-contact-modal h2 {
    margin: 0 0 12px;
    color: #fff;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: clamp(40px, 7vw, 64px);
    font-style: italic;
    font-weight: 900;
    line-height: .92;
    text-transform: uppercase;
}
.kip-birthday-contact-modal p {
    margin: 0;
    color: #c8c9ce;
    font-size: 14px;
    line-height: 1.6;
}
.kip-birthday-contact-modal__formula {
    margin-top: 10px !important;
    color: #fff !important;
    font-weight: 800;
}
.kip-birthday-contact-modal__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 28px;
}
.kip-birthday-contact-choice {
    display: flex;
    min-height: 84px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 16px 18px;
    color: #fff !important;
    text-decoration: none !important;
    border: 1px solid rgba(255,255,255,.18);
    background: #191a20;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.kip-birthday-contact-choice:hover {
    transform: translateY(-2px);
    border-color: #ee0006;
    background: #202127;
}
.kip-birthday-contact-choice span {
    margin-bottom: 7px;
    color: #ee0006;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
}
.kip-birthday-contact-choice strong {
    max-width: 100%;
    color: #fff;
    font-size: 14px;
    overflow-wrap: anywhere;
}
@media (max-width: 620px) {
    .kip-birthday-contact-modal { padding: 16px; }
    .kip-birthday-contact-modal__panel { padding: 38px 22px 24px; }
    .kip-birthday-contact-modal__actions { grid-template-columns: 1fr; }
}

/* =========================================================
   SOCIÉTÉS — ancrage des boutons « Découvrir nos formules »
   Laisse le titre des packs visible sous le header après le clic.
   ========================================================= */
#kip-company-packs {
    scroll-margin-top: 96px;
}

/* =========================================================
   V92 — BILLETTERIE / WOOCOMMERCE
   Aucun composant existant n'est redessiné : ces règles concernent
   uniquement les nouvelles informations billetterie et les pages
   Panier / Commande de WooCommerce.
   ========================================================= */
.kip-ticket-warning{
    width:min(900px,100%);
    margin:22px auto 0!important;
    padding:14px 16px!important;
    border-left:3px solid #ee0006!important;
    background:rgba(238,0,6,.08)!important;
    color:#c9cbd1!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:1.55!important;
    text-align:left!important;
}
.kip-ticket-gift{
    margin-top:64px!important;
    padding-top:54px!important;
    border-top:1px solid rgba(255,255,255,.12)!important;
}
.kip-ticketing-checkout-warning{
    margin:0 0 24px!important;
    padding:16px 18px!important;
    border-left:4px solid #ee0006!important;
    background:#111217!important;
    color:#fff!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1.5!important;
}

/* Panier / commande : style KIP uniquement sur les pages WooCommerce. */
body.woocommerce-cart .kip-page-shell,
body.woocommerce-checkout .kip-page-shell,
body.woocommerce-account .kip-page-shell{
    background:#07090d!important;
    color:#fff!important;
}
body.woocommerce-cart .kip-page-shell-inner,
body.woocommerce-checkout .kip-page-shell-inner,
body.woocommerce-account .kip-page-shell-inner{
    width:min(1180px,calc(100% - 36px))!important;
    margin:0 auto!important;
    padding:72px 0 90px!important;
}
body.woocommerce-cart .wp-block-post-title,
body.woocommerce-checkout .wp-block-post-title,
body.woocommerce-account .wp-block-post-title{
    color:#fff!important;
    font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif!important;
    font-size:clamp(52px,7vw,94px)!important;
    font-style:italic!important;
    line-height:.9!important;
    text-transform:uppercase!important;
}
.woocommerce table.shop_table,
.woocommerce .cart_totals,
.woocommerce .woocommerce-checkout-review-order,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register,
.wc-block-cart,
.wc-block-checkout{
    border-color:rgba(255,255,255,.14)!important;
    background:#0d1015!important;
    color:#fff!important;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce .cart_totals h2,
.woocommerce .woocommerce-checkout-review-order-table,
.woocommerce .woocommerce-billing-fields h3,
.woocommerce .woocommerce-additional-fields h3,
.woocommerce #order_review_heading,
.wc-block-cart,
.wc-block-checkout{
    color:#fff!important;
}
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input{
    border:1px solid rgba(255,255,255,.2)!important;
    border-radius:0!important;
    background:#07090d!important;
    color:#fff!important;
}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #payment #place_order,
.wc-block-components-button:not(.is-link){
    min-height:46px!important;
    padding:0 24px!important;
    border:0!important;
    border-radius:0!important;
    background:#ee0006!important;
    color:#fff!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:11px!important;
    font-weight:900!important;
    line-height:46px!important;
    text-transform:uppercase!important;
    clip-path:polygon(4% 0,100% 0,96% 100%,0 100%)!important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #payment #place_order:hover,
.wc-block-components-button:not(.is-link):hover{
    background:#ff171d!important;
    color:#fff!important;
}
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
    border-top-color:#ee0006!important;
    background:#111217!important;
    color:#fff!important;
}
.woocommerce-message::before,
.woocommerce-info::before{color:#ee0006!important}
.woocommerce a.remove{color:#ee0006!important}
.woocommerce a.remove:hover{background:#ee0006!important;color:#fff!important}
.woocommerce #payment{background:#111217!important;color:#fff!important}
.woocommerce #payment div.payment_box{background:#07090d!important;color:#fff!important}
.woocommerce #payment div.payment_box::before{border-bottom-color:#07090d!important}
.woocommerce .quantity .qty{min-height:40px!important;background:#07090d!important;color:#fff!important;border:1px solid rgba(255,255,255,.2)!important}
.woocommerce a{color:#fff}
.woocommerce a:hover{color:#ee0006}

@media(max-width:700px){
    .kip-ticket-gift{margin-top:42px!important;padding-top:38px!important}
    body.woocommerce-cart .kip-page-shell-inner,
    body.woocommerce-checkout .kip-page-shell-inner,
    body.woocommerce-account .kip-page-shell-inner{padding:48px 0 64px!important}
}


/* Laser Game : le badge VR reste au-dessus du calque texte et reçoit le clic.
   Aucun style visuel n'est modifié ici. */
body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual {
    z-index: 20 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}
body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-media-shade {
    pointer-events: none !important;
}


/* =========================================================
   LASER GAME — bouton VR
   Recalé pour coller au modèle fourni par l'utilisateur
   (badge compact, texte sur 2 lignes, proportions serrées).
   Le clic reste géré par KIP Manager v22.3.8.
   ========================================================= */
body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual{
    position:absolute !important;
    right:18px !important;
    bottom:18px !important;
    z-index:20 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:18px !important;

    width:386px !important;
    min-width:386px !important;
    max-width:calc(100% - 36px) !important;
    height:92px !important;
    min-height:92px !important;

    padding:8px 18px 8px 14px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;

    border:1px solid rgba(255,255,255,.78) !important;
    border-radius:999px !important;
    background:rgba(7,8,18,.84) !important;
    color:#fff !important;
    text-decoration:none !important;
    backdrop-filter:blur(7px) !important;
}

body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual .kip-model-hero-virtual-icon{
    display:grid !important;
    place-items:center !important;
    width:62px !important;
    height:62px !important;
    min-width:62px !important;
    flex:0 0 62px !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;

    border:2px solid #ee0006 !important;
    border-radius:50% !important;

    color:#fff !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:12px !important;
    font-weight:900 !important;
    line-height:1 !important;
}

body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual > span:last-child{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:6px !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
}

body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual b{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    color:#fff !important;

    font-family:Arial, Helvetica, sans-serif !important;
    font-size:15px !important;
    font-weight:900 !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
}

body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual small{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    margin:0 !important;
    padding:0 !important;
    color:#fff !important;

    font-family:Arial, Helvetica, sans-serif !important;
    font-size:10px !important;
    font-weight:900 !important;
    line-height:1 !important;
    letter-spacing:.01em !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
}

body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual .kip-button-arrow{
    display:inline-block !important;
    margin-left:0 !important;
    color:#fff !important;
    font-size:14px !important;
    line-height:1 !important;
    transform:none !important;
}

@media (max-width: 760px){
    body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual{
        width:350px !important;
        min-width:350px !important;
        height:84px !important;
        min-height:84px !important;
        gap:16px !important;
        padding:8px 16px 8px 12px !important;
    }

    body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual .kip-model-hero-virtual-icon{
        width:56px !important;
        height:56px !important;
        min-width:56px !important;
        flex-basis:56px !important;
        font-size:11px !important;
    }

    body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual b{
        font-size:14px !important;
    }

    body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual small{
        font-size:9px !important;
        gap:8px !important;
    }
}


/* =========================================================
   LASER GAME — bouton VR compact
   Réduit par rapport à la version précédente.
   Le lien reste cliquable via KIP Manager v22.3.8.
   ========================================================= */
body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual{
    width:250px !important;
    min-width:250px !important;
    max-width:calc(100% - 28px) !important;
    height:76px !important;
    min-height:76px !important;

    right:36px !important;
    bottom:36px !important;

    gap:5px !important;
    padding:8px 16px 8px 10px !important;

    border-radius:999px !important;
}

body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual .kip-model-hero-virtual-icon{
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
    flex:0 0 50px !important;
    font-size:10px !important;
}

body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual > span:last-child{
    gap:4px !important;
}

body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual b{
    font-size:13px !important;
}

body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual small{
    font-size:9px !important;
    gap:7px !important;
}

body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual .kip-button-arrow{
    font-size:12px !important;
}

@media (max-width:760px){
    body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual{
        width:286px !important;
        min-width:286px !important;
        height:70px !important;
        min-height:70px !important;
        gap:12px !important;
    }

    body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual .kip-model-hero-virtual-icon{
        width:46px !important;
        height:46px !important;
        min-width:46px !important;
        flex-basis:46px !important;
    }
}


/* =========================================================
   PAGES ACTIVITÉS — centrer les tarifs quand il n'y en a
   qu'un ou deux, sans changer le design des cartes.
   ========================================================= */

/* Modèle principal — 1 tarif */
body .kip-single-activity-model .kip-model-price-grid:has(> .kip-model-price-card:only-child) {
    grid-template-columns: minmax(0, 1fr) !important;
    width: min(300px, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Modèle principal — exactement 2 tarifs */
body .kip-single-activity-model .kip-model-price-grid:has(> .kip-model-price-card:nth-child(2):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(618px, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Laser Game — mêmes règles, malgré ses surcharges spécifiques */
body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-grid:has(> .kip-laser-price-card:only-child) {
    grid-template-columns: minmax(0, 1fr) !important;
    width: min(300px, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-grid:has(> .kip-laser-price-card:nth-child(2):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(618px, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Ancien modèle activité V2 — sécurité si une activité l'utilise encore */
body .kip-activity-v2-price-grid:has(> *:only-child) {
    grid-template-columns: minmax(0, 1fr) !important;
    width: min(300px, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body .kip-activity-v2-price-grid:has(> *:nth-child(2):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(618px, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Mobile : les 1 ou 2 cartes restent naturellement sur une seule colonne. */
@media (max-width: 700px) {
    body .kip-single-activity-model .kip-model-price-grid,
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-grid,
    body .kip-activity-v2-price-grid {
        width: min(420px, 100%) !important;
        grid-template-columns: 1fr !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* =========================================================
   PAGES ACTIVITÉS — centrage robuste des cartes tarifs
   On utilise flex plutôt que :has(), afin que :
   - 1 carte = centrée
   - 2 cartes = centrées ensemble
   - 3 cartes = même disposition qu'avant
   ========================================================= */
body .kip-single-activity-model .kip-model-price-grid,
body .kip-single-activity-model .kip-laser-price-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;
}

/* Conserve la largeur qu'aurait une carte dans une grille de 3 colonnes. */
body .kip-single-activity-model .kip-model-price-grid > .kip-model-price-card,
body .kip-single-activity-model .kip-laser-price-grid > .kip-laser-price-card {
    flex: 0 1 calc((100% - 36px) / 3) !important;
    width: calc((100% - 36px) / 3) !important;
    max-width: calc((100% - 36px) / 3) !important;
    box-sizing: border-box !important;
}

/* Laser Game utilise un gap légèrement différent. */
body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-grid {
    gap: 14px !important;
}
body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-grid > .kip-laser-price-card {
    flex-basis: calc((100% - 28px) / 3) !important;
    width: calc((100% - 28px) / 3) !important;
    max-width: calc((100% - 28px) / 3) !important;
}

/* Tablette : deux colonnes centrées. */
@media (max-width: 980px) and (min-width: 701px) {
    body .kip-single-activity-model .kip-model-price-grid > .kip-model-price-card,
    body .kip-single-activity-model .kip-laser-price-grid > .kip-laser-price-card,
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-grid > .kip-laser-price-card {
        flex-basis: calc((100% - 18px) / 2) !important;
        width: calc((100% - 18px) / 2) !important;
        max-width: calc((100% - 18px) / 2) !important;
    }
}

/* Mobile : une colonne. */
@media (max-width: 700px) {
    body .kip-single-activity-model .kip-model-price-grid > .kip-model-price-card,
    body .kip-single-activity-model .kip-laser-price-grid > .kip-laser-price-card,
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-grid > .kip-laser-price-card {
        flex: 0 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* Footer — ancres internes : ne pas cacher la cible sous le header fixe. */
#horaires,
#plan-acces,
#faq,
#kip-company-packs {
    scroll-margin-top: 110px;
}

/* =========================================================
   MOBILE RESPONSIVE V1 — HEADER + DÉBORDEMENT HORIZONTAL
   Objectif : aucune barre horizontale parasite sur téléphone,
   tout en conservant Logo + Menu + RÉSERVER dans le header.
   ========================================================= */

/* Sécurité globale : aucun élément de structure ne doit élargir la page. */
html,
body,
.wp-site-blocks {
    width: 100%;
    max-width: 100%;
}

html,
body {
    overflow-x: clip !important;
}

.wp-site-blocks {
    overflow-x: clip;
}

@media (max-width: 782px) {
    /* Header réellement pensé pour un écran téléphone :
       logo / hamburger / CTA restent sur UNE seule ligne. */
    .kip-header {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 58px !important;
        padding: 0 9px !important;
        gap: 7px !important;
        overflow: visible !important;
    }

    .kip-header > * {
        min-width: 0 !important;
    }

    .kip-header-logo {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        max-width: none !important;
        overflow: hidden;
    }

    .kip-header .wp-block-site-logo,
    .kip-header .wp-block-site-logo a {
        width: max-content !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    .kip-header .wp-block-site-logo img {
        width: clamp(72px, 23vw, 92px) !important;
        max-width: 100% !important;
        max-height: 38px !important;
        object-fit: contain !important;
    }

    /* Zone hamburger compacte et fixe. */
    .kip-navigation {
        flex: 0 0 34px !important;
        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;
        margin: 0 !important;
        justify-content: center !important;
    }

    .kip-navigation .wp-block-navigation__responsive-container-open {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        min-height: 34px !important;
        margin: 0 !important;
        padding: 6px !important;
    }

    .kip-navigation .wp-block-navigation__responsive-container-open svg {
        width: 20px !important;
        height: 20px !important;
    }

    /* Le CTA reste visible sur mobile, mais ne peut plus pousser le header
       hors de l'écran, y compris sur les téléphones étroits. */
    .kip-btn-header {
        display: block !important;
        flex: 0 0 clamp(94px, 36vw, 116px) !important;
        width: clamp(94px, 36vw, 116px) !important;
        min-width: 0 !important;
        max-width: 116px !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    .kip-btn-header .wp-block-button__link {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 38px !important;
        padding: 9px 11px !important;
        gap: 5px !important;
        font-size: 8px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
    }

    .kip-btn-header .kip-button-arrow {
        font-size: 1.25em !important;
    }

    /* Les sections principales restent strictement dans le viewport.
       Les carrousels qui défilent ont leur propre overflow interne. */
    main,
    .wp-block-shortcode,
    .kip-page,
    .kip-events-page,
    .kip-offers-page,
    .kip-practical-page,
    .kip-contact-page,
    .kip-single-activity-model,
    .kip-restaurant-page,
    body.home .kip-home-page {
        max-width: 100% !important;
    }
}

/* Très petits téléphones (320 px et moins). */
@media (max-width: 340px) {
    .kip-header {
        padding-left: 7px !important;
        padding-right: 7px !important;
        gap: 5px !important;
    }

    .kip-header .wp-block-site-logo img {
        width: 68px !important;
    }

    .kip-navigation {
        flex-basis: 30px !important;
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
    }

    .kip-navigation .wp-block-navigation__responsive-container-open {
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        min-height: 30px !important;
        padding: 5px !important;
    }

    .kip-btn-header {
        flex-basis: 92px !important;
        width: 92px !important;
    }

    .kip-btn-header .wp-block-button__link {
        padding-left: 8px !important;
        padding-right: 8px !important;
        font-size: 7.5px !important;
    }
}


/* =========================================================
   MOBILE RESPONSIVE V2 — ACCUEIL + MENU + SWIPE + RETOUR HAUT
   21/10/2026
   ========================================================= */

/* Instagram : le flux reste centré sur desktop comme sur mobile. */
body.home .kip-instagram-gallery.kip-instagram-gallery-spotlight {
    width: min(1180px, calc(100% - 48px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}
body.home .kip-instagram-gallery.kip-instagram-gallery-spotlight > * {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Bouton flottant retour en haut — style KIP. */
.kip-back-to-top {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 9998;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 0;
    background: #EE0006;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 25px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
    clip-path: polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);
    box-shadow: 0 10px 28px rgba(0,0,0,.35);
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease, background .2s ease;
}
.kip-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.kip-back-to-top:hover,
.kip-back-to-top:focus-visible {
    background: #ff171d;
    outline: 2px solid #fff;
    outline-offset: 2px;
}

@media (max-width: 782px) {
    /* HERO : les trois lignes restent entièrement dans l'écran, même à 320px. */
    body.home .kip-hero-copy {
        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px) !important;
        left: 50% !important;
    }
    body.home .kip-hero-line {
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    body.home .kip-hero-line-1 {
        font-size: min(13.8vw, 58px) !important;
    }
    body.home .kip-hero-line-2 {
        font-size: min(12.2vw, 62px) !important;
        letter-spacing: -.018em !important;
    }
    body.home .kip-hero-line-3 {
        font-size: min(8.5vw, 38px) !important;
    }

    /* Espacements demandés sur l'accueil mobile. */
    body.home .kip-activities {
        margin-top: 80px !important;
    }
    body.home .kip-home-cta-wrap.kip-home-cta-after-activities {
        padding-top: 0 !important;
    }
    body.home .kip-reviews {
        padding-top: 60px !important;
    }
    body.home .kip-home-faq.kip-lgfaq {
        padding: 52px 16px 20px !important;
    }

    /* AVIS : vrai swipe tactile horizontal natif. */
    body.home .kip-reviews-viewport {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        touch-action: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior-x: contain !important;
        scroll-snap-type: x mandatory !important;
        scroll-behavior: smooth !important;
    }
    body.home .kip-reviews-track,
    body.home .kip-reviews-track.is-fit {
        width: max-content !important;
        min-width: max-content !important;
        justify-content: flex-start !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    body.home .kip-review-card {
        flex: 0 0 calc(100vw - 48px) !important;
        width: calc(100vw - 48px) !important;
        min-width: 0 !important;
        scroll-snap-align: center !important;
        scroll-snap-stop: always !important;
    }

    /* Instagram : largeur symétrique, donc rangée vraiment centrée. */
    body.home .kip-instagram-gallery.kip-instagram-gallery-spotlight {
        width: calc(100% - 40px) !important;
        max-width: calc(100% - 40px) !important;
        margin: 0 auto !important;
        padding: 0 !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
    body.home .kip-instagram-copy-minimal {
        width: calc(100% - 40px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* =====================================================
       MENU MOBILE — overlay sombre cohérent avec l'identité KIP
       ===================================================== */
    .kip-navigation .wp-block-navigation__responsive-container.is-menu-open {
        position: fixed !important;
        inset: 0 !important;
        z-index: 999999 !important;
        width: 100vw !important;
        height: 100dvh !important;
        min-height: 100vh !important;
        padding: 72px 22px 28px !important;
        overflow-y: auto !important;
        background:
            linear-gradient(145deg, rgba(238,0,6,.10), transparent 38%),
            #08090d !important;
        color: #fff !important;
        border-top: 3px solid #EE0006 !important;
    }

    .kip-navigation .wp-block-navigation__responsive-container-close {
        top: 16px !important;
        right: 16px !important;
        width: 42px !important;
        height: 42px !important;
        display: grid !important;
        place-items: center !important;
        padding: 9px !important;
        color: #fff !important;
        background: #15171e !important;
        border: 1px solid rgba(255,255,255,.18) !important;
    }
    .kip-navigation .wp-block-navigation__responsive-container-close svg {
        width: 22px !important;
        height: 22px !important;
        fill: currentColor !important;
    }

    .kip-navigation .wp-block-navigation__responsive-container-content {
        width: 100% !important;
        max-width: 430px !important;
        min-height: calc(100dvh - 104px) !important;
        margin: 0 auto !important;
        padding: 28px 0 40px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
    }
    .kip-navigation .wp-block-navigation__responsive-container-content::before {
        content: "MENU";
        display: block;
        margin: 0 0 24px !important;
        padding: 0 0 12px !important;
        color: #EE0006;
        border-bottom: 1px solid rgba(255,255,255,.12);
        font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
        font-size: 34px;
        font-style: italic;
        font-weight: 900;
        line-height: 1;
        letter-spacing: .02em;
    }

    .kip-navigation .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0 !important;
    }
    .kip-navigation .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.10) !important;
    }
    .kip-navigation .wp-block-navigation__responsive-container-content .wp-block-navigation-item > a,
    .kip-navigation .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
        width: 100% !important;
        min-height: 54px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 15px 4px !important;
        color: #fff !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 15px !important;
        font-weight: 900 !important;
        line-height: 1.2 !important;
        letter-spacing: .045em !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
    }
    .kip-navigation .wp-block-navigation__responsive-container-content .wp-block-navigation-item > a::after,
    .kip-navigation .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content::after {
        content: "›" !important;
        position: static !important;
        width: auto !important;
        height: auto !important;
        flex: 0 0 auto !important;
        margin-left: 16px !important;
        background: none !important;
        color: #EE0006 !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 24px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
    }

    /* Sous-menu Activités dans l'overlay. */
    .kip-navigation .wp-block-navigation__responsive-container-content .kip-nav-activities {
        width: 100% !important;
    }
    .kip-navigation .wp-block-navigation__responsive-container-content .kip-activity-dropdown {
        width: 100% !important;
        margin: 0 0 8px !important;
        padding: 5px 0 7px 14px !important;
        border: 0 !important;
        border-left: 2px solid #EE0006 !important;
        background: rgba(255,255,255,.035) !important;
    }
    .kip-navigation .wp-block-navigation__responsive-container-content .kip-activity-dropdown li {
        border: 0 !important;
    }
    .kip-navigation .wp-block-navigation__responsive-container-content .kip-activity-dropdown a {
        min-height: 40px !important;
        padding: 9px 12px !important;
        color: rgba(255,255,255,.82) !important;
        font-size: 12px !important;
    }
    .kip-navigation .wp-block-navigation__responsive-container-content .kip-activity-dropdown a::after {
        display: none !important;
        content: none !important;
    }

    .kip-back-to-top {
        right: 14px;
        bottom: 14px;
        width: 42px;
        height: 42px;
        font-size: 23px;
    }
}

@media (max-width: 360px) {
    body.home .kip-hero-copy {
        width: calc(100% - 18px) !important;
        max-width: calc(100% - 18px) !important;
    }
    body.home .kip-hero-line-1 { font-size: 13.5vw !important; }
    body.home .kip-hero-line-2 { font-size: 11.8vw !important; }
    body.home .kip-hero-line-3 { font-size: 8.2vw !important; }
}

/* =========================================================
   MOBILE RESPONSIVE V2.1 — MENU HAMBURGER ROBUSTE
   Corrige les liens qui pouvaient se superposer sur certains
   téléphones à cause des styles natifs du bloc Navigation WP.
   ========================================================= */
@media (max-width: 782px) {
    /* Le conteneur ouvert possède sa propre mise en page, indépendante
       du petit emplacement de navigation du header. */
    .kip-navigation .wp-block-navigation__responsive-container.is-menu-open,
    .kip-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
    .kip-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
        box-sizing: border-box !important;
    }

    .kip-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
    .kip-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        position: static !important;
        display: block !important;
    }

    .kip-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
        position: relative !important;
        inset: auto !important;
        width: min(100%, 430px) !important;
        max-width: 430px !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 auto !important;
        padding: 26px 0 48px !important;
        display: block !important;
        overflow: visible !important;
        transform: none !important;
    }

    /* On abandonne volontairement la grille/flex native WP dans l'overlay :
       une liste verticale classique est beaucoup plus fiable sur mobile. */
    .kip-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        list-style: none !important;
        transform: none !important;
    }

    .kip-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
        position: relative !important;
        inset: auto !important;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: 56px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        flex: none !important;
        transform: none !important;
        overflow: visible !important;
        border-bottom: 1px solid rgba(255,255,255,.11) !important;
    }

    .kip-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > a,
    .kip-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
        position: relative !important;
        inset: auto !important;
        float: none !important;
        width: 100% !important;
        height: auto !important;
        min-height: 56px !important;
        margin: 0 !important;
        padding: 17px 6px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 16px !important;
        transform: none !important;
        white-space: normal !important;
        overflow: visible !important;
        color: #fff !important;
        font-size: 15px !important;
        font-weight: 900 !important;
        line-height: 1.25 !important;
    }

    /* Activités : le parent grandit naturellement quand son sous-menu est ouvert. */
    .kip-navigation .wp-block-navigation__responsive-container.is-menu-open .kip-nav-activities {
        position: relative !important;
        height: auto !important;
        min-height: 56px !important;
        overflow: visible !important;
    }

    .kip-navigation .wp-block-navigation__responsive-container.is-menu-open .kip-activity-dropdown {
        position: static !important;
        inset: auto !important;
        float: none !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 0 10px !important;
        padding: 6px 0 6px 14px !important;
        transform: none !important;
        overflow: visible !important;
        list-style: none !important;
    }

    .kip-navigation .wp-block-navigation__responsive-container.is-menu-open .kip-nav-activities:not(.is-open) > .kip-activity-dropdown {
        display: none !important;
    }

    .kip-navigation .wp-block-navigation__responsive-container.is-menu-open .kip-nav-activities.is-open > .kip-activity-dropdown {
        display: block !important;
    }

    .kip-navigation .wp-block-navigation__responsive-container.is-menu-open .kip-activity-dropdown > li {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        min-height: 42px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        float: none !important;
        clear: both !important;
    }

    .kip-navigation .wp-block-navigation__responsive-container.is-menu-open .kip-activity-dropdown > li > a {
        position: relative !important;
        width: 100% !important;
        min-height: 42px !important;
        margin: 0 !important;
        padding: 11px 12px !important;
        display: flex !important;
        align-items: center !important;
        color: rgba(255,255,255,.82) !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 1.3 !important;
        white-space: normal !important;
    }

    /* La croix reste au-dessus, indépendamment de la remise à zéro ci-dessus. */
    .kip-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
        position: fixed !important;
        top: 16px !important;
        right: 16px !important;
        z-index: 2 !important;
    }
}

/* =========================================================
   MOBILE RESPONSIVE V2.2 — MENU MOBILE KIP NATIF / iOS SAFE
   Le menu mobile ne dépend plus de l'overlay Navigation WP.
   ========================================================= */
@media (max-width: 782px) {
    /* Le menu WordPress natif est neutralisé sur mobile : le bouton
       hamburger reste visible mais ouvre désormais #kip-mobile-menu. */
    .kip-navigation .wp-block-navigation__responsive-container {
        display: none !important;
    }

    #kip-mobile-menu {
        position: fixed !important;
        inset: 0 !important;
        z-index: 1000000 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 100vh !important;
        min-height: 100dvh !important;
        margin: 0 !important;
        padding: env(safe-area-inset-top, 0px) 0 env(safe-area-inset-bottom, 0px) !important;
        display: none !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        background:
            linear-gradient(145deg, rgba(238,0,6,.10), transparent 38%),
            #08090d !important;
        color: #fff !important;
        box-sizing: border-box !important;
        border-top: 3px solid #EE0006 !important;
    }

    #kip-mobile-menu.is-open {
        display: block !important;
    }

    body.kip-mobile-menu-open {
        overflow: hidden !important;
        touch-action: none !important;
    }

    .kip-mobile-menu-inner {
        width: min(100%, 430px) !important;
        min-height: 100% !important;
        margin: 0 auto !important;
        padding: 82px 22px 42px !important;
        box-sizing: border-box !important;
    }

    .kip-mobile-menu-head {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        margin: 0 0 18px !important;
        padding: 0 0 12px !important;
        border-bottom: 1px solid rgba(255,255,255,.12) !important;
    }

    .kip-mobile-menu-title {
        margin: 0 !important;
        color: #EE0006 !important;
        font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
        font-size: 34px !important;
        font-style: italic !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        letter-spacing: .02em !important;
        text-transform: uppercase !important;
    }

    .kip-mobile-menu-close {
        position: fixed !important;
        top: max(16px, env(safe-area-inset-top, 0px)) !important;
        right: 16px !important;
        z-index: 2 !important;
        width: 42px !important;
        height: 42px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
        place-items: center !important;
        border: 1px solid rgba(255,255,255,.18) !important;
        border-radius: 0 !important;
        background: #15171e !important;
        color: #fff !important;
        font-family: Arial, sans-serif !important;
        font-size: 27px !important;
        font-weight: 300 !important;
        line-height: 1 !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }

    .kip-mobile-menu-list,
    .kip-mobile-submenu {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        list-style: none !important;
    }

    .kip-mobile-menu-item {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        border-bottom: 1px solid rgba(255,255,255,.11) !important;
        box-sizing: border-box !important;
    }

    .kip-mobile-menu-link,
    .kip-mobile-menu-toggle {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        min-height: 58px !important;
        margin: 0 !important;
        padding: 17px 6px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 16px !important;
        box-sizing: border-box !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #fff !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 15px !important;
        font-weight: 900 !important;
        line-height: 1.25 !important;
        letter-spacing: .045em !important;
        text-align: left !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
        white-space: normal !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }

    .kip-mobile-menu-arrow {
        flex: 0 0 auto !important;
        margin-left: auto !important;
        color: #EE0006 !important;
        font-size: 24px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        transition: transform .2s ease !important;
    }

    .kip-mobile-menu-item.is-open > .kip-mobile-menu-toggle .kip-mobile-menu-arrow {
        transform: rotate(90deg) !important;
    }

    .kip-mobile-submenu {
        display: none !important;
        margin: 0 0 10px !important;
        padding: 5px 0 7px 14px !important;
        border-left: 2px solid #EE0006 !important;
        background: rgba(255,255,255,.035) !important;
        box-sizing: border-box !important;
    }

    .kip-mobile-menu-item.is-open > .kip-mobile-submenu {
        display: block !important;
    }

    .kip-mobile-submenu li {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        border: 0 !important;
    }

    .kip-mobile-submenu a {
        position: static !important;
        width: 100% !important;
        min-height: 43px !important;
        margin: 0 !important;
        padding: 11px 12px !important;
        display: flex !important;
        align-items: center !important;
        box-sizing: border-box !important;
        color: rgba(255,255,255,.84) !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 1.3 !important;
        text-decoration: none !important;
        text-transform: uppercase !important;
        white-space: normal !important;
    }
}

@media (min-width: 783px) {
    #kip-mobile-menu { display: none !important; }
}


/* =========================================================
   RESPONSIVE MOBILE V2.4 — VIDEO HERO iOS ROBUSTE
   La balise video est maintenant rendue directement par KIP Manager.
   Safari iPhone n'a donc plus besoin d'attendre une injection JS.
   ========================================================= */
.kip-mobile-hero-video-wrap {
    display: none;
}

@media (max-width: 782px) {
    body.home .kip-hero {
        background: #05060a !important;
    }

    body.home .kip-mobile-hero-video-wrap {
        position: absolute;
        inset: 0;
        z-index: 2;
        display: block !important;
        overflow: hidden;
        background: transparent;
        opacity: 1 !important;
        pointer-events: none;
    }

    body.home .kip-mobile-hero-video {
        position: absolute;
        inset: 0;
        width: 100% !important;
        height: 100% !important;
        min-width: 100%;
        min-height: 100%;
        display: block !important;
        object-fit: cover;
        object-position: 50% 50%;
        background: transparent;
        pointer-events: none;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }

    body.home .kip-mobile-hero-video-wrap::after {
        content: "";
        position: absolute;
        inset: 0;
        background:
            linear-gradient(to bottom, rgba(0,0,0,.18) 0%, rgba(0,0,0,.10) 38%, rgba(0,0,0,.42) 72%, rgba(0,0,0,.72) 100%),
            radial-gradient(circle at 50% 43%, rgba(0,0,0,.03), rgba(0,0,0,.28) 100%);
        pointer-events: none;
    }

    body.home .kip-hero-panels {
        z-index: 1 !important;
    }

    body.home .kip-hero-copy {
        z-index: 30 !important;
    }
}



/* =========================================================
   RESPONSIVE MOBILE V2.5 — AUTOPLAY IPHONE SANS LANCEUR
   La vidéo mobile est sans piste audio pour maximiser l'autoplay iOS.
   Les contrôles / bouton Play natifs WebKit sont masqués.
   ========================================================= */
@media (max-width: 782px) {
    body.home .kip-mobile-hero-video {
        -webkit-appearance: none !important;
        appearance: none !important;
        outline: 0 !important;
    }

    body.home .kip-mobile-hero-video::-webkit-media-controls,
    body.home .kip-mobile-hero-video::-webkit-media-controls-panel,
    body.home .kip-mobile-hero-video::-webkit-media-controls-overlay-play-button,
    body.home .kip-mobile-hero-video::-webkit-media-controls-start-playback-button,
    body.home .kip-mobile-hero-video::-webkit-media-controls-play-button {
        display: none !important;
        -webkit-appearance: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}


/* =========================================================
   RESPONSIVE MOBILE V2.6 — MASQUER LE PLAY NATIF iOS
   Tant que la vidéo ne joue pas réellement, elle reste invisible :
   le poster est affiché derrière, donc aucun rond Play iOS n'est visible.
   Dès l'évènement "playing", la vidéo apparaît.
   ========================================================= */
@media (max-width: 782px) {
    body.home .kip-mobile-hero-video-wrap {
        background-position: center center !important;
        background-size: cover !important;
        background-repeat: no-repeat !important;
    }

    body.home .kip-mobile-hero-video {
        opacity: 0 !important;
        visibility: hidden !important;
        transition: opacity .18s ease !important;
    }

    body.home .kip-mobile-hero-video-wrap.is-playing .kip-mobile-hero-video {
        opacity: 1 !important;
        visibility: visible !important;
    }

    body.home .kip-mobile-hero-video::-webkit-media-controls-start-playback-button,
    body.home .kip-mobile-hero-video::-webkit-media-controls-overlay-play-button {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        -webkit-appearance: none !important;
        pointer-events: none !important;
    }
}


/* =========================================================
   V2.7 — CARTES TARIFS : PRIX ET BOUTONS ALIGNÉS
   Une description plus longue ne doit plus pousser le prix
   vers le bouton. Le contenu prend toute la hauteur disponible
   et le prix reste ancré en bas de cette zone, avec un espace
   constant avant le CTA.
   ========================================================= */

/* Cartes du modèle moderne utilisé par les pages activités. */
body .kip-single-activity-model .kip-laser-price-card {
    display: flex !important;
    flex-direction: column !important;
}

body .kip-single-activity-model .kip-laser-price-card-content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-height: 0 !important;
    padding-bottom: 14px !important;
    box-sizing: border-box !important;
}

/* Le descriptif reste en haut, le prix descend au même niveau sur chaque carte. */
body .kip-single-activity-model .kip-laser-price-value {
    margin-top: auto !important;
    margin-bottom: 0 !important;
}

/* Quand le bouton est positionné en bas de la carte, on réserve toujours
   exactement la même zone afin que le prix ne puisse jamais lui coller. */
body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card,
body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card.is-featured {
    padding-bottom: 68px !important;
}

body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card-content {
    padding-bottom: 10px !important;
}

/* Modèle de tarif classique : même principe. */
body .kip-single-activity-model .kip-model-price-card {
    display: flex !important;
    flex-direction: column !important;
}

body .kip-single-activity-model .kip-model-price-card > p {
    flex: 1 1 auto !important;
    margin-bottom: 18px !important;
}

body .kip-single-activity-model .kip-model-price-card > a {
    margin-top: 0 !important;
}

/* Sur mobile les cartes restent naturelles et compactes. */
@media (max-width: 700px) {
    body .kip-single-activity-model .kip-laser-price-card-content {
        min-height: 145px !important;
    }
}


/* =========================================================
   V2.8 — TARIFS : ALIGNEMENT STRICT TITRE / TEXTE / PRIX / CTA
   Les pages activités modernes partagent toutes la structure
   .kip-laser-price-card. On réserve la même hauteur à chaque
   zone afin que le prix et le bouton ne bougent plus selon
   le nombre de lignes de description.
   ========================================================= */
@media (min-width: 701px) {
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card,
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card.is-featured {
        min-height: 276px !important;
        padding-top: 20px !important;
        padding-bottom: 72px !important;
        box-sizing: border-box !important;
    }

    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card-content {
        display: grid !important;
        grid-template-areas:
            "title"
            "detail"
            "price" !important;
        grid-template-rows: 42px 58px 72px !important;
        align-content: start !important;
        align-items: stretch !important;
        flex: none !important;
        min-height: 172px !important;
        width: 100% !important;
        padding: 0 !important;
        gap: 0 !important;
    }

    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card h3 {
        grid-area: title !important;
        min-height: 42px !important;
        margin: 0 !important;
        display: flex !important;
        align-items: flex-end !important;
        justify-content: center !important;
        padding-bottom: 7px !important;
        box-sizing: border-box !important;
    }

    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-detail {
        grid-area: detail !important;
        min-height: 58px !important;
        max-height: 58px !important;
        margin: 0 !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;
        padding: 0 4px !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-value {
        grid-area: price !important;
        min-height: 72px !important;
        margin: 0 !important;
        display: flex !important;
        align-items: flex-end !important;
        justify-content: center !important;
        align-self: stretch !important;
        padding-bottom: 8px !important;
        box-sizing: border-box !important;
    }

    /* Le CTA reste strictement à la même hauteur sur toutes les cartes. */
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card > a,
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card > a:link,
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card > a:visited {
        bottom: 16px !important;
        height: 50px !important;
        min-height: 50px !important;
        margin: 0 !important;
    }
}


/* =========================================================
   V2.8.4 — MOBILE : neutraliser le <p> WordPress sans cacher le bouton
   WordPress peut envelopper le CTA dans un <p> sans classe.
   On retire uniquement l'espace de ce wrapper, mais on le garde
   dans le DOM pour que le bouton reste visible.
   ========================================================= */
@media (max-width: 700px) {
    body .kip-single-activity-model .kip-laser-price-card > p:not([class]) {
        display: block !important;
        flex: 0 0 0 !important;
        width: 100% !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        font-size: 0 !important;
        line-height: 0 !important;
        overflow: visible !important;
    }

    /* Un peu plus d'air entre les cartes pour le badge populaire. */
    body .kip-single-activity-model .kip-laser-price-grid {
        gap: 28px !important;
        row-gap: 28px !important;
    }
}


/* =========================================================
   V2.8.5 — MOBILE : gap 24px + espace sous le prix réduit
   On garde la structure V2.8.4, mais on réduit uniquement la
   réserve verticale sous le prix avant le bouton.
   ========================================================= */
@media (max-width: 700px) {
    body .kip-single-activity-model .kip-laser-price-grid,
    body .kip-single-activity-model .kip-model-price-grid.kip-laser-price-grid {
        gap: 24px !important;
        row-gap: 24px !important;
    }

    body .kip-single-activity-model .kip-laser-price-card-content {
        min-height: 112px !important;
        padding-bottom: 2px !important;
    }

    body .kip-single-activity-model .kip-laser-price-value,
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-value {
        margin: auto 0 2px !important;
    }
}


/* =========================================================
   V2.8.6 — MOBILE : supprimer toute hauteur artificielle
   du contenu des cartes tarifs. Le titre, descriptif et prix
   gardent leur contenu, mais le bloc prend uniquement la
   hauteur réellement nécessaire.
   ========================================================= */
@media (max-width: 700px) {
    body .kip-single-activity-model .kip-laser-price-grid,
    body .kip-single-activity-model .kip-model-price-grid.kip-laser-price-grid {
        gap: 24px !important;
        row-gap: 24px !important;
    }

    body .kip-single-activity-model .kip-laser-price-card-content,
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card-content {
        display: block !important;
        flex: none !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    body .kip-single-activity-model .kip-laser-price-card h3,
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card h3 {
        height: auto !important;
        min-height: 0 !important;
        margin: 0 0 5px !important;
        padding: 0 !important;
    }

    body .kip-single-activity-model .kip-laser-price-detail,
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-detail {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body .kip-single-activity-model .kip-laser-price-value,
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-value {
        height: auto !important;
        min-height: 0 !important;
        margin: 7px 0 0 !important;
        padding: 0 !important;
        align-self: auto !important;
    }

    /* Le wrapper WordPress du bouton ne réserve aucune hauteur. */
    body .kip-single-activity-model .kip-laser-price-card > p:not([class]) {
        display: block !important;
        flex: 0 0 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 0 !important;
        overflow: visible !important;
    }
}

/* =========================================================
   V2.8.7 — MOBILE : plus d'air en haut, aucun vide avant CTA
   ========================================================= */
@media (max-width: 700px) {
    body .kip-single-activity-model .kip-laser-price-card,
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card,
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card.is-featured {
        height: auto !important;
        min-height: 0 !important;
        padding-top: 24px !important;
        padding-bottom: 52px !important;
        box-sizing: border-box !important;
    }

    body .kip-single-activity-model .kip-laser-price-value,
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-value {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card a[href],
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card a[href]:link,
    body .kip-single-activity-model.kip-page-laser-game .kip-laser-price-card a[href]:visited {
        bottom: 12px !important;
        height: 40px !important;
        min-height: 40px !important;
    }
}


/* =========================================================
   V2.8.9 — PAGES ACTIVITÉS : corrections safe responsive
   IMPORTANT : aucune modification du hero mobile.
   ========================================================= */

/* Galerie activité : si le contenu ne déborde pas, on centre les images.
   Si elle déborde, le carrousel garde son fonctionnement normal. */
body .kip-single-activity-model .kip-lgexp__track.is-kip-centered {
    justify-content: center !important;
}

@media (max-width: 700px) {
    /* Tarifs : seulement le padding demandé + centrage des éléments de section. */
    body .kip-single-activity-model .kip-model-section.kip-model-prices,
    body .kip-single-activity-model .kip-model-prices {
        padding-top: 10px !important;
    }

    body .kip-single-activity-model .kip-model-prices .kip-model-shell,
    body .kip-single-activity-model .kip-model-prices .kip-model-heading,
    body .kip-single-activity-model .kip-model-prices .kip-laser-tariffs-head,
    body .kip-single-activity-model .kip-model-prices .kip-model-price-grid,
    body .kip-single-activity-model .kip-model-prices .kip-laser-price-grid {
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
        justify-content: center !important;
    }

    /* Bloc "Pourquoi" : centré sans modifier sa structure interne. */
    body .kip-single-activity-model .kip-lgwhy {
        padding-bottom: 0 !important;
    }

    body .kip-single-activity-model .kip-lgwhy__inner,
    body .kip-single-activity-model .kip-lgwhy__title {
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }

    body .kip-single-activity-model .kip-lgwhy__layout {
        justify-items: center !important;
    }

    body .kip-single-activity-model .kip-lgwhy__media {
        width: min(100%, 420px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body .kip-single-activity-model .kip-lgwhy__list {
        width: min(100%, 360px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* =========================================================
   V2.8.11 — MOBILE : HERO CENTRÉ + GAP WHY À 0
   Base V2.8.9 safe :
   - aucun changement de padding/largeur du bloc "Pourquoi"
   - seul le gap de la liste passe à 0 sous 600px
   - centrage réel du hero sans changer sa structure
   ========================================================= */
@media (max-width: 700px) {
    body .kip-single-activity-model .kip-model-hero-copy-inner,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-copy-inner {
        text-align: center !important;
    }

    /* Titre : largeur complète + chaque ligne réellement centrée. */
    body .kip-single-activity-model .kip-model-hero h1,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero h1 {
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body .kip-single-activity-model .kip-model-hero h1 span,
    body .kip-single-activity-model .kip-model-hero h1 strong,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero h1 span,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero h1 strong {
        width: 100% !important;
        text-align: center !important;
    }

    /* Laser utilise un h1 en flex avec align-items:flex-start en desktop. */
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero h1 {
        align-items: center !important;
    }

    body .kip-single-activity-model .kip-model-hero-desc,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-desc {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body .kip-single-activity-model .kip-model-hero-price,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-price {
        width: 100% !important;
        justify-content: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body .kip-single-activity-model .kip-model-red-btn,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-red-btn {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Les 3 infos restent en flex-wrap :
       si la 3e descend, elle est centrée sous les 2 premières. */
    body .kip-single-activity-model .kip-model-facts,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-facts {
        width: 100% !important;
        justify-content: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body .kip-single-activity-model .kip-model-facts span,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-facts span {
        justify-content: center !important;
        text-align: center !important;
    }
}

/* Tu voulais uniquement enlever ce gap sur téléphone.
   Aucun padding/image/layout du bloc "Pourquoi" n'est modifié ici. */
@media (max-width: 600px) {
    body .kip-single-activity-model .kip-lgwhy__list {
        gap: 0 !important;
    }
}


/* =========================================================
   V2.8.12 — HERO ACTIVITÉS MOBILE : prix / bouton / infos centrés
   Base V2.8.11 :
   on garde le hero tel quel, mais on centre réellement
   tout le bloc sous le texte.
   ========================================================= */
@media (max-width: 700px) {

    /* Conteneur texte du hero */
    body .kip-single-activity-model .kip-model-hero-copy-inner,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-copy-inner {
        text-align: center !important;
        align-items: center !important;
    }

    /* Bloc prix complet */
    body .kip-single-activity-model .kip-model-hero-price,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-price {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Ligne "A PARTIR DE" */
    body .kip-single-activity-model .kip-model-hero-price-label,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-price-label,
    body .kip-single-activity-model .kip-model-hero-price small,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-price small {
        width: 100% !important;
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Ligne du prix */
    body .kip-single-activity-model .kip-model-hero-price-main,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-price-main {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: flex-end !important;
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body .kip-single-activity-model .kip-model-hero-price-main > *,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-price-main > * {
        text-align: center !important;
    }

    /* Bouton CTA du hero */
    body .kip-single-activity-model .kip-model-red-btn,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-red-btn,
    body .kip-single-activity-model .kip-model-hero .kip-model-red-btn,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero .kip-model-red-btn {
        display: inline-flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
        align-self: center !important;
    }

    /* Les 3 infos sous le bouton */
    body .kip-single-activity-model .kip-model-facts,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-facts {
        width: 100% !important;
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 12px 18px !important;
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body .kip-single-activity-model .kip-model-facts > *,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-facts > * {
        display: inline-flex !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}


/* =========================================================
   V2.8.13 — RÉALITÉ VIRTUELLE : MOBILE COMPACT ET CENTRÉ
   Desktop inchangé. Sur téléphone, le badge VR est recentré
   et redimensionné pour rester proportionné à la largeur.
   ========================================================= */
@media (max-width: 700px) {
    body .kip-single-activity-model .kip-model-hero-virtual,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-virtual {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        top: auto !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: min(208px, calc(100% - 32px)) !important;
        min-width: 0 !important;
        max-width: 208px !important;
        min-height: 48px !important;
        height: auto !important;

        margin: 16px auto 0 !important;
        padding: 6px 10px !important;
        gap: 8px !important;

        border-radius: 999px !important;
        box-sizing: border-box !important;
        transform: none !important;
    }

    body .kip-single-activity-model .kip-model-hero-virtual-icon,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-virtual-icon {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        flex: 0 0 34px !important;
        font-size: 9px !important;
    }

    body .kip-single-activity-model .kip-model-hero-virtual-copy,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-virtual-copy {
        min-width: 0 !important;
        text-align: left !important;
        line-height: 1.05 !important;
    }

    body .kip-single-activity-model .kip-model-hero-virtual-title,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-virtual-title {
        font-size: 10px !important;
        line-height: 1.05 !important;
        white-space: nowrap !important;
    }

    body .kip-single-activity-model .kip-model-hero-virtual-link,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-virtual-link {
        margin-top: 2px !important;
        font-size: 7px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }
}


/* =========================================================
   V2.8.14 — VR MOBILE : surcharge exacte des anciennes règles
   Les anciens styles utilisaient un sélecteur très spécifique et
   forçaient encore 286px. On surcharge exactement ce sélecteur.
   ========================================================= */
@media (max-width: 700px) {

    body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual {
        position: absolute !important;

        left: 50% !important;
        right: auto !important;
        bottom: 14px !important;
        top: auto !important;
        transform: translateX(-50%) !important;

        width: 190px !important;
        min-width: 190px !important;
        max-width: calc(100% - 40px) !important;

        height: 52px !important;
        min-height: 52px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        gap: 8px !important;
        padding: 5px 10px !important;
        margin: 0 !important;

        box-sizing: border-box !important;
        border-radius: 999px !important;
    }

    body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual .kip-model-hero-virtual-icon {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        flex: 0 0 34px !important;
        font-size: 8px !important;
        border-width: 1px !important;
    }

    body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual > span:last-child {
        gap: 2px !important;
        min-width: 0 !important;
        align-items: flex-start !important;
    }

    body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual b {
        font-size: 10px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual small {
        font-size: 7px !important;
        line-height: 1 !important;
        gap: 4px !important;
        white-space: nowrap !important;
    }

    body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual .kip-button-arrow {
        font-size: 9px !important;
    }
}

/* Très petits téléphones */
@media (max-width: 360px) {
    body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual {
        width: 180px !important;
        min-width: 180px !important;
        height: 50px !important;
        min-height: 50px !important;
    }

    body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual .kip-model-hero-virtual-icon {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        flex-basis: 32px !important;
    }

    body .kip-single-activity-model.kip-page-laser-game > .kip-model-hero .kip-model-hero-virtual b {
        font-size: 9px !important;
    }
}


/* =========================================================
   V2.8.15 — MOBILE : hero copy padding-bottom 10px
   ========================================================= */
@media (max-width: 700px) {
    body .kip-single-activity-model .kip-model-hero-copy-inner,
    body .kip-single-activity-model.kip-page-laser-game .kip-model-hero-copy-inner {
        padding-bottom: 10px !important;
    }
}


/* =========================================================
   V2.8.16 — FOOTER : téléphone + e-mail depuis KIP Manager
   ========================================================= */
.kip-footer-v2-contact{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:7px!important;
    margin-top:18px!important;
}
.kip-footer-v2-contact a{
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    color:#fff!important;
    text-decoration:none!important;
    font-family:Arial,Helvetica,sans-serif!important;
    line-height:1.25!important;
}
.kip-footer-v2-contact a span{
    flex:0 0 48px!important;
    color:#ee0006!important;
    font-size:10px!important;
    font-weight:900!important;
    letter-spacing:.06em!important;
}
.kip-footer-v2-contact a strong{
    min-width:0!important;
    color:#d4d5da!important;
    font-size:13px!important;
    font-weight:700!important;
    overflow-wrap:anywhere!important;
}
.kip-footer-v2-contact a:hover strong{color:#fff!important}
.kip-footer-v2-contact + .kip-footer-v2-socials{margin-top:20px!important}

/* =========================================================
   V2.8.16 — WOOCOMMERCE : marges et haut de page propres
   S'applique à toutes les pages WooCommerce : panier, commande,
   compte, confirmation et autres écrans Woo.
   ========================================================= */
body.woocommerce-page main.wp-block-group,
body.woocommerce-cart main.wp-block-group,
body.woocommerce-checkout main.wp-block-group,
body.woocommerce-account main.wp-block-group{
    box-sizing:border-box!important;
    padding-left:clamp(24px,2.7vw,52px)!important;
    padding-right:clamp(24px,2.7vw,52px)!important;
}

/* Respiration sous le header, y compris lorsque WooCommerce injecte
   ses notices avant le contenu du panier. */
body.woocommerce-page main.wp-block-group > :first-child,
body.woocommerce-cart main.wp-block-group > :first-child,
body.woocommerce-checkout main.wp-block-group > :first-child,
body.woocommerce-account main.wp-block-group > :first-child{
    margin-top:0!important;
}
body.woocommerce-page main.wp-block-group,
body.woocommerce-cart main.wp-block-group,
body.woocommerce-checkout main.wp-block-group,
body.woocommerce-account main.wp-block-group{
    padding-top:28px!important;
    padding-bottom:72px!important;
}

body.woocommerce-page .woocommerce-notices-wrapper,
body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-checkout .woocommerce-notices-wrapper,
body.woocommerce-account .woocommerce-notices-wrapper{
    width:100%!important;
    max-width:none!important;
    margin:0 0 20px!important;
    padding:0!important;
    box-sizing:border-box!important;
}
body.woocommerce-page .woocommerce-notices-wrapper:empty{display:none!important}
body.woocommerce-page .woocommerce-message,
body.woocommerce-page .woocommerce-info,
body.woocommerce-page .woocommerce-error,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-error{
    box-sizing:border-box!important;
    width:100%!important;
    margin:0 0 20px!important;
    padding-top:16px!important;
    padding-bottom:16px!important;
    min-height:54px!important;
    line-height:1.45!important;
}

body.woocommerce-page .wp-block-post-content,
body.woocommerce-cart .wp-block-post-content,
body.woocommerce-checkout .wp-block-post-content,
body.woocommerce-account .wp-block-post-content,
body.woocommerce-page .woocommerce,
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-account .woocommerce{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
}

/* Les blocs Woo restent dans le viewport sur petits écrans. */
body.woocommerce-page .wc-block-cart,
body.woocommerce-page .wc-block-checkout,
body.woocommerce-page .wc-block-components-sidebar-layout,
body.woocommerce-page .wc-block-components-main,
body.woocommerce-page .wc-block-components-sidebar{
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
}

@media(max-width:700px){
    .kip-footer-v2-contact{
        margin-top:16px!important;
        gap:8px!important;
    }
    .kip-footer-v2-contact a{
        width:100%!important;
    }

    body.woocommerce-page main.wp-block-group,
    body.woocommerce-cart main.wp-block-group,
    body.woocommerce-checkout main.wp-block-group,
    body.woocommerce-account main.wp-block-group{
        width:100%!important;
        max-width:100%!important;
        margin:0!important;
        padding:20px 16px 52px!important;
        overflow-x:hidden!important;
    }

    body.woocommerce-page .kip-page-shell-inner,
    body.woocommerce-cart .kip-page-shell-inner,
    body.woocommerce-checkout .kip-page-shell-inner,
    body.woocommerce-account .kip-page-shell-inner{
        width:100%!important;
        max-width:100%!important;
        margin:0!important;
        padding:0!important;
    }

    body.woocommerce-page .woocommerce-message,
    body.woocommerce-page .woocommerce-info,
    body.woocommerce-page .woocommerce-error,
    body.woocommerce-cart .woocommerce-message,
    body.woocommerce-cart .woocommerce-info,
    body.woocommerce-cart .woocommerce-error,
    body.woocommerce-checkout .woocommerce-message,
    body.woocommerce-checkout .woocommerce-info,
    body.woocommerce-checkout .woocommerce-error{
        padding:14px 14px 14px 42px!important;
        font-size:12px!important;
        line-height:1.4!important;
    }

    body.woocommerce-page .kip-ticketing-checkout-warning,
    body.woocommerce-cart .kip-ticketing-checkout-warning,
    body.woocommerce-checkout .kip-ticketing-checkout-warning{
        margin:0 0 20px!important;
        padding:14px!important;
        font-size:12px!important;
    }

    body.woocommerce-page table.shop_table,
    body.woocommerce-cart table.shop_table,
    body.woocommerce-checkout table.shop_table{
        max-width:100%!important;
    }

    body.woocommerce-page .wc-block-components-sidebar-layout{
        gap:24px!important;
    }
}


/* =========================================================
   V2.8.17 — WOOCOMMERCE CHECKOUT : HEADER + LISIBILITÉ
   - vrai header/footer KIP sur panier et commande
   - pastille quantité lisible
   - champs auto-remplis toujours sombres
   - marges cohérentes desktop/mobile
   ========================================================= */

/* Wrapper WooCommerce du thème. */
body.woocommerce-cart .kip-woo-page-shell,
body.woocommerce-checkout .kip-woo-page-shell {
    background:#07090d!important;
    color:#fff!important;
}

body.woocommerce-cart .kip-woo-page-shell-inner,
body.woocommerce-checkout .kip-woo-page-shell-inner {
    width:min(1610px,calc(100% - 64px))!important;
    max-width:1610px!important;
    margin:0 auto!important;
    padding:30px 0 72px!important;
    box-sizing:border-box!important;
}

/* La quantité dans le résumé de commande :
   Woo utilise une pastille claire par défaut, incompatible avec notre thème sombre. */
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity,
body.woocommerce-page .wc-block-components-order-summary-item__quantity {
    background:#ee0006!important;
    border:1px solid #ee0006!important;
    box-shadow:0 0 0 2px #0d1015!important;
    color:#fff!important;
    font-weight:900!important;
}

/* Champs Woo : fond sombre + texte clair, y compris labels flottants. */
body.woocommerce-page .wc-block-components-text-input input,
body.woocommerce-page .wc-block-components-combobox .wc-block-components-combobox-control input,
body.woocommerce-page .wc-block-components-address-form input,
body.woocommerce-page .wc-block-components-address-form select,
body.woocommerce-page .wc-block-components-select__select {
    background:#07090d!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    caret-color:#fff!important;
}

body.woocommerce-page .wc-block-components-text-input label,
body.woocommerce-page .wc-block-components-combobox label,
body.woocommerce-page .wc-block-components-input-row label {
    color:#c9cbd1!important;
}

/* Chrome / Safari / iPhone : neutralise le fond bleu/blanc de l'autofill. */
body.woocommerce-page input:-webkit-autofill,
body.woocommerce-page input:-webkit-autofill:hover,
body.woocommerce-page input:-webkit-autofill:focus,
body.woocommerce-page input:-webkit-autofill:active {
    -webkit-text-fill-color:#fff!important;
    caret-color:#fff!important;
    -webkit-box-shadow:0 0 0 1000px #07090d inset!important;
    box-shadow:0 0 0 1000px #07090d inset!important;
    transition:background-color 9999s ease-out 0s!important;
}

body.woocommerce-page input:autofill {
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    box-shadow:0 0 0 1000px #07090d inset!important;
}

/* Les placeholders restent visibles mais discrets. */
body.woocommerce-page input::placeholder,
body.woocommerce-page textarea::placeholder {
    color:#a8a9af!important;
    opacity:1!important;
}

/* Résumé commande / champs : empêcher les composants de déborder. */
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-checkout .wc-block-components-sidebar-layout,
body.woocommerce-checkout .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .wc-block-components-order-summary {
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
}

/* Mobile : vraies marges latérales sur tout le parcours Woo. */
@media (max-width:700px) {
    body.woocommerce-cart .kip-woo-page-shell-inner,
    body.woocommerce-checkout .kip-woo-page-shell-inner {
        width:100%!important;
        max-width:100%!important;
        padding:20px 16px 48px!important;
        margin:0!important;
    }

    body.woocommerce-cart .kip-woo-page-shell,
    body.woocommerce-checkout .kip-woo-page-shell {
        padding-left:0!important;
        padding-right:0!important;
    }

    body.woocommerce-checkout .wc-block-components-sidebar-layout {
        gap:22px!important;
    }

    body.woocommerce-checkout .wc-block-components-main,
    body.woocommerce-checkout .wc-block-components-sidebar {
        width:100%!important;
        max-width:100%!important;
    }

    body.woocommerce-page .wc-block-components-text-input input,
    body.woocommerce-page .wc-block-components-combobox .wc-block-components-combobox-control input,
    body.woocommerce-page .wc-block-components-address-form input,
    body.woocommerce-page .wc-block-components-address-form select,
    body.woocommerce-page .wc-block-components-select__select {
        max-width:100%!important;
        box-sizing:border-box!important;
    }
}


/* =========================================================
   V2.8.18 — RESTAURATION MOBILE : padding menu
   ========================================================= */
@media (max-width: 600px) {
    .kip-restaurant-page .kip-restaurant-menu {
        padding: 40px 14px 0px !important;
    }
}


/* =========================================================
   V2.8.19 — PANIER + COMPTE CLIENT PERMANENTS
   Header desktop/mobile, compteur Woo dynamique, accès compte
   discret et responsive. Le CTA RÉSERVER reste inchangé.
   ========================================================= */
.kip-header-shop-tools {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin: 0 !important;
}

.kip-header-shop-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    min-width: 42px;
    min-height: 42px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.18);
    background: #101116;
    color: #fff;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.kip-header-shop-btn svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.kip-header-shop-btn:hover,
.kip-header-shop-btn:focus-visible {
    border-color: #EE0006;
    background: #EE0006;
    color: #fff;
    transform: translateY(-1px);
}

.kip-header-cart .kip-cart-count {
    position: absolute;
    top: -7px;
    right: -7px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border: 2px solid #08090D;
    border-radius: 999px;
    background: #EE0006;
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
}

.kip-header-cart.is-empty .kip-cart-count {
    display: none;
}

/* Le footer conserve un accès secondaire au panier et au compte. */
.kip-footer-v2-col a[href*="cart"],
.kip-footer-v2-col a[href*="panier"],
.kip-footer-v2-col a[href*="my-account"],
.kip-footer-v2-col a[href*="mon-compte"] {
    font-weight: 700;
}

@media (max-width: 1180px) and (min-width: 783px) {
    .kip-header {
        gap: 14px !important;
    }

    .kip-header-shop-btn {
        width: 38px;
        height: 38px;
        min-width: 38px;
        min-height: 38px;
    }
}

@media (max-width: 782px) {
    /* Sur téléphone : panier visible dans le header, compte dans menu/footer. */
    .kip-header-shop-tools {
        flex: 0 0 34px !important;
        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;
        gap: 0 !important;
        margin: 0 !important;
    }

    .kip-header-account {
        display: none !important;
    }

    .kip-header-cart {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        min-height: 34px !important;
        border-color: rgba(255,255,255,.14) !important;
        background: transparent !important;
    }

    .kip-header-cart svg {
        width: 18px !important;
        height: 18px !important;
    }

    .kip-header-cart .kip-cart-count {
        top: -5px !important;
        right: -5px !important;
        min-width: 17px !important;
        height: 17px !important;
        padding: 0 4px !important;
        font-size: 8px !important;
        border-width: 2px !important;
    }

    /* 4 éléments dans le header : logo, menu, réserver, panier. */
    .kip-header {
        gap: 6px !important;
    }

    .kip-header-logo {
        flex: 1 1 auto !important;
    }

    .kip-btn-header {
        flex-basis: clamp(88px, 31vw, 108px) !important;
        width: clamp(88px, 31vw, 108px) !important;
        max-width: 108px !important;
    }
}

@media (max-width: 340px) {
    .kip-header-shop-tools,
    .kip-header-cart {
        flex-basis: 30px !important;
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
    }

    .kip-header {
        gap: 4px !important;
    }

    .kip-btn-header {
        flex-basis: 84px !important;
        width: 84px !important;
    }
}


/* =========================================================
   V2.8.20 — ESPACE CLIENT KIP SIMPLIFIÉ
   - aucun gros titre WooCommerce
   - navigation réduite à Commandes / Détails du compte / Déconnexion
   - boutons de compte jamais coupés
   - badge panier plus discret
   ========================================================= */

/* Supprime le très gros titre "Détails du compte", "Commandes", etc. */
body.woocommerce-account .wp-block-post-title,
body.woocommerce-account .woocommerce-MyAccount-content > h1:first-child {
    display: none !important;
}

/* Un peu moins de vide maintenant que le gros titre a disparu. */
body.woocommerce-account .kip-page-shell-inner {
    padding-top: 34px !important;
}

/* Navigation compte plus sobre et lisible. */
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
    margin: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.09) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a {
    display: block !important;
    padding: 15px 14px !important;
    color: #fff !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    transition: background .18s ease, color .18s ease, padding-left .18s ease !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
    background: rgba(238,0,6,.10) !important;
    color: #fff !important;
    padding-left: 20px !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active {
    border-left: 3px solid #ee0006 !important;
}

/* Boutons dans Mon compte : garde le style KIP mais évite tout texte rogné. */
body.woocommerce-account .woocommerce-Button,
body.woocommerce-account .button,
body.woocommerce-account button.button,
body.woocommerce-account input.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 46px !important;
    height: auto !important;
    padding: 13px 30px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    text-align: center !important;
    overflow: visible !important;
    clip-path: polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%) !important;
    box-sizing: border-box !important;
}

/* Badge panier plus fin sur desktop. */
.kip-header-cart .kip-cart-count {
    top: -5px !important;
    right: -5px !important;
    min-width: 16px !important;
    height: 16px !important;
    padding: 0 3px !important;
    border-width: 1px !important;
    font-size: 8px !important;
}

/* Mobile : compte en une colonne et boutons pleine largeur propres. */
@media (max-width: 700px) {
    body.woocommerce-account .kip-page-shell-inner {
        padding-top: 16px !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation {
        width: 100% !important;
        float: none !important;
        margin: 0 0 24px !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content {
        width: 100% !important;
        float: none !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation li a {
        padding: 13px 12px !important;
    }

    body.woocommerce-account .woocommerce-Button,
    body.woocommerce-account .button,
    body.woocommerce-account button.button,
    body.woocommerce-account input.button {
        width: 100% !important;
        padding: 13px 22px !important;
    }

    .kip-header-cart .kip-cart-count {
        top: -4px !important;
        right: -4px !important;
        min-width: 14px !important;
        height: 14px !important;
        padding: 0 3px !important;
        border-width: 1px !important;
        font-size: 7px !important;
    }
}


/* =========================================================
   V2.8.21 — WOOCOMMERCE : NOTICES PROPRES + AUCUNE BOUTIQUE
   Les messages Woo disposent de leur propre layout : les CTA utiles
   restent lisibles et les anciens CTA "boutique" sont retirés par JS.
   ========================================================= */

body.woocommerce-page .woocommerce-message,
body.woocommerce-page .woocommerce-info,
body.woocommerce-page .woocommerce-error,
body.woocommerce-page .woocommerce-Message {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px 18px !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

/* Les boutons utiles des notices ne flottent plus et ne peuvent plus sortir du cadre. */
body.woocommerce-page .woocommerce-message > .button,
body.woocommerce-page .woocommerce-info > .button,
body.woocommerce-page .woocommerce-error > .button,
body.woocommerce-page .woocommerce-Message > .button,
body.woocommerce-page .woocommerce-message a.button,
body.woocommerce-page .woocommerce-info a.button,
body.woocommerce-page .woocommerce-error a.button,
body.woocommerce-page .woocommerce-Message a.button {
    float: none !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: auto !important;
    margin: 0 0 0 auto !important;
    padding: 11px 20px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-align: center !important;
    box-sizing: border-box !important;
    clip-path: polygon(9px 0,100% 0,calc(100% - 9px) 100%,0 100%) !important;
}

/* Les noms de produits/tickets dans les blocs Woo ne doivent pas ressembler
   à des liens vers une boutique publique. */
body.woocommerce-page .wc-block-components-product-name,
body.woocommerce-page .wc-block-components-order-summary-item__description a {
    color: #fff !important;
    text-decoration: none !important;
}

/* Mobile : le bouton utile passe sous le message et prend toute la largeur. */
@media (max-width: 700px) {
    body.woocommerce-page .woocommerce-message,
    body.woocommerce-page .woocommerce-info,
    body.woocommerce-page .woocommerce-error,
    body.woocommerce-page .woocommerce-Message {
        display: block !important;
        padding-right: 16px !important;
    }

    body.woocommerce-page .woocommerce-message > .button,
    body.woocommerce-page .woocommerce-info > .button,
    body.woocommerce-page .woocommerce-error > .button,
    body.woocommerce-page .woocommerce-Message > .button,
    body.woocommerce-page .woocommerce-message a.button,
    body.woocommerce-page .woocommerce-info a.button,
    body.woocommerce-page .woocommerce-error a.button,
    body.woocommerce-page .woocommerce-Message a.button {
        display: flex !important;
        width: 100% !important;
        margin: 14px 0 0 !important;
        padding: 12px 16px !important;
        white-space: normal !important;
    }
}


/* =========================================================
   V2.8.22 — NOTICES WOO DROITES + FOOTER/LÉGAL
   ========================================================= */

/* Dans les messages WooCommerce, aucun bouton incliné :
   cela évite aussi que le texte long soit rogné par le clip-path. */
body.woocommerce-page .woocommerce-message > .button,
body.woocommerce-page .woocommerce-info > .button,
body.woocommerce-page .woocommerce-error > .button,
body.woocommerce-page .woocommerce-Message > .button,
body.woocommerce-page .woocommerce-message a.button,
body.woocommerce-page .woocommerce-info a.button,
body.woocommerce-page .woocommerce-error a.button,
body.woocommerce-page .woocommerce-Message a.button {
    clip-path: none !important;
    transform: none !important;
    border-radius: 0 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

/* Si la largeur devient juste, le CTA passe sous le texte plutôt que sortir du cadre. */
@media (max-width: 1200px) {
    body.woocommerce-page .woocommerce-message,
    body.woocommerce-page .woocommerce-info,
    body.woocommerce-page .woocommerce-error,
    body.woocommerce-page .woocommerce-Message {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    body.woocommerce-page .woocommerce-message > .button,
    body.woocommerce-page .woocommerce-info > .button,
    body.woocommerce-page .woocommerce-error > .button,
    body.woocommerce-page .woocommerce-Message > .button,
    body.woocommerce-page .woocommerce-message a.button,
    body.woocommerce-page .woocommerce-info a.button,
    body.woocommerce-page .woocommerce-error a.button,
    body.woocommerce-page .woocommerce-Message a.button {
        margin: 12px 0 0 !important;
        width: auto !important;
        max-width: 100% !important;
    }
}

@media (max-width: 700px) {
    body.woocommerce-page .woocommerce-message > .button,
    body.woocommerce-page .woocommerce-info > .button,
    body.woocommerce-page .woocommerce-error > .button,
    body.woocommerce-page .woocommerce-Message > .button,
    body.woocommerce-page .woocommerce-message a.button,
    body.woocommerce-page .woocommerce-info a.button,
    body.woocommerce-page .woocommerce-error a.button,
    body.woocommerce-page .woocommerce-Message a.button {
        width: 100% !important;
    }
}

/* Pages légales : lecture confortable et proche de la référence historique. */
body.page-slug-mentions-legales .wp-block-post-title,
body.page-slug-politique-de-confidentialite .wp-block-post-title {
    display: none !important;
}

.kip-legal-content {
    max-width: 1480px;
    margin: 0 auto;
    color: #fff;
    font-size: 18px;
    line-height: 1.65;
}

.kip-legal-content h2 {
    margin: 0 0 28px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255,255,255,.18);
    color: #fff;
    font-size: clamp(28px,3vw,42px);
    line-height: 1.1;
}

.kip-legal-content h3 {
    margin: 40px 0 14px;
    color: #fff;
    font-size: 21px;
    line-height: 1.25;
}

.kip-legal-content h4 {
    margin: 24px 0 8px;
    color: #fff;
    font-size: 18px;
}

.kip-legal-content p {
    margin: 0 0 18px;
}

.kip-legal-content ul {
    margin: 8px 0 22px 22px;
    padding: 0;
}

.kip-legal-content li {
    margin: 6px 0;
}

.kip-legal-accent {
    color: #f1ee00;
}

@media (max-width:700px) {
    .kip-legal-content {
        font-size: 15px;
        line-height: 1.55;
    }

    .kip-legal-content h2 {
        margin-bottom: 22px;
        font-size: 28px;
    }

    .kip-legal-content h3 {
        margin-top: 30px;
        font-size: 18px;
    }
}


/* =========================================================
   V2.8.23 — WOO BLOCKS : BOUTONS DE NOTICE DROITS
   Les notices visibles dans Mon compte sont des composants
   .wc-block-components-notice-banner, pas les notices legacy.
   ========================================================= */
body.woocommerce-page .wc-block-components-notice-banner,
body.woocommerce-account .wc-block-components-notice-banner {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

body.woocommerce-page .wc-block-components-notice-banner__content,
body.woocommerce-account .wc-block-components-notice-banner__content {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 14px 22px !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* Surcharge exacte du style global .wc-block-components-button qui
   imposait encore le trapèze rouge. */
body.woocommerce-page .wc-block-components-notice-banner .wc-block-components-button,
body.woocommerce-page .wc-block-components-notice-banner .wc-block-components-button:not(.is-link),
body.woocommerce-account .wc-block-components-notice-banner .wc-block-components-button,
body.woocommerce-account .wc-block-components-notice-banner .wc-block-components-button:not(.is-link),
body.woocommerce-page .wc-block-components-notice-banner a,
body.woocommerce-account .wc-block-components-notice-banner a {
    position: static !important;
    float: none !important;
    justify-self: end !important;
    width: auto !important;
    min-width: max-content !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 10px 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ee0006 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: normal !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
    transform: none !important;
    -webkit-transform: none !important;
    box-shadow: none !important;
}

/* Neutralise également tout pseudo-élément décoratif éventuel. */
body.woocommerce-page .wc-block-components-notice-banner .wc-block-components-button::before,
body.woocommerce-page .wc-block-components-notice-banner .wc-block-components-button::after,
body.woocommerce-account .wc-block-components-notice-banner .wc-block-components-button::before,
body.woocommerce-account .wc-block-components-notice-banner .wc-block-components-button::after {
    display: none !important;
    content: none !important;
    transform: none !important;
    clip-path: none !important;
}

@media (max-width: 900px) {
    body.woocommerce-page .wc-block-components-notice-banner__content,
    body.woocommerce-account .wc-block-components-notice-banner__content {
        grid-template-columns: 1fr !important;
    }

    body.woocommerce-page .wc-block-components-notice-banner .wc-block-components-button,
    body.woocommerce-page .wc-block-components-notice-banner .wc-block-components-button:not(.is-link),
    body.woocommerce-account .wc-block-components-notice-banner .wc-block-components-button,
    body.woocommerce-account .wc-block-components-notice-banner .wc-block-components-button:not(.is-link),
    body.woocommerce-page .wc-block-components-notice-banner a,
    body.woocommerce-account .wc-block-components-notice-banner a {
        justify-self: start !important;
        min-width: 0 !important;
        width: auto !important;
    }
}

@media (max-width: 600px) {
    body.woocommerce-page .wc-block-components-notice-banner .wc-block-components-button,
    body.woocommerce-page .wc-block-components-notice-banner .wc-block-components-button:not(.is-link),
    body.woocommerce-account .wc-block-components-notice-banner .wc-block-components-button,
    body.woocommerce-account .wc-block-components-notice-banner .wc-block-components-button:not(.is-link),
    body.woocommerce-page .wc-block-components-notice-banner a,
    body.woocommerce-account .wc-block-components-notice-banner a {
        width: 100% !important;
    }
}

/* =========================================================
   V2.8.23 — PAGES LÉGALES DÉDIÉES
   ========================================================= */
.kip-legal-page-inner {
    padding-top: 56px !important;
    padding-bottom: 72px !important;
}

.kip-legal-content {
    width: min(1480px, 100%) !important;
    margin: 0 auto !important;
    color: #fff !important;
    font-size: 18px !important;
    line-height: 1.65 !important;
}

.kip-legal-content h1 {
    margin: 0 0 34px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(255,255,255,.18) !important;
    color: #fff !important;
    font-size: clamp(30px, 3.2vw, 46px) !important;
    line-height: 1.05 !important;
}

.kip-legal-content h2 {
    margin: 42px 0 16px !important;
    color: #fff !important;
    font-size: 24px !important;
    line-height: 1.2 !important;
}

.kip-legal-content h3 {
    margin: 26px 0 10px !important;
    color: #fff !important;
    font-size: 19px !important;
    line-height: 1.25 !important;
}

.kip-legal-content p {
    margin: 0 0 18px !important;
}

.kip-legal-content ul {
    margin: 8px 0 22px 24px !important;
    padding: 0 !important;
}

.kip-legal-content li {
    margin: 6px 0 !important;
}

.kip-legal-accent {
    color: #f1ee00 !important;
}

.kip-privacy-toc-item {
    margin-bottom: 7px !important;
    color: #c9cbd1 !important;
    font-size: 15px !important;
}

@media (max-width:700px) {
    .kip-legal-page-inner {
        padding: 36px 16px 52px !important;
    }

    .kip-legal-content {
        font-size: 15px !important;
        line-height: 1.55 !important;
    }

    .kip-legal-content h1 {
        margin-bottom: 26px !important;
        font-size: 30px !important;
    }

    .kip-legal-content h2 {
        margin-top: 32px !important;
        font-size: 20px !important;
    }

    .kip-legal-content h3 {
        font-size: 17px !important;
    }
}


/* =========================================================
   V2.8.24 — PAGES LÉGALES VISIBLES + NOTICES WOO STABLES
   ========================================================= */

/* Les pages légales peuvent utiliser page.html ou un template sauvegardé
   dans l'éditeur de site : cette classe body reste fiable dans tous les cas. */
body.kip-legal-page .wp-block-post-title {
    display: none !important;
}

body.kip-legal-page .kip-page-shell-inner {
    padding-top: 56px !important;
    padding-bottom: 72px !important;
}

body.kip-legal-page .kip-legal-content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: min(1480px, 100%) !important;
    max-width: 1480px !important;
    margin: 0 auto !important;
}

/* Markup normalisé par le JS : texte à gauche, CTA à droite. */
body.woocommerce-page .wc-block-components-notice-banner__content,
body.woocommerce-account .wc-block-components-notice-banner__content {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 14px 22px !important;
    width: 100% !important;
    min-width: 0 !important;
}

body.woocommerce-page .wc-block-components-notice-banner__content > .kip-woo-notice-text,
body.woocommerce-account .wc-block-components-notice-banner__content > .kip-woo-notice-text {
    display: block !important;
    min-width: 0 !important;
    color: inherit !important;
    line-height: 1.45 !important;
}

/* CTA droit, compact, jamais coupé. */
body.woocommerce-page .wc-block-components-notice-banner__content > .wc-block-components-button,
body.woocommerce-page .wc-block-components-notice-banner__content > .button,
body.woocommerce-page .wc-block-components-notice-banner__content > a[role="button"],
body.woocommerce-account .wc-block-components-notice-banner__content > .wc-block-components-button,
body.woocommerce-account .wc-block-components-notice-banner__content > .button,
body.woocommerce-account .wc-block-components-notice-banner__content > a[role="button"] {
    position: static !important;
    float: none !important;
    justify-self: end !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 10px 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ee0006 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
    transform: none !important;
    -webkit-transform: none !important;
    box-shadow: none !important;
}

/* Annule les anciens styles globaux de boutons KIP sur les notices. */
body.woocommerce-page .wc-block-components-notice-banner__content > .wc-block-components-button::before,
body.woocommerce-page .wc-block-components-notice-banner__content > .wc-block-components-button::after,
body.woocommerce-account .wc-block-components-notice-banner__content > .wc-block-components-button::before,
body.woocommerce-account .wc-block-components-notice-banner__content > .wc-block-components-button::after {
    display: none !important;
    content: none !important;
}

@media (max-width: 900px) {
    body.woocommerce-page .wc-block-components-notice-banner__content,
    body.woocommerce-account .wc-block-components-notice-banner__content {
        grid-template-columns: 1fr !important;
        align-items: start !important;
    }

    body.woocommerce-page .wc-block-components-notice-banner__content > .wc-block-components-button,
    body.woocommerce-page .wc-block-components-notice-banner__content > .button,
    body.woocommerce-page .wc-block-components-notice-banner__content > a[role="button"],
    body.woocommerce-account .wc-block-components-notice-banner__content > .wc-block-components-button,
    body.woocommerce-account .wc-block-components-notice-banner__content > .button,
    body.woocommerce-account .wc-block-components-notice-banner__content > a[role="button"] {
        justify-self: start !important;
        margin-top: 2px !important;
    }
}

@media (max-width: 700px) {
    body.kip-legal-page .kip-page-shell-inner {
        padding: 36px 16px 52px !important;
    }

    body.woocommerce-page .wc-block-components-notice-banner__content > .wc-block-components-button,
    body.woocommerce-page .wc-block-components-notice-banner__content > .button,
    body.woocommerce-page .wc-block-components-notice-banner__content > a[role="button"],
    body.woocommerce-account .wc-block-components-notice-banner__content > .wc-block-components-button,
    body.woocommerce-account .wc-block-components-notice-banner__content > .button,
    body.woocommerce-account .wc-block-components-notice-banner__content > a[role="button"] {
        width: 100% !important;
        justify-self: stretch !important;
    }
}


/* =========================================================
   V2.8.25 — GRANDE CARTE ADMINISTRABLE DEPUIS KIP MANAGER
   ========================================================= */
body.home .kip-location-v2-map .kip-location-v2-map-custom-image{
    position:absolute !important;
    z-index:2 !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    display:block !important;
    object-fit:contain !important;
    object-position:center center !important;
    background:#fff !important;
}

/* Le plan choisi dans le Manager remplace visuellement l’ancienne
   carte statique/iframe, tout en laissant l’encart promo au-dessus. */
body.home .kip-location-v2-map:has(.kip-location-v2-map-custom-image) .kip-location-v2-embed,
body.home .kip-location-v2-map:has(.kip-location-v2-map-custom-image) .kip-location-v2-map-shade,
body.home .kip-location-v2-map:has(.kip-location-v2-map-custom-image) .kip-location-v2-city,
body.home .kip-location-v2-map:has(.kip-location-v2-map-custom-image) .kip-location-v2-pin{
    display:none !important;
}

@media (max-width:700px){
    body.home .kip-location-v2-map .kip-location-v2-map-custom-image{
        object-fit:contain !important;
    }
}


/* =========================================================
   V2.8.26 — FOOTER : CORRECTION POST-MIGRATION NUXIT
   Le vrai WordPress applique une largeur "contenu" au footer.
   On fait sortir uniquement le footer de cette contrainte et
   on verrouille sa grille, sans toucher au reste du site.
   ========================================================= */

body .kip-site-footer {
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: hidden !important;
}

body .kip-site-footer > .kip-footer-v2,
body .kip-site-footer .kip-footer-v2 {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body .kip-site-footer .kip-footer-v2-main {
    position: relative !important;
    float: none !important;
    width: min(1840px, calc(100% - 64px)) !important;
    max-width: 1840px !important;
    margin: 0 auto !important;
    padding: 54px 0 38px !important;

    display: grid !important;
    grid-template-columns:
        minmax(260px, 1.18fr)
        minmax(145px, .72fr)
        minmax(165px, .82fr)
        minmax(175px, .90fr)
        minmax(320px, 1.22fr) !important;
    gap: clamp(28px, 3vw, 64px) !important;
    align-items: start !important;
    justify-content: stretch !important;
}

body .kip-site-footer .kip-footer-v2-main > .kip-footer-v2-brand,
body .kip-site-footer .kip-footer-v2-main > .kip-footer-v2-col,
body .kip-site-footer .kip-footer-v2-main > .kip-footer-v2-map {
    position: relative !important;
    inset: auto !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    transform: none !important;
}

body .kip-site-footer .kip-footer-v2-col {
    display: block !important;
}

body .kip-site-footer .kip-footer-v2-col ul {
    display: block !important;
    width: 100% !important;
}

body .kip-site-footer .kip-footer-v2-col li {
    display: block !important;
    width: 100% !important;
}

body .kip-site-footer .kip-footer-v2-map {
    display: block !important;
    align-self: start !important;
}

body .kip-site-footer .kip-footer-v2-map-body {
    display: flex !important;
}

/* La ligne basse doit elle aussi sortir de toute largeur héritée. */
body .kip-site-footer .kip-footer-v2-bottom {
    width: min(1840px, calc(100% - 64px)) !important;
    max-width: 1840px !important;
    margin: 0 auto !important;
}

/* Tablettes / petits laptops */
@media (max-width: 1280px) {
    body .kip-site-footer .kip-footer-v2-main {
        grid-template-columns:
            minmax(250px, 1.15fr)
            repeat(3, minmax(140px, .72fr)) !important;
    }

    body .kip-site-footer .kip-footer-v2-main > .kip-footer-v2-map {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: 1.25fr .75fr !important;
    }
}

/* Tablette */
@media (max-width: 900px) {
    body .kip-site-footer .kip-footer-v2-main {
        width: min(calc(100% - 40px), 760px) !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 34px 28px !important;
        padding-top: 42px !important;
    }

    body .kip-site-footer .kip-footer-v2-main > .kip-footer-v2-brand {
        grid-column: 1 / -1 !important;
    }

    body .kip-site-footer .kip-footer-v2-main > .kip-footer-v2-map {
        grid-column: 1 / -1 !important;
        grid-template-columns: 1fr !important;
    }

    body .kip-site-footer .kip-footer-v2-bottom {
        width: min(calc(100% - 40px), 760px) !important;
    }
}

/* Téléphone */
@media (max-width: 600px) {
    body .kip-site-footer {
        width: 100vw !important;
        max-width: 100vw !important;
    }

    body .kip-site-footer .kip-footer-v2-main {
        width: calc(100% - 32px) !important;
        grid-template-columns: 1fr !important;
        gap: 28px !important;
        padding: 36px 0 28px !important;
    }

    body .kip-site-footer .kip-footer-v2-main > .kip-footer-v2-brand,
    body .kip-site-footer .kip-footer-v2-main > .kip-footer-v2-col,
    body .kip-site-footer .kip-footer-v2-main > .kip-footer-v2-map {
        grid-column: 1 !important;
    }

    body .kip-site-footer .kip-footer-v2-bottom {
        width: calc(100% - 32px) !important;
    }
}
