.elementor-kit-5{--e-global-color-primary:#DD1E4B;--e-global-color-secondary:#FC5130;--e-global-color-text:#FFFFFF;--e-global-color-accent:#06060B;--e-global-color-pkgris:#8A8A96;--e-global-color-pknoir2:#0E0E15;--e-global-typography-primary-font-family:"Nunito Sans";--e-global-typography-primary-font-weight:900;--e-global-typography-secondary-font-family:"Nunito Sans";--e-global-typography-secondary-font-weight:300;--e-global-typography-text-font-family:"Nunito Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Nunito Sans";--e-global-typography-accent-font-weight:600;background-color:#06060B;color:#FFFFFF;font-family:"Nunito Sans", Sans-serif;font-size:16px;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:#DD1E4B;}.elementor-kit-5 a:hover{color:#FC5130;}.elementor-kit-5 h1{color:#FFFFFF;font-family:"Nunito Sans", Sans-serif;font-weight:900;}.elementor-kit-5 h2{color:#FFFFFF;font-family:"Nunito Sans", Sans-serif;font-weight:900;}.elementor-kit-5 h3{color:#FFFFFF;font-family:"Nunito Sans", Sans-serif;font-weight:900;}.elementor-kit-5 h4{color:#FFFFFF;font-family:"Nunito Sans", Sans-serif;font-weight:900;}.elementor-kit-5 h5{color:#FFFFFF;font-family:"Nunito Sans", Sans-serif;font-weight:900;}.elementor-kit-5 h6{color:#FFFFFF;font-family:"Nunito Sans", Sans-serif;font-weight:900;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1320px;}.e-con{--container-max-width:1320px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===== Puissance Kart Indoor · design 2026 =====
   Styles d'accompagnement. Les textes, images, couleurs et tailles se règlent dans Elementor. */

body { background: #06060B; -webkit-font-smoothing: antialiased; }
.elementor a { transition: color .2s, background .2s, transform .2s, border-color .2s; }

/* ---------- en-tête : posé sur la photo, opaque au défilement ---------- */
.elementor-location-header { position: absolute; top: 0; left: 0; right: 0; z-index: 99; }
.pk-header { transition: background .3s, backdrop-filter .3s; position: relative; }
/* voile dégradé derrière le menu, sans bord visible */
.pk-header:not(.elementor-sticky--effects)::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 240px; pointer-events: none; z-index: -1;
  background: linear-gradient(180deg, rgba(6,6,11,.8) 0%, rgba(6,6,11,.45) 45%, rgba(6,6,11,0) 100%); }
.pk-header.elementor-sticky--effects { background: rgba(6, 6, 11, .85) !important; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.admin-bar .pk-header.elementor-sticky--active { top: 32px !important; }

/* ---------- voile latéral sur les grandes photos (lisibilité du texte) ---------- */
.pk-hero::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(6,6,11,.85) 0%, rgba(6,6,11,.45) 45%, rgba(6,6,11,0) 75%); }
.pk-hero > * { position: relative; z-index: 1; }
@media (max-width: 767px) { .pk-hero::after { background: linear-gradient(90deg, rgba(6,6,11,.8) 0%, rgba(6,6,11,.55) 100%); } }

