/*!
Theme Name: taxi-blois
Theme URI: http://underscores.me/
Author: Flamingo
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: taxi-blois
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

taxi-blois is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
@font-face {
	font-family: 'Geist';
	src: url('./assets/fonts/Geist-Bold.eot');
	src: url('./assets/fonts/Geist-Bold.eot?#iefix') format('embedded-opentype'),
		url('./assets/fonts/Geist-Bold.woff2') format('woff2'),
		url('./assets/fonts/Geist-Bold.woff') format('woff'),
		url('./assets/fonts/Geist-Bold.ttf') format('truetype'),
		url('./assets/fonts/Geist-Bold.svg#Geist-Bold') format('svg');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Geist';
	src: url('./assets/fonts/Geist-Light.eot');
	src: url('./assets/fonts/Geist-Light.eot?#iefix') format('embedded-opentype'),
		url('./assets/fonts/Geist-Light.woff2') format('woff2'),
		url('./assets/fonts/Geist-Light.woff') format('woff'),
		url('./assets/fonts/Geist-Light.ttf') format('truetype'),
		url('./assets/fonts/Geist-Light.svg#Geist-Light') format('svg');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Geist';
	src: url('Geist-Medium.eot');
	src: url('./assets/fonts/Geist-Medium.eot?#iefix') format('embedded-opentype'),
		url('./assets/fonts/Geist-Medium.woff2') format('woff2'),
		url('./assets/fonts/Geist-Medium.woff') format('woff'),
		url('./assets/fonts/Geist-Medium.ttf') format('truetype'),
		url('./assets/fonts/Geist-Medium.svg#Geist-Medium') format('svg');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Geist';
	src: url('Geist-Regular.eot');
	src: url('./assets/fonts/Geist-Regular.eot?#iefix') format('embedded-opentype'),
		url('./assets/fonts/Geist-Regular.woff2') format('woff2'),
		url('./assets/fonts/Geist-Regular.woff') format('woff'),
		url('./assets/fonts/Geist-Regular.ttf') format('truetype'),
		url('./assets/fonts/Geist-Regular.svg#Geist-Regular') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Geist';
	src: url('./assets/fonts/Geist-SemiBold.eot');
	src: url('./assets/fonts/Geist-SemiBold.eot?#iefix') format('embedded-opentype'),
		url('./assets/fonts/Geist-SemiBold.woff2') format('woff2'),
		url('Geist-SemiBold.woff') format('woff'),
		url('Geist-SemiBold.ttf') format('truetype'),
		url('Geist-SemiBold.svg#Geist-SemiBold') format('svg');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

:root {
	--color-primary: #0095CA;
	--color-secondary: #FFC107;
	--green: #34C759;
	--slate-950: #020618;
	--slate-900: #0f172b;
	--slate-800: #1d293d;
	--slate-700: #314158;
	--slate-600: #45556c;
	--slate-500: #62748e;
	--slate-400: #90a1b9;
	--slate-300: #cad5e2;
	--slate-200: #e2e8f0;
	--slate-100: #f1f5f9;
	--slate-50: #f8fafc;
	--white: #ffffff;
	--font-primary: 'Geist', sans-serif;
}

body {
	color: var(--slate-900);
	font-family: var(--font-primary);
	font-size: 16px;
}

h1 {
	font-family: var(--font-primary);
	color: var(--color-primary);
	font-size: 3rem;
	font-weight: 400;
}

h2 {
	font-family: var(--font-primary);
	color: var(--slate-900);
	font-size: 2rem;
	font-weight: 400;
}

p,
li,
a {
	font-family: var(--font-primary);
}

@media screen and (max-width:960px) {
	h1 {
		font-size: 2rem;
	}

	h2 {
		font-size: 1.5rem;
	}
}

/* =========================================================================
   MAIN.CSS — Habillage de marque par-dessus UIkit + composants partagés.
   On garde les composants UIkit (.uk-*) et on ne surcharge que les couleurs
   et quelques détails identitaires.
   ========================================================================= */

.uk-button {
	text-transform: none;
	border-radius: 999px;
	font-weight: 600;
	letter-spacing: 0;
	padding: 0 1.6rem;
	line-height: 46px;
}

.uk-button-primary {
	background-color: var(--slate-950);
	color: var(--white);
	font-family: var(--font-primary);
	font-weight: 600;
	border-radius: 0.75rem
}

.uk-button-default {
	border-radius: 1rem;
}

.uk-section-muted {
	background-color: var(--slate-50);
}


/* Liens / accents */
.uk-link,
a.uk-link:hover,
.uk-link-text:hover {
	color: var(--color-primary);
}

/* Slidenav (flèches carrousels) */
.uk-slidenav {
	color: var(--tx-ink);
	padding: 8px;
}

.uk-slidenav:hover,
.uk-slidenav:focus {
	color: var(--tx-primary);
}

