/*
Theme Name: Nikolov & Partners
Theme URI: https://np-law.bg
Author: Nikolov & Partners
Description: Custom WordPress theme for Nikolov & Partners Law Firm
Version: 1.0.0
Text Domain: np-law
*/

/* ==========================================================================
   Design Tokens — CSS Custom Properties
   ========================================================================== */

:root {
	/* ---- Colors ---- */
	--color-primary:       #002871;
	--color-primary-light: #003d99;
	--color-primary-dark:  #001a4d;
	--color-accent:        #D4A853;
	--color-accent-light:  #e0be78;
	--color-accent-dark:   #b8903d;

	/* Neutrals */
	--color-bg:            #ffffff;
	--color-bg-alt:        #f9fafb;
	--color-bg-card:       #f8f8f8;
	--color-border:        #eaeaea;
	--color-border-dark:   #d1d5db;

	/* Text */
	--color-text:          #1a1d23;
	--color-text-body:     #4b5563;
	--color-text-muted:    #ababab;
	--color-text-inverse:  #ffffff;

	/* Functional */
	--color-success:       #16a34a;
	--color-error:         #dc2626;
	--color-warning:       #f59e0b;

	/* ---- Typography ---- */
	--font-heading:  'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--font-body:     'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	/* Font sizes — fluid scale */
	--text-xs:    0.75rem;    /* 12px */
	--text-sm:    0.875rem;   /* 14px */
	--text-base:  1rem;       /* 16px */
	--text-lg:    1.125rem;   /* 18px */
	--text-xl:    1.25rem;    /* 20px */
	--text-2xl:   1.5rem;     /* 24px */
	--text-3xl:   1.875rem;   /* 30px */
	--text-4xl:   2.25rem;    /* 36px */
	--text-5xl:   3rem;       /* 48px */
	--text-6xl:   3.75rem;    /* 60px */
	--text-hero:  clamp(2.5rem, 5vw, 5rem); /* Responsive hero */

	/* Font weights */
	--weight-light:     300;
	--weight-regular:   400;
	--weight-medium:    500;
	--weight-semibold:  600;
	--weight-bold:      700;
	--weight-extrabold: 800;
	--weight-black:     900;

	/* Line heights */
	--leading-tight:   1.15;
	--leading-snug:    1.3;
	--leading-normal:  1.6;
	--leading-relaxed: 1.8;

	/* Letter spacing */
	--tracking-tight:  -0.02em;
	--tracking-normal:  0;
	--tracking-wide:    0.05em;
	--tracking-wider:   0.1em;

	/* ---- Spacing ---- */
	--space-xs:   0.25rem;   /* 4px */
	--space-sm:   0.5rem;    /* 8px */
	--space-md:   1rem;      /* 16px */
	--space-lg:   1.5rem;    /* 24px */
	--space-xl:   2rem;      /* 32px */
	--space-2xl:  3rem;      /* 48px */
	--space-3xl:  4rem;      /* 64px */
	--space-4xl:  6rem;      /* 96px */
	--space-5xl:  8rem;      /* 128px */

	/* ---- Layout ---- */
	--container-max:    1200px;
	--container-narrow: 800px;
	--container-wide:   1400px;
	--container-pad:    1.5rem;

	/* ---- Borders & Radius ---- */
	--radius-sm:   4px;
	--radius-md:   8px;
	--radius-lg:   12px;
	--radius-xl:   16px;
	--radius-2xl:  24px;
	--radius-full: 9999px;

	/* ---- Shadows ---- */
	--shadow-sm:   0 1px 2px rgba(0, 0, 0, 0.05);
	--shadow-md:   0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
	--shadow-lg:   0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
	--shadow-xl:   0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
	--shadow-card: 0 2px 8px rgba(0, 40, 113, 0.06);

	/* ---- Transitions ---- */
	--transition-fast:   150ms ease;
	--transition-base:   250ms ease;
	--transition-slow:   400ms ease;
	--transition-spring: 400ms cubic-bezier(0.34, 1.56, 0.64, 1);

	/* ---- Z-index scale ---- */
	--z-dropdown:  100;
	--z-sticky:    200;
	--z-overlay:   300;
	--z-modal:     400;
	--z-toast:     500;

	/* ---- Header ---- */
	--header-height: 80px;

	/* ---- Grid ---- */
	--grid-gap: var(--space-lg);
}

/* ==========================================================================
   Dark section overrides
   ========================================================================== */

.section-navy {
	--color-text:      #ffffff;
	--color-text-body: rgba(255, 255, 255, 0.85);
	--color-text-muted: rgba(255, 255, 255, 0.6);
	--color-border:    rgba(255, 255, 255, 0.15);
}
