.elementor-kit-5{--e-global-color-primary:#3C4332;--e-global-color-secondary:#A34124;--e-global-color-text:#252A21;--e-global-color-accent:#BF572F;--e-global-color-ivoire:#F4F3E7;--e-global-color-sable:#E8E2D3;--e-global-color-olivesecondaire:#606654;--e-global-color-mediterranee:#2E6878;--e-global-color-bordure:#777D6A;--e-global-color-separateur:#D3CEBF;--e-global-color-olivefonce:#2D3326;--e-global-typography-primary-font-family:"Barlow Condensed";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Barlow Condensed";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:600;--e-global-typography-couverture-font-family:"Barlow Condensed";--e-global-typography-couverture-font-size:104px;--e-global-typography-couverture-font-weight:700;--e-global-typography-couverture-line-height:0.98em;--e-global-typography-introduction-font-family:"Inter";--e-global-typography-introduction-font-size:21px;--e-global-typography-introduction-font-weight:400;--e-global-typography-introduction-line-height:1.5em;--e-global-typography-legende-font-family:"Inter";--e-global-typography-legende-font-size:14px;--e-global-typography-legende-font-weight:500;--e-global-typography-legende-line-height:1.45em;--e-global-typography-libelle-font-family:"Inter";--e-global-typography-libelle-font-size:14px;--e-global-typography-libelle-font-weight:600;--e-global-typography-libelle-line-height:1.3em;--e-global-typography-libelle-letter-spacing:0.08em;--e-global-typography-chiffre-font-family:"Barlow Condensed";--e-global-typography-chiffre-font-size:48px;--e-global-typography-chiffre-font-weight:700;--e-global-typography-chiffre-line-height:1em;background-color:#F4F3E7;color:#252A21;font-family:"Inter", Sans-serif;font-size:18px;font-weight:400;line-height:1.6em;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:#3C4332;font-family:"Inter", Sans-serif;font-size:16px;font-weight:600;line-height:1.25em;color:#F4F3E7;border-radius:4px 4px 4px 4px;padding:14px 24px 14px 24px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:#2D3326;color:#F4F3E7;border-radius:4px 4px 4px 4px;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 p{margin-block-end:16px;}.elementor-kit-5 a{color:#A34124;}.elementor-kit-5 a:hover{color:#3C4332;}.elementor-kit-5 h1{color:#252A21;font-family:"Barlow Condensed", Sans-serif;font-size:72px;font-weight:700;line-height:1.05em;}.elementor-kit-5 h2{color:#252A21;font-family:"Barlow Condensed", Sans-serif;font-size:52px;font-weight:600;line-height:1.1em;}.elementor-kit-5 h3{color:#252A21;font-family:"Barlow Condensed", Sans-serif;font-size:30px;font-weight:600;line-height:1.15em;}.elementor-kit-5 h4{color:#252A21;font-family:"Inter", Sans-serif;font-size:20px;font-weight:600;line-height:1.3em;}.elementor-kit-5 img{border-radius:8px 8px 8px 8px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:16px;}.elementor-element{--widgets-spacing:16px 16px;--widgets-spacing-row:16px;--widgets-spacing-column:16px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.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-kit-5{--e-global-typography-couverture-font-size:80px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-couverture-font-size:56px;--e-global-typography-introduction-font-size:19px;--e-global-typography-chiffre-font-size:40px;font-size:16px;}.elementor-kit-5 h1{font-size:44px;}.elementor-kit-5 h2{font-size:34px;}.elementor-kit-5 h3{font-size:25px;}.elementor-kit-5 h4{font-size:18px;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* BRAVA BIKE — CSS personnalisé du kit Elementor (Réglages du site > CSS personnalisé).
   Styles des blocs dynamiques (shortcodes bb_*) et règles transversales de la charte. */

:root {
	--bb-olive: #3C4332;
	--bb-olive-fonce: #2D3326;
	--bb-ivoire: #F4F3E7;
	--bb-terre-cuite: #BF572F;
	--bb-terre-cuite-ui: #A34124;
	--bb-encre: #252A21;
	--bb-olive-2: #606654;
	--bb-sable: #E8E2D3;
	--bb-separateur: #D3CEBF;
	--bb-bordure: #777D6A;
	--bb-titres: "Barlow Condensed", "Arial Narrow", Arial, sans-serif;
}

/* Focus visible (charte) */
:focus-visible {
	outline: 3px solid var(--bb-ivoire);
	outline-offset: 3px;
	box-shadow: 0 0 0 6px var(--bb-olive);
}

.bb-icone { width: 24px; height: 24px; flex: none; }

/* Couverture : points clés et prix */
.bb-points { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px 28px; color: var(--bb-ivoire); }
.bb-points li { display: flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 500; line-height: 1.3; }
.bb-prix { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; color: var(--bb-ivoire); }
.bb-prix__label, .bb-prix__unite { font-size: 16px; }
.bb-prix__montant { font-family: var(--bb-titres); font-weight: 700; font-size: 52px; line-height: 1; }
.bb-prix-court { font-size: 15px; color: var(--bb-ivoire); }
.bb-prix-court strong { font-family: var(--bb-titres); font-size: 26px; font-weight: 700; }

/* Programme de la semaine */
.bb-programme { list-style: none; margin: 0; padding: 0; position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px 12px; }
.bb-programme__etape { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; }
.bb-programme .bb-icone { box-sizing: content-box; width: 26px; height: 26px; padding: 13px; margin-bottom: 6px; border-radius: 50%; background: var(--bb-sable); color: var(--bb-olive); }
.bb-programme__heure { font-family: var(--bb-titres); font-weight: 700; font-size: 22px; line-height: 1.1; color: var(--bb-encre); }
.bb-programme__titre { font-weight: 600; font-size: 15px; line-height: 1.3; }
.bb-programme__detail { font-size: 14px; line-height: 1.35; color: var(--bb-olive-2); }
.bb-programme__note { margin: 36px auto 0; max-width: 640px; padding: 12px 20px; border-radius: 8px; background: var(--bb-sable); text-align: center; font-size: 16px; }
@media (min-width: 768px) {
	.bb-programme { grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); }
	.bb-programme::before { content: ""; position: absolute; top: 26px; left: 8%; right: 8%; border-top: 1px dashed var(--bb-bordure); }
}

