/*
Theme Name: Divi Child
Version: 1.0.0
Theme URI: http://www.elegantthemes.com/gallery/divi/
Template: Divi
Author: Gad Lab
Author URI: http://gadlab.net/
Description: Child theme stylesheet for 'Club du Chalet Blanc'. Provides imports, design tokens and documentation. Copyright: gadlab.net • 2025
*/
/* LOAD GLOBALS · ORDERED to match dependency chain :
------------------------------------------------------
1. STRUCTURE ( DOM ) 
2. STYLES ( graphic layer )
3. RTE ( typography )
4. PLUGINS ( add-on styles )
5. PAGES ( specific overrides )
--------------------------------------------------- */
@import url("cdcb-global-structure.css");
@import url("cdcb-global-graphics.css");
@import url("cdcb-global-rte.css");

/* LOAD PLUGINS CSS · Load before pages */
@import url("cdcb-wp-members.css");
@import url("cdcb-events-manager.css");
@import url("cdcb-plugin-popups.css");


/* LOAD PAGE-SPECIFIC CSS · Load last */
@import url("cdcb-page-login.css");


/* LOAD EM CUSTOM STYLES */
/*
@import url("cdcb-em-bookings.css");
@import url("cdcb-em-calendar.css");
*/

/*
INSTRUCTIONS OF USE · CDCB CHILD THEME
------------------------------------------------------
IMPORTANT : This stylesheet acts as an index. 
------------------------------------------------------
All functional rules
live in imported partials with consistent prefix `cdcb-`.
Keep this file lean: tokens + documentation only. 
It's recommended to add custom styles in separate files, 
to avoid conflicts with Divi core and 3rd-party plugins.
------------------------------------------------------
• FAVICON FILES (upload by FTP)
------------------------------------------------------
Location: /wp-content/themes/Divi-cdcb-gadlab/favicon/
  apple-touch-icon.png
  favicon-96x96.png
  favicon.ico
  favicon.svg
  site.webmanifest
  web-app-manifest-192x192.png
  web-app-manifest-512x512.png

Place these elements into <head> via Divi Theme Options:
<link rel="icon" type="image/png" href="/wp-content/themes/Divi-cdcb-gadlab/favicon/favicon-96x96.png" sizes="96x96" />
<link rel="icon" type="image/svg+xml" href="/wp-content/themes/Divi-cdcb-gadlab/favicon/favicon.svg" />
<link rel="shortcut icon" href="/wp-content/themes/Divi-cdcb-gadlab/favicon/favicon.ico" />
<link rel="apple-touch-icon" sizes="180x180" href="/wp-content/themes/Divi-cdcb-gadlab/favicon/apple-touch-icon.png" />
<meta name="apple-mobile-web-app-title" content="cdcb" />
<link rel="manifest" href="/wp-content/themes/Divi-cdcb-gadlab/favicon/site.webmanifest" />
*/

