/* ================================================
   SHARED TOKENS (theme-independent)
   ================================================ */
:root {
  /* Spacing */
  --space-xs:  .25rem;
  --space-sm:  .5rem;
  --space-md:  1rem;
  --space-lg:  1.5rem;
  --space-xl:  2rem;
  --space-2xl: 3rem;

  /* Typography */
  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body:    'DM Sans', system-ui, -apple-system, sans-serif;

  /* Sizes */
  --text-xs:   .75rem;
  --text-sm:   .875rem;
  --text-base: 1rem;
  --text-lg:   1.125rem;
  --text-xl:   1.25rem;
  --text-2xl:  1.5rem;
  --text-3xl:  2rem;

  /* Radius */
  --radius-sm:   .375rem;
  --radius-md:   .75rem;
  --radius-lg:   1rem;
  --radius-xl:   1.25rem;
  --radius-full: 9999px;

  /* Transitions */
  --ease-out:   cubic-bezier(.2, .8, .2, 1);
  --ease-spring:cubic-bezier(.34, 1.56, .64, 1);
  --duration-fast:   150ms;
  --duration-normal: 250ms;
  --duration-slow:   400ms;

  /* Layout */
  --nav-height:  3.75rem;
  --sidebar-width: 14rem;
  --content-max:  120rem;
}

/* ================================================
   DARK THEME — Gallery Noir (default)
   ================================================ */
:root,
[data-theme="dark"] {
  --color-bg:            #0A0A0F;
  --color-bg-card:       #14141F;
  --color-bg-elevated:   #1E1E2E;
  --color-bg-hover:      #262638;
  --color-border:        #2A2A3A;
  --color-border-light:  #3A3A4A;

  --color-accent:        #D4A843;
  --color-accent-dim:    rgba(212, 168, 67, .15);
  --color-accent-hover:  #E0B850;
  --color-on-accent:     #0A0A0F;

  --color-text:          #E8E8F0;
  --color-text-secondary:#9898A8;
  --color-text-muted:    #68687A;

  --color-success:       #4ADE80;
  --color-danger:        #F87171;
  --color-warning:       #FBBF24;
  --color-info:          #60A5FA;

  --pin-black:           #444466;
  --pin-dark-blue:       #0033FF;
  --pin-gold:            #D4A843;
  --pin-green:           #22C55E;
  --pin-light-blue:      #38BDF8;
  --pin-orange:          #F97316;
  --pin-white:           #E8E8F0;
  --pin-yellow:          #FACC15;

  --shadow-sm:  0 1px 2px rgba(0,0,0,.4);
  --shadow-md:  0 4px 12px rgba(0,0,0,.5);
  --shadow-lg:  0 8px 24px rgba(0,0,0,.6);
  --shadow-glow:0 0 20px rgba(212,168,67,.25);

  --overlay-bg: rgba(0,0,0,.7);

  color-scheme: dark;
}

/* ================================================
   LIGHT THEME — Gallery Blanc
   ================================================ */
[data-theme="light"] {
  --color-bg:            #F7F6F3;
  --color-bg-card:       #FFFFFF;
  --color-bg-elevated:   #FFFFFF;
  --color-bg-hover:      #F0EFEC;
  --color-border:        #E0DDD8;
  --color-border-light:  #D0CDC8;

  --color-accent:        #B8922E;
  --color-accent-dim:    rgba(184, 146, 46, .1);
  --color-accent-hover:  #A07E22;
  --color-on-accent:     #FFFFFF;

  --color-text:          #1A1A1F;
  --color-text-secondary:#5A5A65;
  --color-text-muted:    #9898A0;

  --color-success:       #16A34A;
  --color-danger:        #DC2626;
  --color-warning:       #D97706;
  --color-info:          #2563EB;

  --pin-black:           #1a1a2e;
  --pin-dark-blue:       #0033CC;
  --pin-gold:            #B8922E;
  --pin-green:           #16A34A;
  --pin-light-blue:      #0EA5E9;
  --pin-orange:          #EA580C;
  --pin-white:           #D4D4D8;
  --pin-yellow:          #CA8A04;

  --shadow-sm:  0 1px 2px rgba(0,0,0,.06);
  --shadow-md:  0 4px 12px rgba(0,0,0,.08);
  --shadow-lg:  0 8px 24px rgba(0,0,0,.1);
  --shadow-glow:0 0 20px rgba(184,146,46,.15);

  --overlay-bg: rgba(0,0,0,.4);

  color-scheme: light;
}

/* System preference: auto mode */
@media (prefers-color-scheme: light) {
  [data-theme="auto"] {
    --color-bg:            #F7F6F3;
    --color-bg-card:       #FFFFFF;
    --color-bg-elevated:   #FFFFFF;
    --color-bg-hover:      #F0EFEC;
    --color-border:        #E0DDD8;
    --color-border-light:  #D0CDC8;

    --color-accent:        #B8922E;
    --color-accent-dim:    rgba(184, 146, 46, .1);
    --color-accent-hover:  #A07E22;
    --color-on-accent:     #FFFFFF;

    --color-text:          #1A1A1F;
    --color-text-secondary:#5A5A65;
    --color-text-muted:    #9898A0;

    --color-success:       #16A34A;
    --color-danger:        #DC2626;
    --color-warning:       #D97706;
    --color-info:          #2563EB;

    --pin-black:           #1a1a2e;
    --pin-dark-blue:       #0033CC;
    --pin-gold:            #B8922E;
    --pin-green:           #16A34A;
    --pin-light-blue:      #0EA5E9;
    --pin-orange:          #EA580C;
    --pin-white:           #D4D4D8;
    --pin-yellow:          #CA8A04;

    --shadow-sm:  0 1px 2px rgba(0,0,0,.06);
    --shadow-md:  0 4px 12px rgba(0,0,0,.08);
    --shadow-lg:  0 8px 24px rgba(0,0,0,.1);
    --shadow-glow:0 0 20px rgba(184,146,46,.15);

    --overlay-bg: rgba(0,0,0,.4);

    color-scheme: light;
  }
}