/* Expériences */
.bb-exps { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 768px) { .bb-exps { grid-template-columns: repeat(3, 1fr); gap: 24px; } }
.bb-exp { display: flex; flex-direction: column; background: var(--bb-ivoire); border: 1px solid var(--bb-separateur); border-radius: 8px; overflow: hidden; }
.bb-exp__image { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
.bb-exp__image--vide { background: var(--bb-olive) url("/wp-content/uploads/2026/10/brava-bike-motif-paysage-image-de-remplacement.svg") center / cover no-repeat; }
.bb-exp__credit { margin: auto 0 0; padding-top: 4px; font-size: 12px; line-height: 1.4; color: var(--bb-olive-2); }
.bb-exp__credit a, .widget-image-caption a { color: inherit; }
/* Crédit photo sous une image (légende du média) */
.elementor-widget-image .widget-image-caption { margin-top: 8px; font-size: 12px; line-height: 1.4; text-align: left; color: var(--bb-olive-2); }
.bb-exp__picto { padding: 28px 20px 0; color: var(--bb-olive); }
.bb-exp__picto .bb-icone { width: 44px; height: 44px; }
.bb-exp__corps { display: flex; flex-direction: column; gap: 12px; padding: 20px 20px 24px; }
.bb-exp__nom { margin: 0; font-family: var(--bb-titres); font-weight: 700; font-size: 32px; line-height: 1; letter-spacing: .02em; color: var(--bb-encre); }
.bb-exp__resume { margin: 0; font-size: 16px; line-height: 1.5; color: var(--bb-olive-2); }
.bb-exp__niveau { margin: -4px 0 0; font-size: 17px; font-weight: 600; color: var(--bb-olive); }
.bb-exp__points { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 15px; line-height: 1.4; }
.bb-exp__points li { display: flex; align-items: baseline; gap: 10px; }
.bb-exp__points li::before { content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--bb-terre-cuite); transform: translateY(-2px); }
.bb-exp__donnees { display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 0; }
.bb-exp__donnees dt { font-size: 13px; color: var(--bb-olive-2); }
.bb-exp__donnees dd { margin: 0; font-family: var(--bb-titres); font-weight: 600; font-size: 24px; line-height: 1.2; color: var(--bb-encre); }
.bb-exp__disciplines { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 4px 0 0; padding: 0; font-size: 14px; color: var(--bb-olive-2); }

