/*
Theme Name:        LADN — Les Assises Des Nations
Theme URI:         https://ladn.immo
Description:       Thème WordPress complet pour le projet de rénovation et transformation de la Tour des Nations à Vandœuvre-lès-Nancy. Appartements résidentiels, Maison Sénior, Centre d'Affaires Économique. Portail administrateurs Nextcloud. Analyse de trafic Matomo. Thème autonome sans dépendance.
Author:            LADN
Author URI:        https://ladn.immo
Version:           1.3.0
Requires at least: 6.0
Tested up to:      6.7
Requires PHP:      8.0
License:           Proprietary
License URI:       https://ladn.immo
Text Domain:       ladn
Tags:              rénovation, immobilier, copropriété, vandoeuvre, nancy, tour-des-nations, nextcloud, matomo

Changelog :
  1.3.0 (2025-03) — Contenu 100% éditable via le Customizer WordPress
                    Tous les textes, images, stats, piliers, cartes vision,
                    CTA, titres de programmes modifiables sans toucher au code.
                    Nouvelles fonctions ladn_content(), ladn_content_e(), ladn_img().
  1.2.0 (2025-03) — Intégration Matomo Analytics (analytic.sbs.immo)
                    Tracking enrichi événements, bannière RGPD, page analytics admin,
                    widget dashboard, raccourcis portail, opt-out footer.
  1.1.0 (2025-03) — Portail Espace Administrateurs (Nextcloud data.ladn.immo)
                    Page template sécurisée, SSO OAuth2, rôle ladn_admin,
                    raccourcis Nextcloud (Fichiers, Calendrier, Talk, Deck, Notes).
  1.0.0 (2025-03) — Version initiale — thème autonome complet
                    Front-page, galerie, 3 programmes (Appartements, Sénior, Centre d'affaires),
                    section ADN, Vision, formulaire contact AJAX, footer.
*/

/* ════════════════════════════════════════════════════════════
   VARIABLES GLOBALES
════════════════════════════════════════════════════════════ */
:root {
  /* Palette */
  --noir:       #0e0e0e;
  --noir-soft:  #141414;
  --blanc:      #f5f2ec;
  --blanc-pur:  #ffffff;
  --beton:      #c8bfb0;
  --beton-dark: #9a9088;
  --rouille:    #b84a2a;
  --rouille-dk: #8f3820;
  --vert:       #3d5c3a;
  --vert-light: #4e7549;
  --or:         #c9a84c;
  --or-light:   #e0bc5a;
  --gris:       #6b6560;
  --gris-clair: #f0ece4;
  --gris-mid:   #2a2826;
  --bleu:       #1a2035;

  /* Typographie */
  --font-display: 'Unbounded', sans-serif;
  --font-body:    'DM Sans', sans-serif;

  /* Espacements */
  --gap-xs:  0.5rem;
  --gap-sm:  1rem;
  --gap-md:  2rem;
  --gap-lg:  4rem;
  --gap-xl:  7rem;
  --gap-2xl: 10rem;

  /* Layout */
  --container: 1280px;
  --pad-x: 5vw;
  --radius: 3px;
  --radius-md: 6px;

  /* Effets */
  --shadow-sm: 0 2px 12px rgba(0,0,0,0.15);
  --shadow-md: 0 8px 40px rgba(0,0,0,0.22);
  --shadow-lg: 0 20px 60px rgba(0,0,0,0.35);
  --transition: 0.28s cubic-bezier(0.4,0,0.2,1);
  --transition-slow: 0.55s cubic-bezier(0.4,0,0.2,1);
}

/* ════════════════════════════════════════════════════════════
   RESET & BASE
════════════════════════════════════════════════════════════ */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

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

body {
  font-family: var(--font-body);
  font-weight: 400;
  line-height: 1.6;
  background-color: var(--noir);
  color: var(--blanc);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Accessibility */
.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}
.screen-reader-text:focus {
  background: var(--blanc);
  color: var(--noir);
  clip: auto; width: auto; height: auto;
  padding: 1rem 2rem;
  top: 1rem; left: 1rem;
  z-index: 10000;
  font-size: 1rem;
  border-radius: 4px;
}

/* Focus visible */
:focus-visible {
  outline: 2px solid var(--or);
  outline-offset: 3px;
}

/* Images */
img, video {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Liens */
a {
  color: inherit;
  text-decoration: none;
  transition: color var(--transition);
}

/* Listes */
ul, ol { list-style: none; }

/* WordPress alignement des images */
.alignleft  { float: left; margin: 0 1.5rem 1rem 0; }
.alignright { float: right; margin: 0 0 1rem 1.5rem; }
.aligncenter { margin: 0 auto 1rem; display: block; }
.alignfull  { width: 100vw; margin-left: calc(50% - 50vw); }
