/*
Theme Name: Nomad Society (Divi Child)
Theme URI: https://nomadsociety.fr
Description: Thème enfant de Divi pour Nomad Society — média, communauté et boutique dédiés au nomadisme (van, trek, digital nomad). Reprend l'identité de marque définie (palette, typographie, gabarits de fiches destination).
Author: Nomad Society
Template: Divi
Version: 1.0.0
Text Domain: nomad-society
*/

/* ==========================================================
   1. VARIABLES DE MARQUE
   Reprennent exactement la charte définie : palette, polices.
   Pense à reporter ces mêmes valeurs dans Divi > Theme Builder
   (Presets globaux) ou Divi > Theme Customizer > Couleurs générales
   pour qu'elles soient disponibles dans le Divi Builder (voir README.md).
   ========================================================== */
:root {
  --ns-navy: #1B2A38;      /* Encre de route */
  --ns-rust: #B5502C;      /* Terre cuite */
  --ns-moss: #5C6E4A;      /* Mousse */
  --ns-sand: #E8DFCF;      /* Sable */
  --ns-chalk: #F7F4EE;     /* Craie */
  --ns-charcoal: #2A2A28;  /* Charbon */
  --ns-border: #E3DFD3;

  --ns-font-display: 'Fraunces', serif;
  --ns-font-body: 'Inter', sans-serif;
}

/* ==========================================================
   2. BASE
   ========================================================== */
body {
  background: var(--ns-chalk);
  color: var(--ns-charcoal);
  font-family: var(--ns-font-body);
}

h1, h2, h3, h4, .ns-display {
  font-family: var(--ns-font-display);
  color: var(--ns-navy);
}

a { color: var(--ns-rust); }

/* ==========================================================
   3. COMPOSANTS DE MARQUE RÉUTILISABLES
   À utiliser via le shortcode [ns_badge] dans les modules Divi (Texte, Code),
   ou via le widget "Badge de discrétion" fourni avec ce thème.
   ========================================================== */

/* Badges de discrétion (fiches destination) */
.ns-badge {
  display: inline-block;
  font-size: .7rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 10px;
  font-family: var(--ns-font-body);
  font-weight: 500;
}
.ns-badge--tolere { background: #EAF3DE; color: #4A5A3A; }
.ns-badge--discret { background: #FBE7DC; color: #8A3D20; }

/* Étiquette univers (VAN / TREK / DIGITAL NOMAD) */
.ns-tag {
  font-size: .7rem;
  letter-spacing: .08em;
  background: rgba(0,0,0,.25);
  color: var(--ns-chalk);
  padding: 4px 10px;
  border-radius: 20px;
  display: inline-block;
  margin-bottom: 12px;
}

/* ==========================================================
   4. GABARIT FICHE DESTINATION (fallback sans Divi Builder)
   Utilisé par single-destination.php tant qu'aucun template
   Divi Theme Builder n'est assigné au CPT "destination".
   ========================================================== */
.ns-destination-hero {
  position: relative;
  padding: 48px 32px;
  background: linear-gradient(135deg, var(--ns-navy) 0%, #2E4256 55%, var(--ns-moss) 100%);
  color: var(--ns-chalk);
  border-radius: 12px;
  margin-bottom: 24px;
}

.ns-infos-pratiques {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--ns-border);
  margin-bottom: 24px;
  border-radius: 8px;
  overflow: hidden;
}
.ns-infos-pratiques > div { background: var(--ns-chalk); padding: 14px; }
.ns-infos-pratiques .label {
  font-size: .65rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #888780;
  margin-bottom: 4px;
}

.ns-spot { display: flex; gap: 12px; padding: 12px 0; border-top: 1px solid var(--ns-border); }
.ns-spot .bar { width: 4px; border-radius: 2px; flex-shrink: 0; }
.ns-spot .bar--tolere { background: var(--ns-moss); }
.ns-spot .bar--discret { background: var(--ns-rust); }

.ns-temoignage {
  background: var(--ns-navy);
  color: var(--ns-chalk);
  padding: 24px 28px;
  border-radius: 12px;
  font-family: var(--ns-font-display);
  font-style: italic;
  margin-top: 24px;
}

/* ==========================================================
   5. GABARIT GRILLE GUIDE / BOUTIQUE (fallback)
   ========================================================== */
.ns-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 24px;
}
.ns-card {
  text-decoration: none;
  color: inherit;
  border: 1px solid var(--ns-border);
  border-radius: 10px;
  overflow: hidden;
  display: block;
  background: #FFFFFF;
}
.ns-card img, .ns-card .ns-card-placeholder {
  width: 100%;
  height: 120px;
  object-fit: cover;
  background: var(--ns-sand);
  display: block;
}
.ns-card-body { padding: 12px; }
.ns-card-title { font-weight: 600; color: var(--ns-navy); font-size: .9rem; }
.ns-card-meta { font-size: .75rem; color: #888780; margin-top: 2px; }

@media (max-width: 782px) {
  .ns-infos-pratiques { grid-template-columns: repeat(2, 1fr); }
  .ns-card-grid { grid-template-columns: repeat(2, 1fr); }
}