/* Badges ROAD / GRAVEL : même poids visuel pour les deux disciplines */
.bb-badges { margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.bb-badge { display: inline-block; padding: 3px 10px; border: 1px solid var(--bb-olive); border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1.4; letter-spacing: .08em; color: var(--bb-olive); }
.bb-badge--discipline, .bb-exp__disciplines .bb-badge { background: var(--bb-olive); color: var(--bb-ivoire); }

/* Fiche parcours */
.bb-donnees { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; padding: 0; font-size: 15px; font-weight: 500; }
.bb-donnees li { display: flex; align-items: center; gap: 6px; }
.bb-donnees .bb-icone, .bb-difficulte .bb-icone { width: 18px; height: 18px; color: var(--bb-olive-2); }
.bb-difficulte { display: flex; align-items: flex-start; gap: 8px; margin: 12px 0 0; font-size: 15px; line-height: 1.4; }
.bb-difficulte .bb-icone { margin-top: 1px; }

/* Fiche hôtel */
.bb-etoiles { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; color: var(--bb-olive); }
.bb-etoiles__icones { display: inline-flex; gap: 2px; color: var(--bb-terre-cuite); }
.bb-etoiles__icones .bb-icone { width: 18px; height: 18px; fill: currentColor; }
.bb-equipements { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px 20px; margin: 0; padding: 0; }
.bb-equipements li { display: flex; align-items: center; gap: 10px; font-size: 15px; line-height: 1.3; }
.bb-equipements .bb-icone { color: var(--bb-olive); }

/* Fiche service */
.bb-service-prix { margin: 0; font-size: 15px; }
.bb-service-prix strong { margin-right: 4px; font-family: var(--bb-titres); font-size: 28px; font-weight: 700; }

/* Listes « compris » et « à prévoir » (ajouter la classe bb-liste au widget Éditeur de texte) */
.bb-liste ul { list-style: none; margin: 0; padding: 0; }
.bb-liste li { position: relative; padding: 10px 0 10px 34px; border-bottom: 1px solid var(--bb-separateur); }
.bb-liste li::before { content: ""; position: absolute; left: 0; top: 12px; width: 22px; height: 22px; background: var(--bb-olive);
	-webkit-mask: url("/wp-content/uploads/2026/10/check.svg") center / contain no-repeat; mask: url("/wp-content/uploads/2026/10/check.svg") center / contain no-repeat; }
.bb-liste--prevoir li::before { background: var(--bb-olive-2); -webkit-mask-image: none; mask-image: none; width: 8px; height: 8px; top: 20px; left: 7px; border-radius: 50%; }

/* Pictogrammes Lucide (au trait) dans les widgets Liste d'icônes : Elementor les remplit par défaut */
.elementor-icon-list-icon svg { fill: none !important; stroke: var(--bb-olive); }

/* Filtre ROAD / GRAVEL : la sélection change de forme (fond plein) et pas seulement de couleur */
.e-filter { gap: 8px; }
.e-filter-item { padding: 9px 18px !important; border: 1px solid var(--bb-olive) !important; border-radius: 999px !important; background: transparent !important; color: var(--bb-olive) !important; font-weight: 600 !important; letter-spacing: .08em; }
.e-filter-item[aria-pressed="true"] { background: var(--bb-olive) !important; color: var(--bb-ivoire) !important; }

/* Barre de réservation collante : laisse de la place au pied de page */
.bb-barre .elementor-heading-title { color: var(--bb-ivoire); }

/* Liens dans les textes : soulignés (charte) ; ivoire sur fond olive */
.elementor-widget-text-editor a { text-decoration: underline; text-underline-offset: 3px; }
.elementor-kit-5 .bb-fond-olive a:not(.elementor-button), .elementor-kit-5 .bb-fond-olive a:not(.elementor-button):hover { color: var(--bb-ivoire); }

/* Accueil : le paysage prolonge la couverture olive ; ses reliefs ivoire rejoignent la section suivante, sans raccord visible */
.bb-accueil-paysage img { display: block; width: 100%; height: auto; aspect-ratio: 1600 / 640; border-radius: 0 !important; object-fit: cover; object-position: 50% 100%; }
@media (max-width: 767px) { .bb-accueil-paysage img { aspect-ratio: 1600 / 740; } }
.bb-accueil-pass p:last-child { margin-bottom: 0; color: var(--bb-sable); }

/* Fiche destination (accueil et liste des destinations) */
.bb-carte-dest .bb-prix-court { color: var(--bb-encre); }
.bb-carte-dest .elementor-widget-shortcode { margin-top: auto; }
.e-loop-nothing-found-message, .e-loop-nothing-found-message__text { margin: 0; text-align: left; font-size: 18px; color: var(--bb-olive-2); }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
}/* End custom CSS */