/**
 * Cooking B — design tokens (single source of truth).
 */

:root {
	--color-primary: #C26678;
	--color-primary-dark: #A34F62;
	--color-primary-soft: #D98896;
	--color-secondary: #C98A7A;
	--color-cream: #FAF3EC;
	--color-beige: #F5E4E6;
	--color-beige-dark: #EDD8DA;
	--color-rose-gold: #C26678;
	--color-bg: #FAF3EC;
	--color-bg-elevated: #ffffff;
	--color-bg-muted: #F1E2E4;
	--color-bg-dark: #2A1E18;
	--color-text: #2A1E18;
	--color-text-muted: #6B574C;
	--color-text-soft: #9B8475;
	--color-text-inverse: #FAF3EC;
	--color-border: rgba(194, 102, 120, 0.16);
	--color-border-strong: rgba(194, 102, 120, 0.32);
	--color-border-light: rgba(194, 102, 120, 0.1);
	--color-border-base: #e5e5e5;
	--color-text-muted-fallback: #666;
	--color-white: #ffffff;
	--color-border-surface-low: #f6f3f2;
	--color-primary-mock: #C26678;
	--color-white-rgba: rgba(255, 255, 255, 0.85);
	--color-white-rgba-light: rgba(255, 255, 255, 0.35);
	--color-white-rgba-medium: rgba(255, 255, 255, 0.55);
	--color-danger-old: rgba(184, 92, 92, 0.1);
	--color-danger-border: rgba(184, 92, 92, 0.25);
	--color-success-old: rgba(110, 158, 122, 0.12);
	--color-success-border: rgba(110, 158, 122, 0.3);
	--color-primary-light-rgba: rgba(184, 92, 122, 0.08);
	--color-primary-border-rgba: rgba(184, 92, 122, 0.25);
	--color-shadow-dish: rgba(110, 50, 70, 0.28);

	/* Saffron brand variables — mapped to Cooking B warm palette */
	--saffron-primary: #C26678;
	--saffron-primary-dark: #A34F62;
	--saffron-primary-light: #D98896;
	--saffron-primary-hover: #A34F62;
	--saffron-text-on-primary: #ffffff;
	--saffron-radius-button: 50px;
	--saffron-transition-base: 0.2s ease;
	--saffron-shadow-active: 0 4px 12px rgba(163, 79, 98, 0.3);
	--saffron-sidebar-bg: #2A1E18;
	--saffron-text-secondary: rgba(250, 243, 236, 0.7);
	--color-shadow-dish-inner: rgba(110, 50, 70, 0.15);
	--color-shadow-inner: rgba(173, 130, 110, 0.25);
	--color-primary-shadow: rgba(184, 92, 122, 0.18);
	--color-primary-shadow-light: rgba(194, 102, 120, 0.04);
	--color-primary-shadow-medium: rgba(194, 102, 120, 0.08);
	--color-primary-shadow-strong: rgba(184, 92, 122, 0.1);
	--color-dokan-sidebar-text: rgba(250, 243, 236, 0.82);
	--color-primary-shadow-intense: rgba(184, 92, 122, 0.18);
	--shadow-dish-color: rgba(110, 50, 70, 0.28);
	--shadow-dish-inner-color: rgba(110, 50, 70, 0.15);
	--shadow-inner-color: rgba(173, 130, 110, 0.25);
	--color-market-shadow-1: rgba(110, 50, 70, 0.08);
	--color-market-shadow-2: rgba(110, 50, 70, 0.12);
	--color-header-overlay: rgba(42, 30, 24, 0.45);
	--color-accent: var(--color-primary);
	--color-accent-hover: var(--color-primary-dark);
	--color-link: var(--color-primary);
	--color-link-hover: var(--color-primary-dark);
	--color-link-visited: var(--color-primary-dark);
	--color-on-accent: var(--color-text-inverse);
	--color-positive: #C98A7A;
	--color-positive-bg: rgba(212, 149, 106, 0.16);
	--color-warning: #C98A3C;
	--color-warning-bg: rgba(201, 138, 60, 0.16);
	--color-danger: #B5503E;
	--color-danger-bg: rgba(181, 80, 62, 0.12);
	
	/* Brand-specific colors */
	--cb-ivory: #FAF3EC;
	--cb-rose-gold: #C26678;
	--cb-brick: #A34F62;
	--cb-copper: #C98A7A;
	--cb-peach: #DFA898;
	--cb-card: #F5E4E6;
	--cb-blush: #EDD8DA;
	--cb-espresso: #2A1E18;
	--cb-rose-soft: #D98896;
	--cb-peach-tint: #F6E2E4;
	--cb-ivory-deep: #F1E2E4;
	--cb-card-edge: #E7CDD0;
	--cb-amber: #E4B85F;
	--cb-cream-tint: #F5E8DC;
	
	/* Gradients */
	--gradient-warm: linear-gradient(135deg, #F6E2E4 0%, #DFA898 45%, #C26678 100%);
	--gradient-soft: linear-gradient(180deg, #FAF3EC 0%, #F5E8DC 100%);
	--gradient-rose: linear-gradient(135deg, #C26678 0%, #C98A7A 100%);
	--gradient-footer: linear-gradient(180deg, #2A1E18 0%, #1A1310 100%);
	--gradient-plate: radial-gradient(circle at 30% 25%, #fff 0%, transparent 45%),
	                   linear-gradient(135deg, #ffffff 0%, #F5E8DC 55%, #EDD8DA 100%);
	
	--shadow-rose: 0 4px 20px rgba(163, 79, 98, 0.06);
	
	--family-display: "Vazirmatn", "IRANSans", Tahoma, "Segoe UI", sans-serif;
	--family-body: "Vazirmatn", "IRANSans", Tahoma, "Segoe UI", sans-serif;
	--text-xs: 0.75rem;
	--text-sm: 0.875rem;
	--text-base: 1rem;
	--text-lg: 1.125rem;
	--text-xl: 1.375rem;
	--text-2xl: 1.75rem;
	--text-3xl: 2.25rem;
	--space-xs: 0.25rem;
	--space-sm: 0.5rem;
	--space-md: 1rem;
	--space-lg: 1.5rem;
	--space-xl: 2rem;
	--space-2xl: 3rem;
	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 0.75rem;
	--space-4: 1rem;
	--space-5: 1.25rem;
	--space-6: 1.5rem;
	--space-8: 2rem;
	--space-10: 2.5rem;
	--space-12: 3rem;
	--space-16: 4rem;
	--space-24: 6rem;
	--radius-sm: 8px;
	--radius-md: 14px;
	--radius-lg: 22px;
	--radius-xl: 32px;
	--radius-2xl: 44px;
	--radius-pill: 999px;
	--radius-full: 9999px;
	--shadow-xs: 0 1px 2px rgba(163, 79, 98, 0.06);
	--shadow-sm: 0 6px 18px rgba(163, 79, 98, 0.08);
	--shadow-md: 0 14px 38px rgba(163, 79, 98, 0.12);
	--shadow-lg: 0 28px 64px rgba(163, 79, 98, 0.18);
	--shadow-dish: 0 24px 38px -10px rgba(100, 40, 60, 0.32), 0 8px 16px -6px rgba(100, 40, 60, 0.2);
	--container-max: 1280px;
	--cb-content-max: 1140px;
	--cb-mobile-gutter: 15px;
	--header-height: 84px;
	--cb-admin-bar-height: 0px;
	--cb-main-top-gap: var(--space-6);
	--cb-site-chrome-top: var(--header-height);
	--font-sans: var(--family-body);
	--font-size-body: 1rem;
	--line-height-body: 1.6;
	--input-focus-border: var(--color-border-strong);
	--input-focus-ring: 0 0 0 3px rgba(194, 102, 120, 0.2);
	--input-focus-transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

html {
	font-size: 16px;
	direction: rtl;
	overflow-x: clip;
}

body.cb-site {
	font-family: var(--family-body);
	font-size: var(--font-size-body);
	line-height: var(--line-height-body);
	color: var(--color-text);
	background: var(--color-bg);
	overflow-x: clip;
}

/* Text links — brand rose, not browser default blue */
body.cb-site a {
	color: var(--color-link);
	text-decoration: none;
	transition: color 0.2s ease;
}

body.cb-site a:hover {
	color: var(--color-link-hover);
}

body.cb-site a:visited {
	color: var(--color-link-visited);
}

body.cb-site a:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
	border-radius: 2px;
}

body.cb-site .cb-course-block p a {
	font-weight: 600;
}

.cb-container {
	max-width: var(--cb-content-max);
	margin-inline: auto;
	padding-inline: var(--space-6);
	box-sizing: border-box;
}

@media (max-width: 767px) {
	.cb-container {
		padding-inline: var(--cb-mobile-gutter);
	}
}

h1 { font-size: 2.75rem; line-height: 1.2; font-family: var(--family-display); }
h2 { font-size: 2.125rem; line-height: 1.25; }
h3 { font-size: 1.75rem; line-height: 1.3; }
h4 { font-size: 1.375rem; line-height: 1.35; }
h5 { font-size: 1.125rem; line-height: 1.4; }
h6 { font-size: 1rem; line-height: 1.4; }

@media (max-width: 767px) {
	h1 { font-size: 1.75rem; }
	h2 { font-size: 1.5rem; }
	h3 { font-size: 1.375rem; }
}

.cb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	border-radius: var(--radius-pill);
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	border: 1px solid transparent;
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.cb-btn:hover { transform: translateY(-2px); }
.cb-btn--primary { background: var(--gradient-rose); color: var(--color-text-inverse); box-shadow: var(--shadow-md); padding: 0.85rem 1.6rem; }
.cb-btn--secondary { background: var(--color-bg-elevated); color: var(--color-primary); border-color: var(--color-border-strong); padding: 0.85rem 1.6rem; }
.cb-btn--ghost { background: transparent; color: var(--color-text); padding: 0.85rem 1.6rem; }
.cb-btn--dark { background: var(--color-text); color: var(--color-cream); padding: 0.85rem 1.6rem; }
.cb-btn--lg { padding: 1.05rem 2.1rem; font-size: var(--text-lg); }
.cb-btn--sm { padding: 0.55rem 1.1rem; font-size: var(--text-sm); }
.cb-btn__icon { display: inline-flex; align-items: center; }
.cb-btn--ghost:hover { background: var(--color-beige); }

/* UI chrome — components own link color and decoration */
body.cb-site a.cb-btn,
body.cb-site a[class*="cb-header__"],
body.cb-site .cb-header__cart-actions a,
body.cb-site a.cb-chip,
body.cb-site a.cb-blog-chip,
body.cb-site .cb-blog-cat-list a,
body.cb-site .cb-blog-featured__body h2 a,
body.cb-site a.cb-course-aside__item,
body.cb-site a.cb-course-reviews__pagination-link,
body.cb-site a.cb-cart__item-title,
body.cb-site a.cb-cart__item-img,
body.cb-site a.cb-cart__remove,
body.cb-site a.cb-cart__remove:hover,
body.cb-site a.cb-cart__remove:visited,
body.cb-site a.cb-dashboard__link,
body.cb-site a.cb-dish-card__plate-link,
body.cb-site a.cb-blog-card__media,
body.cb-site a.cb-blog-card__more,
body.cb-site .cb-dish-card__title a,
body.cb-site .cb-product-card__title a,
body.cb-site a.cb-product-card__media,
body.cb-site a.cb-product-card__vendor {
	text-decoration: none;
}

body.cb-site a.cb-btn--primary,
body.cb-site a.cb-btn--primary:hover,
body.cb-site a.cb-btn--primary:visited {
	color: var(--color-text-inverse);
}

body.cb-site a.cb-btn--secondary,
body.cb-site a.cb-btn--secondary:hover,
body.cb-site a.cb-btn--secondary:visited {
	color: var(--color-primary);
}

body.cb-site a.cb-btn--ghost,
body.cb-site a.cb-btn--ghost:hover,
body.cb-site a.cb-btn--ghost:visited {
	color: var(--color-text);
}

body.cb-site a.cb-btn--dark,
body.cb-site a.cb-btn--dark:hover,
body.cb-site a.cb-btn--dark:visited {
	color: var(--color-cream);
}

body.cb-site a.cb-header__nav-link,
body.cb-site a.cb-header__nav-link:visited {
	color: var(--color-text);
}

body.cb-site a.cb-header__nav-link:hover,
body.cb-site a.cb-header__nav-link.is-active {
	color: var(--color-primary);
}

body.cb-site a.cb-header__brand,
body.cb-site a.cb-header__brand:visited {
	color: inherit;
}

body.cb-site a.cb-header__icon-btn,
body.cb-site a.cb-header__icon-btn:visited {
	color: var(--color-text);
}

body.cb-site a.cb-header__icon-btn:hover {
	color: var(--color-primary);
}

body.cb-site a.cb-header__account,
body.cb-site a.cb-header__account:visited,
body.cb-site a.cb-header__account:hover {
	color: var(--color-text-inverse);
}

body.cb-site a.cb-header__cart-view,
body.cb-site a.cb-header__cart-view:visited,
body.cb-site a.cb-header__cart-view:hover {
	color: var(--color-primary-dark);
}

body.cb-site a.cb-header__cart-checkout:not(.cb-header__cart-checkout--secondary),
body.cb-site a.cb-header__cart-checkout:not(.cb-header__cart-checkout--secondary):visited,
body.cb-site a.cb-header__cart-checkout:not(.cb-header__cart-checkout--secondary):hover {
	color: var(--color-white);
}

body.cb-site a.cb-header__cart-checkout--secondary,
body.cb-site a.cb-header__cart-checkout--secondary:visited,
body.cb-site a.cb-header__cart-checkout--secondary:hover {
	color: var(--color-primary-dark);
}

body.cb-site .cb-dish-card__title a,
body.cb-site .cb-dish-card__title a:visited {
	color: inherit;
}

body.cb-site .cb-product-card__title a,
body.cb-site .cb-product-card__title a:visited {
	color: var(--color-text);
}

body.cb-site .cb-product-card__title a:hover {
	color: var(--color-primary);
}

body.cb-site a.cb-product-card__vendor,
body.cb-site a.cb-product-card__vendor:visited {
	color: var(--color-text-muted);
}

body.cb-site a.cb-product-card__vendor:hover {
	color: var(--color-primary-dark);
}

body.cb-site a.cb-cart__item-title,
body.cb-site a.cb-cart__item-title:visited {
	color: var(--color-text);
}

body.cb-site a.cb-cart__item-title:hover {
	color: var(--color-primary);
}

body.cb-site a.cb-course-reviews__pagination-link,
body.cb-site a.cb-course-reviews__pagination-link:visited {
	color: var(--color-text);
}

body.cb-site a.cb-course-reviews__pagination-link:hover,
body.cb-site a.cb-course-reviews__pagination-link.is-current,
body.cb-site a.cb-course-reviews__pagination-link.is-current:visited {
	color: var(--color-cream);
}

body.cb-site a.cb-course-aside__item,
body.cb-site a.cb-course-aside__item:visited {
	color: inherit;
}

body.cb-site a.cb-dashboard__link,
body.cb-site a.cb-dashboard__link:visited {
	color: var(--color-text);
}

body.cb-site a.cb-dashboard__link.is-active {
	color: var(--color-primary);
}

body.cb-site a.cb-blog-chip,
body.cb-site a.cb-blog-chip:visited {
	color: var(--color-text);
}

body.cb-site a.cb-blog-chip.is-active,
body.cb-site a.cb-blog-chip.is-active:visited {
	color: var(--color-cream);
}

body.cb-site .cb-blog-cat-list a,
body.cb-site .cb-blog-cat-list a:visited {
	color: var(--color-text);
}

body.cb-site .cb-blog-cat-list a.is-active,
body.cb-site .cb-blog-cat-list a.is-active:visited {
	color: var(--color-primary);
}

body.cb-site .cb-blog-featured__body h2 a,
body.cb-site .cb-blog-featured__body h2 a:visited {
	color: inherit;
}

body.cb-site .cb-blog-featured__body h2 a:hover {
	color: var(--color-primary);
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	word-wrap: normal;
}

.cb-skip-link.screen-reader-text {
	inset-inline-start: -9999px;
	top: auto;
}
