/*
 * Tadreep Design System — Phase 9C tokens, implemented exactly as
 * approved. Every value here traces back to the Phase 9C specification;
 * nothing invented at implementation time.
 */

/* ===== Self-hosted Cairo (Phase 9C §C) ===== */
@font-face {
	font-family: 'Cairo';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/cairo-arabic-400-normal.woff2') format('woff2');
	unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC;
}
@font-face {
	font-family: 'Cairo';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('../fonts/cairo-arabic-600-normal.woff2') format('woff2');
	unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC;
}
@font-face {
	font-family: 'Cairo';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('../fonts/cairo-arabic-700-normal.woff2') format('woff2');
	unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC;
}
@font-face {
	font-family: 'Cairo';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/cairo-latin-400-normal.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F;
}
@font-face {
	font-family: 'Cairo';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('../fonts/cairo-latin-600-normal.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F;
}
@font-face {
	font-family: 'Cairo';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('../fonts/cairo-latin-700-normal.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F;
}

/* ===== Tokens (Phase 9C §A-F) ===== */
:root {
	/* Colors - approved, final */
	--color-navy-950: #001130;
	--color-navy-800: #041E52;
	--color-navy-700: #0A2C6E;
	--color-turquoise-500: #03C4C4;
	--color-turquoise-600: #02A3A3;
	--color-turquoise-50: #E6FBFB;
	--color-white: #FFFFFF;
	--color-bg: #F7F9FC;
	--color-surface: #FFFFFF;
	--color-border: #E4E9F2;
	--color-text-primary: #0F172A;
	--color-text-secondary: #64748B;
	--color-success: #16A34A;
	--color-success-bg: #ECFDF3;
	--color-warning: #D97706;
	--color-warning-bg: #FFFBEB;
	--color-danger: #DC2626;
	--color-danger-bg: #FEF2F2;

	/* Typography */
	--font-family: 'Cairo', 'Tahoma', sans-serif;
	--text-xs: 0.75rem;
	--text-sm: 0.875rem;
	--text-base: 1rem;
	--text-lg: 1.125rem;
	--text-xl: 1.5rem;
	--text-2xl: 2rem;
	--text-3xl: 2.75rem;

	/* Spacing */
	--space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px;
	--space-5: 20px; --space-6: 24px; --space-8: 32px; --space-10: 40px;
	--space-12: 48px; --space-16: 64px;

	/* Radius */
	--radius-sm: 6px; --radius-md: 10px; --radius-lg: 14px; --radius-full: 999px;

	/* Shadows */
	--shadow-card: 0 1px 3px rgba(15, 23, 42, 0.08), 0 1px 2px rgba(15, 23, 42, 0.04);
	--shadow-card-hover: 0 4px 12px rgba(15, 23, 42, 0.10);
	--shadow-modal: 0 10px 40px rgba(15, 23, 42, 0.20);

	/* Buttons */
	--btn-sm: 32px; --btn-md: 40px; --btn-lg: 48px;
}

/* ===== Base ===== */
html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }

body.tadreep-site {
	font-family: var(--font-family);
	background: var(--color-bg);
	color: var(--color-text-primary);
	line-height: 1.5;
	margin: 0;
}

.tadreep-site h1, .tadreep-site h2, .tadreep-site h3, .tadreep-site h4 {
	line-height: 1.25;
	font-weight: 700;
	color: var(--color-navy-950);
	margin: 0 0 var(--space-4);
}

.tadreep-site a { color: var(--color-navy-800); text-decoration: none; }
.tadreep-site img { max-width: 100%; display: block; }

.tadreep-site :focus-visible {
	outline: 2px solid var(--color-turquoise-500);
	outline-offset: 2px;
}

.tadreep-container {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: var(--space-4);
}

@media (min-width: 960px) {
	.tadreep-container { padding-inline: var(--space-8); }
}

.tadreep-section { padding-block: var(--space-10); }
.tadreep-section-title {
	font-size: var(--text-xl);
	text-align: center;
	margin-block-end: var(--space-6);
}

/* ===== Buttons (Phase 9C §G) ===== */
.tadreep-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	height: var(--btn-md);
	padding-inline: var(--space-5);
	border-radius: var(--radius-md);
	font-family: var(--font-family);
	font-size: var(--text-base);
	font-weight: 600;
	border: 1px solid transparent;
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, opacity .15s ease;
}
.tadreep-btn:disabled { opacity: .5; cursor: not-allowed; }

a.tadreep-btn-primary { background: var(--color-navy-800); color: var(--color-white); }
a.tadreep-btn-primary:hover:not(:disabled) { background: var(--color-navy-700); }

.tadreep-btn-accent { background: var(--color-turquoise-500); color: var(--color-navy-950); }
.tadreep-btn-accent:hover:not(:disabled) { background: var(--color-turquoise-600); }

.tadreep-btn-secondary { background: transparent; color: var(--color-navy-800); border-color: var(--color-navy-800); }
.tadreep-btn-secondary:hover:not(:disabled) { background: var(--color-turquoise-50); }

.tadreep-btn-lg { height: var(--btn-lg); font-size: var(--text-lg); padding-inline: var(--space-6); }
.tadreep-btn-full { width: 100%; }

/* ===== Cards (Phase 9C §I) ===== */
.tadreep-card {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
	padding: var(--space-4);
}
.tadreep-card-hover:hover { box-shadow: var(--shadow-card-hover); }

/* ===== Badges ===== */
.tadreep-badge {
	display: inline-flex;
	align-items: center;
	gap: var(--space-1);
	font-size: var(--text-xs);
	font-weight: 600;
	padding: var(--space-1) var(--space-3);
	border-radius: var(--radius-full);
}
.tadreep-badge-online { background: var(--color-turquoise-50); color: var(--color-turquoise-600); }
.tadreep-badge-in-person { background: var(--color-success-bg); color: var(--color-success); }
.tadreep-badge-featured { background: var(--color-turquoise-50); color: var(--color-turquoise-600); }
.tadreep-badge-sponsored { background: var(--color-warning-bg); color: var(--color-warning); }

/* ===== Empty state (Phase 9C §W) ===== */
.tadreep-empty {
	text-align: center;
	color: var(--color-text-secondary);
	padding-block: var(--space-10);
}


/* ===== Narrow-screen safety ===== */
html, body { overflow-x: clip; }
img, video, iframe, table { max-inline-size: 100%; }
a { overflow-wrap: break-word; }

@media (max-width: 479px) {
	.tadreep-container { padding-inline: var(--space-3); }
	.tadreep-btn { min-block-size: 44px; }
	.tadreep-footer-grid { grid-template-columns: 1fr; }
	.tadreep-header-auth { flex-wrap: wrap; }
	.tadreep-header-auth .tadreep-btn { min-block-size: 44px; }
}
