/**
 * Samuday design tokens — mirrors the Figma variable collection
 * (file Bofbpa9vPIGyYpdbEh6Cam). Every widget and page style pulls from
 * these so a palette change stays a one-file edit.
 */

:root {
	/* ------------------------------------------------------------ Colour */
	--sd-primary-maroon: #7a1f1f;
	--sd-primary-maroon-dark: #5c1414;
	--sd-secondary-saffron: #e08a1e;
	--sd-secondary-saffron-soft: #fbebd2;
	--sd-accent-gold: #c9a24a;

	--sd-bg-cream: #fbf6ec;
	--sd-bg-cream-deep: #f4ead6;
	--sd-bg-dark: #2b1410;

	--sd-surface-white: #ffffff;
	--sd-surface-card-tint: #fffbf3;

	--sd-text-primary: #3b2416;
	--sd-text-muted: #7a6656;
	--sd-text-on-dark: #fff8ec;
	--sd-text-on-dark-muted: #d9c6a8;

	--sd-border-default: #e7dcc6;
	--sd-border-strong: #d6c39c;

	/* ----------------------------------------------------------- Shadow */
	--sd-shadow-card: 0 8px 24px rgba(59, 36, 20, 0.08);
	--sd-shadow-raised: 0 18px 44px -6px rgba(59, 36, 20, 0.16);

	/* ------------------------------------------------------- Typography */
	--sd-font-heading: "Rasa", Georgia, "Times New Roman", serif;
	--sd-font-body: "Mukta Vaani", "Noto Sans Gujarati", system-ui, sans-serif;

	--sd-fs-display: 64px;
	--sd-fs-h1: 52px;
	--sd-fs-h2: 40px;
	--sd-fs-h3: 28px;
	--sd-fs-h4: 22px;
	--sd-fs-body-lg: 19px;
	--sd-fs-body: 17px;
	--sd-fs-small: 15px;
	--sd-fs-nav: 16px;
	--sd-fs-button: 16px;
	--sd-fs-caption: 13px;

	/* ---------------------------------------------------------- Spacing */
	--sd-gutter: 100px;
	--sd-container: 1240px;
	--sd-radius-sm: 8px;
	--sd-radius: 12px;
	--sd-radius-lg: 20px;
	--sd-radius-pill: 999px;
}

/* The design's 100px gutter is a desktop measure; it has to collapse or
   narrow viewports lose most of their width to padding. */
@media (max-width: 1280px) {
	:root { --sd-gutter: 48px; }
}

@media (max-width: 767px) {
	:root {
		--sd-gutter: 20px;
		--sd-fs-display: 38px;
		--sd-fs-h1: 32px;
		--sd-fs-h2: 27px;
		--sd-fs-h3: 22px;
		--sd-fs-h4: 19px;
		--sd-fs-body-lg: 17px;
	}
}

/* ------------------------------------------------------ Type utilities */

.sd-display,
.sd-h1,
.sd-h2,
.sd-h3,
.sd-h4 {
	margin: 0;
	font-family: var(--sd-font-heading);
	color: var(--sd-text-primary);
}

.sd-display { font-size: var(--sd-fs-display); font-weight: 700; line-height: 1.08; letter-spacing: -0.5px; }
.sd-h1 { font-size: var(--sd-fs-h1); font-weight: 700; line-height: 1.12; letter-spacing: -0.5px; }
.sd-h2 { font-size: var(--sd-fs-h2); font-weight: 600; line-height: 1.18; letter-spacing: -0.3px; }
.sd-h3 { font-size: var(--sd-fs-h3); font-weight: 600; line-height: 1.25; }
.sd-h4 { font-size: var(--sd-fs-h4); font-weight: 600; line-height: 1.3; }

.sd-eyebrow {
	font-family: var(--sd-font-body);
	font-size: var(--sd-fs-caption);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--sd-secondary-saffron);
}

.sd-caption {
	font-family: var(--sd-font-body);
	font-size: var(--sd-fs-caption);
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.3px;
}

/* ------------------------------------------------------------ Container */

.sd-container {
	max-width: var(--sd-container);
	margin: 0 auto;
	padding-inline: var(--sd-gutter);
}

/* --------------------------------------------------------------- Button */

.sd-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 1px solid transparent;
	border-radius: var(--sd-radius-pill);
	padding: 13px 28px;
	font-family: var(--sd-font-body);
	font-size: var(--sd-fs-button);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.2px;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.sd-btn--primary { background-color: var(--sd-primary-maroon); color: var(--sd-text-on-dark); }
.sd-btn--primary:hover,
.sd-btn--primary:focus-visible { background-color: var(--sd-primary-maroon-dark); color: var(--sd-text-on-dark); }

.sd-btn--gold { background-color: var(--sd-accent-gold); color: var(--sd-bg-dark); }
.sd-btn--gold:hover,
.sd-btn--gold:focus-visible { background-color: var(--sd-secondary-saffron); color: var(--sd-bg-dark); }

.sd-btn--ghost {
	background-color: transparent;
	border-color: var(--sd-border-strong);
	color: var(--sd-primary-maroon);
}
.sd-btn--ghost:hover,
.sd-btn--ghost:focus-visible { background-color: var(--sd-secondary-saffron-soft); }

/* Keyboard focus must stay visible on every interactive element. */
.sd-btn:focus-visible,
.sd-card a:focus-visible {
	outline: 2px solid var(--sd-secondary-saffron);
	outline-offset: 2px;
}

/* ----------------------------------------------------------------- Card */

.sd-card {
	background-color: var(--sd-surface-card-tint);
	border: 1px solid var(--sd-border-default);
	border-radius: var(--sd-radius);
	box-shadow: var(--sd-shadow-card);
}

/* ------------------------------------------------- Page hero & prose */

.sd-crumbs {
	margin: 0 0 10px;
	font-family: var(--sd-font-body);
	font-size: var(--sd-fs-caption);
	font-weight: 600;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	color: var(--sd-text-muted);
}

.sd-lead {
	margin: 12px 0 0;
	max-width: 760px;
	font-family: var(--sd-font-body);
	font-size: var(--sd-fs-body-lg);
	line-height: 1.6;
	color: var(--sd-text-muted);
}

/* Elementor's text-editor wraps prose; keep it readable and on-brand. */
.elementor-widget-text-editor {
	font-family: var(--sd-font-body);
	font-size: var(--sd-fs-body);
	line-height: 1.7;
	color: var(--sd-text-primary);
}

.elementor-widget-text-editor p {
	margin: 0 0 1em;
	max-width: 76ch;
}

.elementor-widget-text-editor p:last-child { margin-bottom: 0; }

.elementor-widget-heading .elementor-heading-title {
	font-family: var(--sd-font-heading);
	color: var(--sd-text-primary);
}
