/*
 Theme Name:   Bricks - Led Car Alsace
 Theme URI:    https://station-creative.fr
 Description:  Thème de Led Car Alsace.
 Author:       Bricks + Station Créative
 Author URI:   https://station-creative.fr/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/***
 * Reset
 ***/

*, 
*::before, 
*::after {
  box-sizing: border-box;
  margin: 0; padding: 0;
}

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  font-family: var(--font-body);
  font-size: var(--fs-base);
  line-height: 1.6;
  color: var(--color-text);
  background: var(--color-bg);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

::selection { background: var(--led-accent); color: #fff; }
img, svg, video { display: block; max-width: 100%; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
h1, h2, h3, h4 { font-family: var(--font-heading); line-height: 1.08; text-wrap: balance; }

/***
 * Layout
 ***/

.container {
	width: 100%;
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--gutter);
}

.section {
	position: relative;
	padding-block: var(--space-2xl-3xl);
}

.section p {
	padding-bottom: var(--space-s);
}

.pt-section {
	padding-top: var(--space-2xl-3xl);
}

.pb-section {
	padding-bottom: var(--space-2xl-3xl);
}

.px-section {
	padding-block: var(--space-2xl-3xl) !important;
}

main {
	margin-top: var(--header-height);
}

/***
.reveal {
  opacity: 0;
  transform: translateY(2rem);
  transition:
    opacity 0.7s ease,
    transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.reveal.is-visible {
  opacity: 1;
  transform: none;
}
***/

.reveal {
  opacity: 1;
  transform: none;
}

/* Animation uniquement sur le frontend */
body.bricks-is-frontend .reveal {
  opacity: 0;
  transform: translateY(2rem);
  transition:
    opacity 0.7s ease,
    transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
}

body.bricks-is-frontend .reveal.is-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/***
 * Header
 ***/

#brx-header.brx-sticky {
	position: fixed;
    z-index: 100;
	background-color: var(--lca-dark);
	transition: backgroud var(--transition), box-shadow var(--transition);
}

#brx-header.brx-sticky.scrolling {
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  background: rgba(1, 0, 15, 0.86);
  box-shadow: 0 1px 0 var(--led-border);
}

.header__section {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	font-size: var(--fs-base);
}

.bricks-site-logo {
	height: 80px;
	width: 80px;
}

.navbar {
	font-family: var(--font-heading);
	font-weight: var(--fw-medium);
}

.navbar ul {
	gap: var(--space-s);
}

.nav-link {
	position: relative;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: var(--fs-s);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding-block: var(--space-3xs);
	transition: color var(--transition);
}

.nav-link::after {
	content: "";
	position: absolute;
	inset-inline: 0;
	inset-block-end: 0;
	height: 2px;
	background: var(--led-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--transition);
}

.nav-link:hover::after,
.nav-link:focus-visible::after {
  transform: scaleX(1);
}

.nav-link[aria-current="page"] {
	text-shadow: 0px 1px 10px var(--lca-neutre-t-3);
}

/***
 * Boutons
 ***/

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-3xs);
	padding: var(--space-2xs) var(--space-xs);
	border-radius: var(--r-m);
	font-weight: var(--fw-bold);
	letter-spacing: 0.02em;
	transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
	white-space: no-wrap;
}

.btn:hover {
  transform: translateY(-2px);
  cursor: pointer;
}

.btn:active { transform: translate(0); }

.btn-primaire {
  	background-color: var(--led-accent);
	color: white;
	box-shadow: 0 0.5rem 1.5rem rgba(227, 6, 19, 0.35);
}

.btn-primaire:hover {
  background-color: var(--led-accent-hover);
}

.btn-primaire svg {
	fill: currentcolor;
}

.btn-secondaire {
  background-color: var(--led-glass);
	color: white;
	border: 1px solid var(--led-border);
	backdrop-filter: blur(8px);
}

.btn-secondaire:hover {
  background-color: rgba(255, 255, 255, 0.16);
  box-shadow: 0 0.3rem 1rem rgba(160, 166, 200, 0.1);
}

/* Liens avec chevron */
.link-arrow {
	display: inline-flex;
	align-items: center;
	gap: var(--space-3xs);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 0.3em;
	transition: color var(--transition);
}

.link-arrow svg { width: 0.9em; height: 0.9em; color: var(--led-accent); transition: transform var(--transition); }
.link-arrow:hover { color: var(--led-accent-hover); }
.link-arrow:hover svg { transform: translateX(0.25em); }



/***
 * Footer
 ***/

.footer__col {
	display: flex;
	flex-direction: column;
	gap: var(--space-xs);
}

.footer__rs-icons {
	display: flex;
	gap: var(--space-xs);
	align-items: center;
	margin-top: var(--space-2xs);
}

.footer__rs-icons a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	background-color: var(--led-accent);
	border-radius: 6px;
	color: var(--lca-neutre);
	transition: all ease-in-out 0.1s;
}

@media (max-width: 767px) {
  .footer__rs-icons a {
    height: 44px;
	width: 44px;
  }
}

.footer__rs-icons a:hover {
	background-color: var(--lca-accent-d-1);
	transform: translateY(-2px);
}

.footer__rs-icon {
	width: 20px;
	height: 20px;
	fill: currentColor;
}

.footer__menu a, .footer__contact a {
	transition: transform var(--transition), color var(--transition);
}

.footer__menu a:hover, .footer__contact a:hover {
	color: white;
	transform: translateX(3px);
}

.stars {
    display: inline-flex;
    gap: 2px;
    color: var(--led-star);
}