/*
Theme Name: OPUS Racing
Theme URI: https://opus-racing.com
Description: Theme enfant Astra pour OPUS Racing - pieces & actualite moto / course (endurance 50cc & powersports). Identite sobre & technique, accent racing rouge -> orange. Optimise performance / SEO, compatible editeur de blocs. Multilingue FR/NL/EN (Polylang).
Author: OPUS Racing
Author URI: https://opus-racing.com
Template: astra
Version: 1.1.0
Requires at least: 6.0
Tested up to: 7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: opus-racing
Tags: astra, child-theme, moto, racing
*/

/* =========================================================
   OPUS RACING - variables de marque
   (les blocs utilisent aussi les presets de theme.json :
    --wp--preset--color--opus-red, etc.)
   ========================================================= */
:root {
  --opus-red:      #C81E1E;
  --opus-red-dark: #A5160F;
  --opus-orange:   #E8611C;
  --opus-ink:      #0E0E0E;
  --opus-ink-2:    #1A1A1A;
  --opus-grey:     #6B6B6B;
  --opus-line:     #E6E6E6;
  --opus-paper:    #FAFAF9;
  --opus-white:    #FFFFFF;
  --opus-heat:     linear-gradient(90deg, #C81E1E 0%, #E8611C 100%);
}

/* =========================================================
   Typographie de base
   ========================================================= */
body,
.ast-container,
.entry-content,
p, li {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.ast-single-post .entry-title,
.site-title,
.widget-title {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.15;
}

/* =========================================================
   Menu principal (Astra) - allure "dashboard" motorsport
   ========================================================= */
.main-header-menu .menu-link,
.ast-header-menu .menu-link,
.main-navigation .menu-item > a,
#ast-mobile-header .menu-link {
  font-family: 'Rajdhani', system-ui, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 1rem;
}

.main-header-menu .menu-item > .menu-link:hover,
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current-menu-ancestor > .menu-link {
  color: var(--opus-red);
}

/* petit filet d'accent sous l'item actif / survole */
.main-header-menu .menu-item > .menu-link {
  position: relative;
}
.main-header-menu .menu-item > .menu-link::after {
  content: "";
  position: absolute;
  left: 0.9rem;
  right: 0.9rem;
  bottom: 0.35rem;
  height: 2px;
  background: var(--opus-heat);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.18s ease;
}
.main-header-menu .menu-item > .menu-link:hover::after,
.main-header-menu .current-menu-item > .menu-link::after {
  transform: scaleX(1);
}

/* =========================================================
   Selecteur de langues (Polylang)
   ========================================================= */
.menu-item.lang-item .menu-link,
.pll-parent-menu-wrapper .menu-link,
.lang-item a {
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.lang-item.current-lang > a,
.current-lang > .menu-link {
  color: var(--opus-red);
}
.lang-item img.flag,
.lang-item .flag {
  vertical-align: middle;
  margin-right: 0.35em;
  border-radius: 2px;
}

/* =========================================================
   Boutons (blocs + Astra + formulaires)
   ========================================================= */
.wp-block-button__link,
.ast-button,
.button,
button,
input[type="submit"],
.wp-block-search__button {
  font-family: 'Rajdhani', system-ui, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-radius: 8px;
}

.wp-block-button__link {
  background-color: var(--opus-red);
  color: #fff;
}
.wp-block-button__link:hover {
  background-color: var(--opus-red-dark);
}

/* style de bouton "OPUS Heat" (degrade) enregistre dans functions.php */
.wp-block-button.is-style-opus-heat .wp-block-button__link {
  background: var(--opus-heat);
  color: #fff;
  border: 0;
}
.wp-block-button.is-style-opus-heat .wp-block-button__link:hover {
  filter: brightness(1.06);
}

/* bouton contour sur fond sombre (hero / CTA) */
.has-opus-ink-background-color .wp-block-button.is-style-outline .wp-block-button__link,
.has-opus-heat-gradient-background .wp-block-button.is-style-outline .wp-block-button__link {
  color: #fff;
  border-color: #fff;
}

/* =========================================================
   Liens & accents de contenu
   ========================================================= */
a { color: var(--opus-red); }
a:hover { color: var(--opus-red-dark); }

.entry-title a:hover,
.ast-article-post .entry-title a:hover {
  color: var(--opus-red);
}

/* Titres & boutons contour sur sections sombres / degrade (lisibilite)
   Astra impose une couleur de titre : on force le blanc dans nos sections. */
.has-opus-ink-background-color h1,
.has-opus-ink-background-color h2,
.has-opus-ink-background-color h3,
.has-opus-ink-background-color h4,
.has-opus-heat-gradient-background h1,
.has-opus-heat-gradient-background h2,
.has-opus-heat-gradient-background h3,
.has-opus-heat-gradient-background h4 {
  color: #fff;
}
.has-opus-ink-background-color .wp-block-button.is-style-outline .wp-block-button__link,
.has-opus-heat-gradient-background .wp-block-button.is-style-outline .wp-block-button__link {
  color: #fff;
  border-color: #fff;
}

/* filet d'accent sous les titres de section de la page d'accueil */
.opus-section-title {
  display: inline-block;
  padding-bottom: 0.4rem;
  border-bottom: 3px solid var(--opus-red);
}

/* etiquette / eyebrow */
.opus-eyebrow {
  font-family: 'Rajdhani', system-ui, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.28em;
  font-size: 0.85rem;
}

/* =========================================================
   Cartes d'articles (blog / derniers articles)
   ========================================================= */
.wp-block-latest-posts.is-grid li {
  border: 1px solid var(--opus-line);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  padding: 0 0 1rem;
}
.wp-block-latest-posts.is-grid li .wp-block-latest-posts__featured-image img {
  width: 100%;
  height: auto;
  display: block;
}
.wp-block-latest-posts.is-grid li a {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 700;
}
.wp-block-latest-posts__post-date {
  color: var(--opus-grey);
  font-size: 0.8rem;
}
.wp-block-latest-posts.is-grid li > a,
.wp-block-latest-posts.is-grid li > time,
.wp-block-latest-posts.is-grid li .wp-block-latest-posts__post-excerpt {
  padding-left: 1.1rem;
  padding-right: 1.1rem;
}

/* =========================================================
   Pied de page - liens / menu de navigation
   ========================================================= */
.site-footer .wp-block-navigation a,
.site-footer .menu a,
.ast-footer-menu a {
  font-family: 'Rajdhani', system-ui, sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