.uk-section-secondary .uk-slidenav {
	color: #fff;
}

/* Cards */
.uk-card-default {
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(14, 23, 38, .10);
}

/* Coins arrondis utilitaires un peu plus généreux */
.uk-border-rounded {
	border-radius: 16px;
}

.uk-grid-divider>:not(.uk-first-column)::before {
	border-color: var(--slate-100);
}

/* ---------- Eyebrow / kicker ------------------------------------------- */
.tx-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	margin: 0 0 1rem;
	font-size: .8125rem;
	font-weight: 600;
	color: var(--tx-primary);
}

.tx-eyebrow::before {
	content: "";
	width: .5rem;
	height: .5rem;
	background: var(--green);
	border-radius: 3rem;
	box-shadow: 0 2px 4px rgba(52, 199, 89, .55);
}

.uk-light .tx-eyebrow {
	color: var(--green);
}

.uk-light .tx-eyebrow::before {
	background: var(--green);
}



/* ---------- App store badges ------------------------------------------- */
.tx-badges {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
}

.tx-badge {
	display: inline-flex;
	align-items: center;
	background: var(--tx-ink);
	color: #fff;
	border-radius: 14px;
	transition: transform .3s ease;
}

.tx-badge:hover {
	transform: translateY(-2px);
	color: #fff;
}

.tx-badge__top {
	display: block;
	font-size: .68rem;
	line-height: 1;
	opacity: .8;
}

.tx-badge__name {
	display: block;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.2;
}

/* ---------- Avatar ----------------------------------------------------- */
.tx-avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid #fff;
	box-shadow: 0 2px 8px rgba(14, 23, 38, .12);
	background: var(--tx-primary-050);
	flex: none;
}

/* ---------- Icon chip (rond coloré) ------------------------------------ */
.tx-ico {
	flex: none;
	width: 44px;
	height: 44px;
	display: grid;
	place-content: center;
	border-radius: 12px;
	background: var(--tx-primary-050);
	color: var(--tx-primary);
}

/* =========================================================================
   Reveal on scroll (progressive enhancement)
   JS ajoute `tx-anim` sur <html> avant d'animer. Sans JS → tout visible.
   ========================================================================= */
html.tx-anim [data-reveal] {
	opacity: 0;
	transform: translateY(26px);
	will-change: opacity, transform;
}

html.tx-anim [data-reveal].is-in {
	opacity: 1;
	transform: none;
	transition: opacity .7s cubic-bezier(.22, 1, .36, 1), transform .7s cubic-bezier(.22, 1, .36, 1);
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	html.tx-anim [data-reveal] {
		opacity: 1 !important;
		transform: none !important;
	}
}

/* ---------- Skip link -------------------------------------------------- */
.tx-skip {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 1000;
	padding: .75rem 1.25rem;
	background: var(--tx-ink);
	color: #fff;
	border-radius: 0 0 10px 0;
}

.tx-skip:focus {
	left: 0;
}


.tx-header .uk-navbar-sticky {
	background: var(--white);
}

.tx-header .uk-logo img {
	width: auto;
	height: 3rem;
}


/* Logo visible dès que le header devient sticky */
.tx-header .uk-navbar-sticky .uk-logo img {
	opacity: 1;
	visibility: visible;
	transform: none;
	height: 3rem;
}

.tx-header .uk-navbar-right {
	align-items: center;

}

.tx-header .uk-button-primary {
	height: 3rem;
}

footer {
	padding-top: 3rem;
	padding-bottom: 1rem;
}

@media screen and (max-width:960px) {
	footer {
		padding-bottom: 4rem;
	}
}

footer .img-logo {
	margin-bottom: 2rem;
}

footer .coordonnees a {
	text-decoration: underline;
	color: var(--slate-900);
}

footer .links {
	gap: .75rem;
}

footer .links a {
	color: var(--slate-900);
	text-decoration: underline;
}

.tx-cta-mobile {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
	padding-bottom: calc(12px + env(safe-area-inset-bottom));
	/* caché par défaut, glisse vers le bas */
	transform: translateY(100%);
	transition: transform .3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
}

.tx-cta-mobile .uk-button {
	padding: .75rem 1rem;
	line-height: initial;
	display: inline-block;
	width: auto;
	border-radius: 2rem;
	font-weight: 600;
	box-shadow: 0 4px 8px rgba(0, 0, 0, .16);
}

.tx-cta-mobile.is-visible {
	transform: translateY(0);
}

/* En-tête mobile compact, logo seul */
.mobile-nav .uk-navbar-container,
.mobile-nav .uk-navbar-item {
	min-height: 56px;
}

.tx-logo-mobile img {
	width: auto;
	height: 36px;
}


header .tx-header .uk-button-default {
	color: var(--white);
}

header .tx-header .uk-button-default {
	color: var(--white);
}

header .tx-header.uk-sticky-below .uk-button-default {
	color: var(--slate-900);
}