/* ---------- titres ---------- */
.pk-stroke { color: transparent; -webkit-text-stroke: 2px #fff; }
.pk-accent { color: var(--e-global-color-primary); }
.pk-hero-title .elementor-heading-title { overflow-wrap: normal; word-break: keep-all; hyphens: none; }
@media (max-width: 767px) { .pk-stroke { -webkit-text-stroke-width: 1.5px; } }

/* ---------- boutons ---------- */
.pk-btn-main .elementor-button { box-shadow: 0 10px 30px -10px rgba(221, 30, 75, .7); }
.elementor-button:hover { transform: translateY(-2px); }

/* ---------- voyant ouvert / fermé ---------- */
.pk-status .elementor-heading-title { display: inline-flex; align-items: center; gap: 10px; }
.pk-status .elementor-heading-title::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: #8A8A96; flex: none; }
.pk-status.pk-open .elementor-heading-title::before { background: #3DDC84; animation: pk-pulse 2s infinite; }
.pk-status.pk-closed .elementor-heading-title::before { background: var(--e-global-color-primary); }
@keyframes pk-pulse { 0% { box-shadow: 0 0 0 0 rgba(61,220,132,.7); } 70% { box-shadow: 0 0 0 10px rgba(61,220,132,0); } 100% { box-shadow: 0 0 0 0 rgba(61,220,132,0); } }

/* ---------- chiffres clés ---------- */
.pk-facts { border-top: 1px solid rgba(255,255,255,.08); }
.pk-fact + .pk-fact { border-left: 1px solid rgba(255,255,255,.08); padding-left: 24px !important; }
@media (max-width: 767px) { .pk-fact:nth-child(3) { border-left: 0; padding-left: 0 !important; } .pk-fact { padding-bottom: 16px !important; } }

/* ---------- bandeau défilant ---------- */
.pk-ticker { overflow: hidden; transform: skewY(-2.5deg); margin: -1px 0; padding: 6px 0; }
/* le texte suit la pente du bandeau (pas de redressement) */
.pk-ticker .elementor-heading-title { white-space: nowrap; display: inline-block; animation: pk-defile 45s linear infinite; }
@keyframes pk-defile { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- cartes photo (activités, coupes, articles) ---------- */
.pk-tile, .pk-cup { overflow: hidden; isolation: isolate; text-decoration: none; }
/* ombre douce : garantit la lisibilité des textes posés sur les photos */
.pk-tile .elementor-heading-title, .pk-cup .elementor-heading-title, .pk-hero .elementor-heading-title { text-shadow: 0 2px 14px rgba(0,0,0,.55); }
.pk-tile .elementor-widget-text-editor, .pk-cup .elementor-widget-text-editor, .pk-hero .elementor-widget-text-editor { text-shadow: 0 1px 10px rgba(0,0,0,.6); }
.pk-tile:hover, .pk-cup:hover { transform: translateY(-4px); }
.pk-tile::before, .pk-cup::before { transition: opacity .4s; }
.pk-go .elementor-heading-title::after { content: "→"; display: inline-block; margin-left: 8px; transition: transform .25s; }
.pk-tile:hover .pk-go .elementor-heading-title::after, .pk-cup:hover .pk-go .elementor-heading-title::after { transform: translateX(6px); }
.pk-cup { filter: saturate(.75); }
.pk-cup:hover { filter: none; }

/* ---------- cartes tarifs ---------- */
.pk-kart { position: relative; overflow: hidden; }
.pk-kart::after { content: ""; position: absolute; top: -60%; right: -30%; width: 70%; height: 140%; background: radial-gradient(closest-side, rgba(221,30,75,.22), transparent); pointer-events: none; }
.pk-kart-pro { background-image: linear-gradient(160deg, #1B0A12 0%, #0E0E15 55%) !important; border-color: rgba(221,30,75,.35) !important; }
.pk-chrono { border-top: 1px solid rgba(255,255,255,.08); }
.pk-ligne { border-bottom: 1px solid rgba(255,255,255,.08); }
.pk-cc .elementor-heading-title { letter-spacing: -.04em; line-height: .85; }
.pk-cc-unit { font-size: .32em; color: var(--e-global-color-primary); text-transform: lowercase; letter-spacing: 0; margin-left: 4px; }

/* ---------- chiffres du circuit ---------- */
.pk-specs { overflow: hidden; border: 1px solid rgba(255,255,255,.08); }
.pk-specs > .e-con { flex-basis: calc(50% - 1px) !important; }

/* ---------- images ---------- */
.pk-champion-img img, .pk-plan img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.pk-plan img { aspect-ratio: auto; max-height: 640px; object-position: top; }
.pk-poster img { transform: rotate(-3deg); box-shadow: 0 40px 80px -30px rgba(0,0,0,.8); max-width: 440px; }

/* ---------- textes riches (fiches, articles) ---------- */
.pk-content p { margin: 0 0 1.1em; }
.pk-content h2, .pk-content h3 { color: #fff; font-weight: 900; font-style: italic; text-transform: uppercase; line-height: 1; margin: 1.4em 0 .6em; }
.pk-content h2 { font-size: 1.8em; } .pk-content h3 { font-size: 1.4em; }
.pk-content ul { margin: 0 0 1.1em; padding-left: 1.2em; }
.pk-content li { margin: .35em 0; }
.pk-content li::marker { color: var(--e-global-color-primary); }
.pk-content strong { color: #fff; }
.pk-content a, .pk-small-text a, .elementor-widget-text-editor a { color: var(--e-global-color-primary); text-decoration: underline; text-underline-offset: 3px; }
.pk-content img { border-radius: 14px; margin: 1em 0; height: auto; }
.pk-legal { font-size: 16px; }

/* ---------- tableaux ---------- */
.elementor table { border: 0; margin: 0; font-size: inherit; background: transparent; }
.elementor table td, .elementor table th { border: 0; background: transparent !important; }
.pk-table { width: 100%; border-collapse: collapse; font-size: 16px; }
.pk-table th, .pk-table td { padding: 12px 14px !important; border-bottom: 1px solid rgba(255,255,255,.08) !important; text-align: left; color: #D5D5DD; }
.pk-table thead th { color: #fff; font-weight: 800; border-bottom: 2px solid var(--e-global-color-primary) !important; }
.pk-content { overflow-x: auto; }

/* horaires */
.pk-hours { width: 100%; table-layout: fixed; }
.pk-hours td { padding: 13px 16px !important; font-weight: 600; color: #D5D5DD; }
.pk-hours td:last-child { text-align: right; font-weight: 800; color: #fff; font-variant-numeric: tabular-nums; }
.pk-hours tr.pk-today td { background: rgba(221,30,75,.14) !important; color: #fff; }
.pk-hours tr.pk-today td:first-child { box-shadow: inset 3px 0 0 var(--e-global-color-primary); border-radius: 10px 0 0 10px; }
.pk-hours tr.pk-today td:last-child { border-radius: 0 10px 10px 0; }

/* ---------- bandeau dégradé ---------- */
.pk-band { position: relative; overflow: hidden; }
.pk-band::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 45%; pointer-events: none; opacity: .6;
  background-image: conic-gradient(rgba(255,255,255,.07) 25%, transparent 0 50%, rgba(255,255,255,.07) 0 75%, transparent 0); background-size: 28px 28px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 70%); mask-image: linear-gradient(90deg, transparent, #000 70%); }
.pk-band > * { position: relative; z-index: 1; }

/* ---------- formulaire ---------- */
.elementor-field-type-acceptance label { color: #8A8A96; font-size: 14px; line-height: 1.5; }
.elementor-field-group .elementor-field:focus { border-color: var(--e-global-color-primary) !important; box-shadow: 0 0 0 3px rgba(221,30,75,.25); }

/* ---------- pagination du blog ---------- */
.elementor-pagination { margin-top: 40px; font-weight: 800; }
.elementor-pagination .page-numbers { display: inline-block; min-width: 44px; padding: 10px 14px; border-radius: 999px; }
.elementor-pagination .page-numbers.current { background: var(--e-global-color-primary); color: #fff !important; }

/* ---------- pied de page ---------- */
.pk-footer { border-top: 1px solid rgba(255,255,255,.08); }
.pk-footer .elementor-widget-text-editor a { color: #fff; text-decoration: none; font-weight: 700; }
.pk-script { display: none; }
.pk-mobile-bar { position: fixed !important; left: 0; right: 0; bottom: 0; z-index: 98; }
.pk-mobile-bar .elementor-widget-button { flex: 1; }
.pk-mobile-bar .elementor-button { width: 100%; justify-content: center; }
.pk-mobile-bar .elementor-widget-button:last-child .elementor-button { background: rgba(6,6,11,.88) !important; backdrop-filter: blur(10px); }

/* ---------- accessibilité ---------- */
@media (prefers-reduced-motion: reduce) {
  .pk-ticker .elementor-heading-title, .pk-status .elementor-heading-title::before { animation: none; }
  .elementor-button:hover, .pk-tile:hover, .pk-cup:hover { transform: none; }
}

/* ---------- cartes du blog : dégradé de lisibilité ---------- */
.pk-loop-card { position: relative; }
.pk-loop-card::before { content: "" !important; position: absolute !important; inset: 0 !important; z-index: 0 !important; border-radius: inherit;
  background: linear-gradient(180deg, rgba(6,6,11,.42) 0%, rgba(6,6,11,.95) 100%) !important; opacity: 1 !important; }
.pk-loop-card > * { position: relative; z-index: 1; }

/* ---------- séparation douce entre les sections ---------- */
.elementor-location-single > .e-con, .elementor > .e-con { border-top: 0; }
.e-con[style*="0E0E15"], .e-con.pk-infos { box-shadow: inset 0 1px 0 rgba(255,255,255,.05); }/* End custom CSS */