/* DESIGN TOKENS · CDCB
------------------------------------------------------
Centralized custom variables. Extend as needed.
*/
:root {
  /* -------------------------------------------------- */
  /* BRAND PALETTE */
  /* -------------------------------------------------- */
  --cdcb-primary: #000000;
  --cdcb-secondary: #ffffff;
  --cdcb-beige: #ECEBE4;
  --cdcb-gris: #878787;
  --cdcb-bordeaux: #a53944;
  --cdcb-jaune: #f8ac2c;
  --cdcb-rose: #cb8182;
  --cdcb-bleu-clair: #a3c4e8;
  --cdcb-accent: #FF4742; /* Login / CTA accent */
  
  /* ACCENT INTERACTION */
  --cdcb-accent-hover: #e63d39; /* rouge */
  --cdcb-accent-active: #c8322e; /* rouge plus foncé */
  --cdcb-accent-contrast: #ffffff;

  /* SEMANTIC COLORS */
  --cdcb-success: #198754;
  --cdcb-warning: #f8ac2c;
  --cdcb-error: #dc3545;
  --cdcb-info: #0dcaf0;

  /* NEUTRAL GRAYSCALE */
  --cdcb-grayscale-100: #ffffff;
  --cdcb-grayscale-200: #f8f9fa;
  --cdcb-grayscale-300: #e9ecef;
  --cdcb-grayscale-400: #dee2e6;
  --cdcb-grayscale-500: #ced4da;
  --cdcb-grayscale-600: #adb5bd;
  --cdcb-grayscale-700: #6c757d;
  --cdcb-grayscale-800: #495057;
  --cdcb-grayscale-900: #212529;

  /* OVERLAYS */
  --cdcb-overlay-light: rgba(255,255,255,0.6);
  --cdcb-overlay-dark: rgba(0,0,0,0.6);

  /* TYPOGRAPHY SCALE */
  --cdcb-font-base: 18px;
  --cdcb-line-height-base: 1.25rem;
  --cdcb-font-size-h1: 5rem;
  --cdcb-font-size-h2: 4rem;
  --cdcb-font-size-h3: 2.25rem;
  --cdcb-font-size-h4: 1.5rem;
  --cdcb-font-size-h5: 2.25rem;;
  --cdcb-font-size-h6: 1.5rem;
  --cdcb-font-weight-light: 300;
  --cdcb-font-weight-regular: 400;
  --cdcb-font-weight-semibold: 600;
  --cdcb-font-weight-bold: 700;
  --cdcb-line-height-heading: 1.25rem;

  /* FONT FAMILIES */
  --cdcb-font-sans: 'Open Sans 3', Helvetica, Arial, sans-serif;
  --cdcb-font-serif: 'Times New Roman', Times, serif;
  --cdcb-font-mono: 'Courier New', Courier, monospace;
  --cdcb-font-heading: 'Times New Roman', Times, serif;

  /* SPACING SCALE */
  --cdcb-space-xs: 0.25rem;
  --cdcb-space-sm: 0.5rem;
  --cdcb-space-md: 1rem;
  --cdcb-space-lg: 2rem;
  --cdcb-space-xl: 4rem;
  --cdcb-space-2xl: 6rem;
  --cdcb-space-3xl: 8rem;

  /* CONTAINERS */
  --cdcb-container-sm: 540px;
  --cdcb-container-md: 720px;
  --cdcb-container-lg: 960px;
  --cdcb-container-xl: 1140px;

  /* GRID GAPS */
  --cdcb-grid-gap-sm: 0.5rem;
  --cdcb-grid-gap-md: 1rem;
  --cdcb-grid-gap-lg: 2rem;

  /* RADIUS SCALE */
  --cdcb-radius-xs: 2px;
  --cdcb-radius-sm: 4px;
  --cdcb-radius-md: 6px;
  --cdcb-radius-lg: 10px;
  --cdcb-radius-pill: 999px;

  /* SHADOWS & ELEVATION */
  --cdcb-shadow-sm: 0 1px 2px rgba(0,0,0,.08);
  --cdcb-shadow-md: 0 2px 6px rgba(0,0,0,.12);
  --cdcb-shadow-lg: 0 4px 12px rgba(0,0,0,.16);
  --cdcb-shadow-focus: 0 0 0 3px rgba(13,110,253,.35);
  --cdcb-elevation-overlay: 0 8px 24px rgba(0,0,0,.2);

  /* TRANSITIONS & MOTION */
  --cdcb-transition-fast: 150ms;
  --cdcb-transition-base: 250ms;
  --cdcb-transition-slow: 400ms;
  --cdcb-ease-standard: cubic-bezier(.4,0,.2,1);
  --cdcb-ease-entrance: cubic-bezier(0.2, 0.8, 0.2, 1);
  --cdcb-ease-exit: cubic-bezier(0.4, 0, 1, 1);
  --cdcb-motion-factor: 1; /* set to 0 for reduced motion adjustments */

  /* BREAKPOINTS */
  --cdcb-breakpoint-xs: 480px;
  --cdcb-breakpoint-sm: 640px;
  --cdcb-breakpoint-md: 768px;
  --cdcb-breakpoint-lg: 1024px;
  --cdcb-breakpoint-xl: 1280px;

  /* Z-INDEX LAYERS */
  --cdcb-z-base: 0;
  --cdcb-z-dropdown: 1000;
  --cdcb-z-sticky: 1020;
  --cdcb-z-modal: 1050;
  --cdcb-z-toast: 1100;

  /* FOCUS / ACCESSIBILITY */
  --cdcb-focus-ring-color: var(--cdcb-primary);
  --cdcb-focus-ring-width: 2px;
  --cdcb-focus-ring-offset: 2px;

  /* FORM INPUTS */
  --cdcb-input-padding-y: .5rem;
  --cdcb-input-padding-x: .75rem;
  --cdcb-input-border-color: var(--cdcb-neutral-500);
  --cdcb-input-border-radius: var(--cdcb-radius-sm);
  --cdcb-input-bg: #ffffff;
  --cdcb-input-bg-focus: #ffffff;
  --cdcb-input-shadow-focus: 0 0 0 3px rgba(13,110,253,.25);

  /* BOOTSTRAP VARIABLE MAPPING (optional overrides) */
  --bs-primary: var(--cdcb-primary);
  --bs-secondary: var(--cdcb-secondary);
  --bs-body-color: var(--cdcb-neutral-900);
  --bs-body-bg: var(--cdcb-neutral-100);
  --bs-font-sans-serif: var(--cdcb-font-sans);
  --bs-font-serif: var(--cdcb-font-serif);
  --bs-font-monospace: var(--cdcb-font-mono);
}
