/**
 * Ansaldi Design Tokens
 * Extracted from Figma designs
 *
 * @package Ansaldi
 */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap');

:root {
	/* Colors - Primary (from Figma) */
	--ansaldi-navy: #0F172A;
	--ansaldi-navy-heading: #1A2D5E;
	--ansaldi-blue: #135BEC;
	--ansaldi-blue-dark: #1050D4;
	--ansaldi-blue-light: #E1EBFF;
	--ansaldi-orange: #EC6F31;
	--ansaldi-orange-dark: #EA580C;

	/* Colors - Semantic */
	--ansaldi-success: #16A34A;
	--ansaldi-success-bg: #F0FDF4;
	--ansaldi-warning: #F59E0B;
	--ansaldi-warning-bg: #FFFBEB;
	--ansaldi-error: #EF4444;
	--ansaldi-error-bg: #FEF2F2;
	--ansaldi-info: #3B82F6;
	--ansaldi-info-bg: #EFF6FF;

	/* Colors - Neutral (from Figma) */
	--ansaldi-white: #FFFFFF;
	--ansaldi-bg: #FFFFFF;
	--ansaldi-bg-alt: #F8FAFC;
	--ansaldi-bg-card: #F8F9FC;
	--ansaldi-bg-gray: #F1F5F9;
	--ansaldi-bg-muted: #F6F6F8;
	--ansaldi-border: #E2E8F0;
	--ansaldi-border-light: #E7EBF3;
	--ansaldi-border-lightest: #F1F5F9;
	--ansaldi-border-dark: #CBD5E1;
	--ansaldi-text: #0F172A;
	--ansaldi-text-dark: #0D121B;
	--ansaldi-text-secondary: #475569;
	--ansaldi-text-muted: #94A3B8;
	--ansaldi-text-slate: #64748B;
	--ansaldi-text-link: #4C669A;
	--ansaldi-text-white: #FFFFFF;
	--ansaldi-text-heading: #334155;

	/* Typography */
	--ansaldi-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--ansaldi-font-mono: 'JetBrains Mono', 'Fira Code', monospace;

	/* Font Sizes */
	--ansaldi-text-xs: 0.75rem;    /* 12px */
	--ansaldi-text-sm: 0.875rem;   /* 14px */
	--ansaldi-text-base: 1rem;     /* 16px */
	--ansaldi-text-lg: 1.125rem;   /* 18px */
	--ansaldi-text-xl: 1.25rem;    /* 20px */
	--ansaldi-text-2xl: 1.5rem;    /* 24px */
	--ansaldi-text-3xl: 1.875rem;  /* 30px */
	--ansaldi-text-4xl: 2.25rem;   /* 36px */
	--ansaldi-text-5xl: 3rem;      /* 48px */

	/* Font Weights */
	--ansaldi-font-light: 300;
	--ansaldi-font-normal: 400;
	--ansaldi-font-medium: 500;
	--ansaldi-font-semibold: 600;
	--ansaldi-font-bold: 700;
	--ansaldi-font-extrabold: 800;

	/* Line Heights */
	--ansaldi-leading-tight: 1.25;
	--ansaldi-leading-snug: 1.375;
	--ansaldi-leading-normal: 1.5;
	--ansaldi-leading-relaxed: 1.625;

	/* Spacing */
	--ansaldi-space-1: 0.25rem;   /* 4px */
	--ansaldi-space-2: 0.5rem;    /* 8px */
	--ansaldi-space-3: 0.75rem;   /* 12px */
	--ansaldi-space-4: 1rem;      /* 16px */
	--ansaldi-space-5: 1.25rem;   /* 20px */
	--ansaldi-space-6: 1.5rem;    /* 24px */
	--ansaldi-space-8: 2rem;      /* 32px */
	--ansaldi-space-10: 2.5rem;   /* 40px */
	--ansaldi-space-12: 3rem;     /* 48px */
	--ansaldi-space-16: 4rem;     /* 64px */
	--ansaldi-space-20: 5rem;     /* 80px */

	/* Border Radius */
	--ansaldi-rounded-sm: 4px;
	--ansaldi-rounded: 6px;
	--ansaldi-rounded-md: 8px;
	--ansaldi-rounded-lg: 12px;
	--ansaldi-rounded-xl: 16px;
	--ansaldi-rounded-full: 9999px;

	/* Shadows (from Figma) */
	--ansaldi-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
	--ansaldi-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
	--ansaldi-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
	--ansaldi-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
	--ansaldi-shadow-btn-primary: 0 10px 15px -3px rgba(59, 130, 246, 0.3), 0 4px 6px -4px rgba(59, 130, 246, 0.3);
	--ansaldi-shadow-ring: 0 0 0 1px #E2E8F0;

	/* Layout */
	--ansaldi-container: 1280px;
	--ansaldi-container-padding: 32px;
	--ansaldi-header-height: 72px;
	--ansaldi-sidebar-width: 20%;

	/* Transitions */
	--ansaldi-transition: 150ms cubic-bezier(0.4, 0, 0.2, 1);
	--ansaldi-transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);

	/* Legacy aliases (used by ansaldi-main.css, ansaldi-woocommerce.css) */
	--ansaldi-secondary: var(--ansaldi-orange);
	--ansaldi-accent: var(--ansaldi-navy);
	--ansaldi-container-max: var(--ansaldi-container);
	--ansaldi-spacing-md: var(--ansaldi-space-4);
	--ansaldi-spacing-xl: var(--ansaldi-space-8);
	--ansaldi-radius-sm: var(--ansaldi-rounded-sm);
	--ansaldi-radius-md: var(--ansaldi-rounded-md);
}

/* Reset & Base */
*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

/* Aggressive reset — overrides style.css normalize */
input, button, textarea, select {
	border: none;
	outline: none;
	background: none;
	font-family: inherit;
	font-size: inherit;
	color: inherit;
	-webkit-appearance: none;
	appearance: none;
}

/* Override style.css type-specific selectors (higher specificity) */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea {
	border: none;
	border-radius: 0;
	padding: 0;
	color: inherit;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
textarea:focus {
	color: inherit;
	outline: none;
	border: none;
	box-shadow: none;
}

a { text-decoration: none; color: inherit; }
a:visited { color: inherit; }
a:focus { outline: none; }
a:active { color: inherit; }
button:focus { outline: none; }
ul, ol { list-style: none; margin: 0; padding: 0; }
img { max-width: 100%; height: auto; display: block; }

html {
	font-size: 16px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body {
	font-family: var(--ansaldi-font);
	font-size: var(--ansaldi-text-base);
	line-height: var(--ansaldi-leading-normal);
	color: var(--ansaldi-text);
	background-color: var(--ansaldi-bg);
}

/* Container */
.ansaldi-container {
	width: 100%;
	max-width: calc(var(--ansaldi-container) + var(--ansaldi-container-padding) * 2);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--ansaldi-container-padding);
	padding-right: var(--ansaldi-container-padding);
}

/* Material Symbols */
.material-symbols-outlined {
	font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
	font-size: 20px;
	vertical-align: middle;
}

/* ============================================
   RESPONSIVE VARIABLES
   ============================================ */
@media (max-width: 768px) {
	:root {
		--ansaldi-container-padding: 20px;
		--ansaldi-header-height: 64px;
	}
}

@media (max-width: 480px) {
	:root {
		--ansaldi-container-padding: 16px;
	}
}
