/*
Theme Name: RDS Child
Theme URI: https://rallye-roses-des-sables.fr
Description: Thème enfant Astra pour le Rallye Roses des Sables. Charte fidèle au site officiel (Poppins, rose #DF6B6B, navy #112337).
Author: IANA Stack
Template: astra
Version: 2.0.0
Text Domain: rds-child
*/

:root {
  --rds-rose:    #DF6B6B;
  --rds-rose-dk: #C85555;
  --rds-rose-lt: #FFB5B4;
  --rds-navy:    #112337;
  --rds-gris:    #F5F5F5;
  --rds-gris-2:  #EFEFEF;
  --rds-muted:   #686e77;
  --rds-radius:  6px;
  --rds-shadow:  0 4px 24px rgba(17,35,55,0.12);
}

body { font-family: 'Poppins', sans-serif; color: #1a1a2e; }
h1,h2,h3,h4 { font-family: 'Poppins', sans-serif; color: var(--rds-navy); }

/* Boutons */
.ast-button, .button, button[type="submit"],
.woocommerce a.button, .woocommerce button.button, .wp-block-button__link {
  background: var(--rds-rose) !important; color: #fff !important;
  border: none !important; border-radius: var(--rds-radius) !important;
  font-weight: 600 !important; transition: background .2s, transform .15s !important;
}
.ast-button:hover, .button:hover, .woocommerce a.button:hover { background: var(--rds-rose-dk) !important; transform: translateY(-1px); }

/* ===== Header Astra 4 — fond navy (sinon logo/menu blancs invisibles) ===== */
.site-header, header.site-header, #masthead,
.ast-primary-header-bar, .main-header-bar,
.ast-primary-header-bar .main-header-bar,
.site-primary-header-wrap, .ast-above-header-wrap,
.ast-main-header-wrap, .ast-header-sticked .main-header-bar {
  background-color: var(--rds-navy) !important;
  border-color: var(--rds-rose) !important;
}
.main-header-bar, .ast-primary-header-bar { border-bottom: 3px solid var(--rds-rose) !important; }

/* Logo : taille lisible + version blanche sur navy */
.site-header .ast-logo-title-inline img,
.custom-logo-link img { max-height: 56px !important; width: auto !important; }
.ast-site-title-wrap a, .site-title a, .site-title, .ast-site-identity a {
  color: #fff !important; font-weight: 800 !important;
}

/* Menu — liens blancs, hover rose */
.main-header-menu a, .ast-primary-header-bar .main-header-menu a,
.main-navigation a, .ast-menu-toggle, .ast-builder-menu .menu-item a {
  color: #fff !important; font-weight: 600 !important; font-family: 'Poppins', sans-serif !important;
}
.main-header-menu a:hover, .ast-builder-menu .menu-item a:hover { color: var(--rds-rose-lt) !important; }
.main-header-menu .current-menu-item > a { color: var(--rds-rose) !important; }

/* CTA "S'inscrire" en bouton rose dans le menu */
.main-header-menu > li:last-child > a,
.ast-builder-menu .menu-item:last-child > a {
  background: var(--rds-rose) !important; color: #fff !important;
  border-radius: var(--rds-radius) !important; padding: 8px 20px !important; font-weight: 700 !important;
}
.main-header-menu > li:last-child > a:hover { background: var(--rds-rose-dk) !important; }
.ast-menu-toggle { color:#fff !important; }

/* ===== Footer ===== */
.site-footer, #colophon, .ast-footer-overlay, .site-primary-footer-wrap {
  background-color: var(--rds-navy) !important; color: rgba(255,255,255,.75) !important;
  border-top: 3px solid var(--rds-rose) !important;
}
.site-footer a, #colophon a { color: var(--rds-rose-lt) !important; }
.ast-footer-copyright, .ast-footer-copyright * { color: rgba(255,255,255,.7) !important; }

/* Prix WooCommerce */
.woocommerce-Price-amount { color: var(--rds-rose) !important; font-weight: 800 !important; }

/* ===== Dashboard espace client ===== */
.rds-dashboard-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 20px; margin-bottom: 32px; }
.rds-card { background:#fff; border-radius:10px; padding:24px; box-shadow:0 2px 12px rgba(17,35,55,.07); border-left:4px solid var(--rds-rose); }
.rds-card h4 { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:#aaa; margin:0 0 10px; }
.rds-card .val { font-size:2rem; font-weight:800; color:var(--rds-navy); line-height:1; }

/* Progress tracker */
.rds-tracker { background:#fff; border-radius:10px; padding:28px; box-shadow:0 2px 12px rgba(17,35,55,.07); }
.rds-tracker h3 { font-size:14px; text-transform:uppercase; letter-spacing:.08em; margin:0 0 20px; display:flex; justify-content:space-between; }
.rds-steps { display:flex; position:relative; overflow-x:auto; padding-bottom:4px; }
.rds-steps::before { content:''; position:absolute; top:22px; left:16px; right:16px; height:2px; background:var(--rds-gris-2); }
.rds-step { display:flex; flex-direction:column; align-items:center; flex:1; min-width:72px; position:relative; z-index:1; gap:6px; }
.rds-step .ic { width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--rds-gris-2); color:#aaa; border:3px solid #fff; box-shadow:0 0 0 2px var(--rds-gris-2); }
.rds-step.done .ic { background:var(--rds-rose); color:#fff; box-shadow:0 0 0 3px rgba(223,107,107,.25); }
.rds-step.cur .ic { background:var(--rds-navy); color:var(--rds-rose); box-shadow:0 0 0 3px rgba(17,35,55,.2); }
.rds-step .lb { font-size:.6rem; font-weight:600; text-align:center; text-transform:uppercase; color:#aaa; max-width:64px; line-height:1.3; }
.rds-step.done .lb { color:var(--rds-rose); } .rds-step.cur .lb { color:var(--rds-navy); }
.rds-bar { background:var(--rds-gris-2); border-radius:99px; height:8px; margin-top:20px; overflow:hidden; }
.rds-bar > span { display:block; height:100%; background:linear-gradient(90deg,var(--rds-rose),var(--rds-rose-lt)); }

/* Cards équipages */
.rds-eq-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:24px; padding:32px 0; }
.rds-eq { border-radius:10px; overflow:hidden; background:#fff; box-shadow:0 2px 14px rgba(17,35,55,.08); border:1px solid var(--rds-gris-2); transition:transform .25s; }
.rds-eq:hover { transform:translateY(-5px); box-shadow:var(--rds-shadow); }
.rds-eq .img { height:190px; background:var(--rds-gris); display:flex; align-items:center; justify-content:center; font-size:3.5rem; background-size:cover; background-position:center; }
.rds-eq .body { padding:18px 22px; }
.rds-eq .num { font-size:.68rem; font-weight:700; letter-spacing:.2em; color:var(--rds-rose); text-transform:uppercase; }
.rds-eq .name { font-size:1.1rem; font-weight:800; color:var(--rds-navy); margin:4px 0; }
.rds-eq .pil { font-size:.82rem; color:var(--rds-muted); margin-bottom:12px; }
.rds-eq .cat { display:inline-block; background:var(--rds-gris); padding:3px 10px; border-radius:99px; font-size:.7rem; font-weight:700; text-transform:uppercase; }

.rds-pill { display:inline-block; padding:4px 14px; border-radius:99px; font-size:.72rem; font-weight:700; }
.rds-pill.ok { background:#D1FAE5; color:#065F46; } .rds-pill.wait { background:#FEF3C7; color:#92400E; }

/* ===== Hero accueil ===== */
.rds-hero { min-height:88vh; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(160deg,var(--rds-navy) 0%,#1a3a5c 55%,#0d1d2e 100%); position:relative; overflow:hidden; }
.rds-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 70% 50%,rgba(223,107,107,.18),transparent 60%); }
.rds-hero-in { position:relative; z-index:2; text-align:center; max-width:860px; padding:60px 24px; }
.rds-hero h1 { font-size:clamp(2.4rem,6vw,4.6rem); font-weight:900; line-height:1.05; color:#fff; margin:0 0 22px; }
.rds-hero h1 em { font-style:normal; color:var(--rds-rose); }
.rds-hero p { font-size:clamp(1rem,2vw,1.25rem); color:rgba(255,255,255,.85); max-width:620px; margin:0 auto 36px; line-height:1.7; }
.rds-hero-cta { display:inline-flex; gap:16px; flex-wrap:wrap; justify-content:center; }
.rds-btn-p { background:var(--rds-rose); color:#fff; padding:16px 40px; border-radius:var(--rds-radius); font-weight:700; text-decoration:none; box-shadow:0 4px 20px rgba(223,107,107,.45); transition:all .2s; }
.rds-btn-p:hover { background:var(--rds-rose-dk); transform:translateY(-2px); color:#fff; }
.rds-btn-s { background:transparent; color:#fff; padding:15px 36px; border-radius:var(--rds-radius); border:2px solid rgba(255,255,255,.4); font-weight:600; text-decoration:none; transition:all .2s; }
.rds-btn-s:hover { border-color:var(--rds-rose-lt); color:var(--rds-rose-lt); }

/* Compte à rebours */
.rds-cd { background:var(--rds-rose); color:#fff; padding:36px 20px; text-align:center; }
.rds-cd h3 { font-size:.8rem; font-weight:600; letter-spacing:.25em; text-transform:uppercase; opacity:.85; margin:0 0 20px; color:#fff; }
.rds-cd-grid { display:flex; justify-content:center; gap:40px; flex-wrap:wrap; }
.rds-cd-grid span { display:block; font-size:3rem; font-weight:800; line-height:1; }
.rds-cd-grid label { font-size:.7rem; text-transform:uppercase; letter-spacing:.15em; opacity:.8; }

/* Stats */
.rds-stats { background:var(--rds-navy); padding:60px 24px; }
.rds-stats-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:40px; max-width:900px; margin:0 auto; text-align:center; }
.rds-stats-grid .n { display:block; font-size:3rem; font-weight:800; color:var(--rds-rose); line-height:1; }
.rds-stats-grid .l { font-size:.8rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.65); margin-top:8px; display:block; }
