/* Birth Book — design tokens (Editorial direction, locked 2026-05-17).
   Scope: body.aw-birth-book. Source: design/assets/css/tokens.css.
   Fonts: Noto Sans + Noto Serif + Caveat — cover 21 langs roadmap. */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@300;400;500;600;700;800&family=Noto+Serif:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Noto+Sans+Arabic:wght@300..800&family=Noto+Sans+Devanagari:wght@300..800&family=Noto+Sans+JP:wght@300..800&family=Noto+Sans+KR:wght@300..800&family=Caveat:wght@400;500;600;700&display=swap');

.aw-birth-book {
	--bb-bg:           #FAF5EE;
	--bb-bg-deep:      #F1E8D9;
	--bb-surface:      #FFFFFF;
	--bb-surface-alt:  #F7EFE2;
	--bb-ink:          #2A2520;
	--bb-ink-muted:    #6B5F53;
	--bb-ink-subtle:   #9C8E80;
	--bb-rule:         rgba(42, 37, 32, 0.12);
	--bb-rule-soft:    rgba(42, 37, 32, 0.06);

	--bb-accent:       #B76E79;
	--bb-accent-deep:  #93525B;
	--bb-accent-soft:  #E8C9CC;
	--bb-accent-2:     #7A8B6F;
	--bb-accent-3:     #C9A88E;
	--bb-gold:         #B98E4E;

	--bb-radius-sm: 4px;
	--bb-radius-md: 8px;
	--bb-radius-lg: 16px;
	--bb-radius-xl: 24px;
	--bb-radius-pill: 999px;

	--bb-shadow-sm: 0 1px 2px rgba(42,37,32,0.04), 0 1px 1px rgba(42,37,32,0.06);
	--bb-shadow-md: 0 8px 24px rgba(42,37,32,0.08), 0 2px 4px rgba(42,37,32,0.04);
	--bb-shadow-lg: 0 24px 60px rgba(42,37,32,0.14), 0 8px 20px rgba(42,37,32,0.08);
	--bb-shadow-cover: 0 30px 60px -20px rgba(42,37,32,0.4), 0 18px 36px -18px rgba(42,37,32,0.3);

	--bb-font-display: 'Noto Sans', 'Noto Sans Devanagari', 'Noto Sans KR', 'Noto Sans JP', 'Noto Sans Arabic', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
	--bb-font-heading: 'Noto Sans', 'Noto Sans Devanagari', 'Noto Sans KR', 'Noto Sans JP', 'Noto Sans Arabic', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
	--bb-font-body:    'Noto Sans', 'Noto Sans Devanagari', 'Noto Sans KR', 'Noto Sans JP', 'Noto Sans Arabic', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
	--bb-font-cover:   'Noto Serif', 'Noto Sans Devanagari', 'Noto Sans KR', 'Noto Sans JP', 'Noto Sans Arabic', Georgia, serif;
	--bb-font-script:  'Caveat', 'Noto Sans', cursive;
	--bb-font-mono:    ui-monospace, 'SF Mono', 'Monaco', 'Cascadia Code', 'Roboto Mono', 'Courier New', monospace;

	--bb-letter-display: -0.02em;
	--bb-letter-heading: -0.015em;
	--bb-letter-overline: 0.14em;
}

/* Type utilities — used inline by landing/configurator/product templates. */
.aw-birth-book .bb-display {
	font-family: var(--bb-font-display);
	font-weight: 700;
	letter-spacing: var(--bb-letter-display);
	line-height: 1.06;
}
.aw-birth-book .bb-heading {
	font-family: var(--bb-font-heading);
	font-weight: 600;
	letter-spacing: var(--bb-letter-heading);
	line-height: 1.2;
}
.aw-birth-book .bb-overline {
	font-family: var(--bb-font-body);
	text-transform: uppercase;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: var(--bb-letter-overline);
	color: var(--bb-ink-muted);
}
.aw-birth-book .bb-body {
	font-family: var(--bb-font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--bb-ink);
}
/* AstroBook redesign — handwritten accent on emphasized heading words ("почерк Лілії") */
.aw-birth-book .bb-display em,
.aw-birth-book .bb-heading em,
.aw-birth-book h1 em,
.aw-birth-book h2 em {
	font-family: var(--bb-font-script);
	font-style: normal;
	font-weight: 700;
	color: var(--bb-accent);
	letter-spacing: 0.01em;
}
.aw-birth-book .bb-muted  { color: var(--bb-ink-muted); }
.aw-birth-book .bb-subtle { color: var(--bb-ink-subtle); }
.aw-birth-book .bb-rule   { border-top: 1px solid var(--bb-rule); }

/* Buttons */
.aw-birth-book .bb-btn {
	font-family: var(--bb-font-body);
	font-weight: 500;
	font-size: 15px;
	letter-spacing: 0.01em;
	border: none;
	cursor: pointer;
	padding: 14px 28px;
	border-radius: var(--bb-radius-pill);
	transition: transform 0.15s ease, box-shadow 0.2s ease, background 0.2s ease;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
}
.aw-birth-book .bb-btn-primary {
	background: var(--bb-ink);
	color: var(--bb-bg);
}
.aw-birth-book .bb-btn-primary:hover {
	transform: translateY(-1px);
	box-shadow: var(--bb-shadow-md);
}
.aw-birth-book .bb-btn-accent {
	background: var(--bb-accent);
	color: #fff;
}
.aw-birth-book .bb-btn-accent:hover {
	background: var(--bb-accent-deep);
	transform: translateY(-1px);
	box-shadow: var(--bb-shadow-md);
}
.aw-birth-book .bb-btn-ghost {
	background: transparent;
	color: var(--bb-ink);
	border: 1px solid var(--bb-rule);
}
.aw-birth-book .bb-btn-ghost:hover {
	background: var(--bb-bg);
	border-color: var(--bb-accent);
	color: var(--bb-accent);
	transform: translateY(-1px);
	box-shadow: var(--bb-shadow-md);
}

.aw-birth-book .bb-twinkle {
	color: var(--bb-accent);
	font-size: 0.7em;
	vertical-align: super;
}

/* Form controls */
.aw-birth-book .bb-input {
	font-family: var(--bb-font-body);
	font-size: 15px;
	color: var(--bb-ink);
	background: var(--bb-surface);
	border: 1px solid var(--bb-rule);
	border-radius: var(--bb-radius-md);
	padding: 12px 14px;
	width: 100%;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.aw-birth-book .bb-input:focus {
	outline: none;
	border-color: var(--bb-accent);
	box-shadow: 0 0 0 3px var(--bb-accent-soft);
}
.aw-birth-book .bb-input::placeholder {
	color: var(--bb-ink-subtle);
}

.aw-birth-book .bb-img-slot {
	background:
		repeating-linear-gradient(135deg, var(--bb-rule-soft) 0 1px, transparent 1px 12px),
		var(--bb-surface-alt);
	border: 1px solid var(--bb-rule);
	border-radius: var(--bb-radius-md);
	color: var(--bb-ink-subtle);
	font-family: ui-monospace, 'SF Mono', Menlo, monospace;
	font-size: 11px;
	letter-spacing: 0.04em;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 16px;
	line-height: 1.4;
}

/* Body baseline когда aw-birth-book class active. */
body.aw-birth-book {
	font-family: var(--bb-font-body);
	color: var(--bb-ink);
	background: var(--bb-bg);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
