/* =========================================================================
   Saffron — Main stylesheet (original design system)
   ========================================================================= */

/* ---- Reset & base ---- */
*, *::before, *::after { box-sizing: border-box; }
body {
	margin: 0;
	font-family: var(--saffron-font-body);
	font-size: var(--saffron-fs-base);
	line-height: var(--saffron-lh-base);
	color: var(--saffron-body);
	background: var(--saffron-surface);
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--saffron-accent-dark); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3, h4 {
	font-family: var(--saffron-font-head);
	color: var(--saffron-ink);
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin: 0 0 .5em;
}
p { margin: 0 0 1.2em; }

.saffron-container { max-width: var(--saffron-container); margin-inline: auto; padding-inline: 1.25rem; }

.screen-reader-text {
	position: absolute !important; clip: rect(1px,1px,1px,1px);
	width: 1px; height: 1px; overflow: hidden; word-wrap: normal !important;
}
.saffron-skip-link { position: absolute; left: -9999px; top: 0; z-index: 100; }
.saffron-skip-link:focus {
	left: 1rem; top: 1rem; background: #fff; padding: .6rem 1rem;
	border-radius: 8px; box-shadow: var(--saffron-shadow);
}

/* ---- Buttons ---- */
.saffron-btn {
	display: inline-block; background: var(--saffron-accent); color: #fff;
	padding: .7rem 1.4rem; border-radius: 999px; font-weight: 700;
	transition: background .15s ease;
}
.saffron-btn:hover { background: var(--saffron-accent-dark); text-decoration: none; }

/* ---- Header ---- */
.saffron-header {
	position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.92);
	backdrop-filter: saturate(1.4) blur(8px);
	border-bottom: 1px solid var(--saffron-line);
}
.saffron-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 72px; }
.saffron-header.is-scrolled { box-shadow: var(--saffron-shadow); }
.saffron-logo, .custom-logo-link { font-weight: 800; font-size: 1.5rem; color: var(--saffron-ink); letter-spacing: -.03em; }
.saffron-logo:hover { text-decoration: none; }
.saffron-header__brand .custom-logo-link { display: inline-flex; align-items: center; }
.saffron-header__brand .custom-logo { max-height: 50px; width: auto; height: auto; }

.saffron-menu { list-style: none; display: flex; gap: 1.6rem; margin: 0; padding: 0; }
.saffron-menu a { color: var(--saffron-ink); font-weight: 600; font-size: .98rem; }
.saffron-menu a:hover { color: var(--saffron-accent-dark); text-decoration: none; }

.saffron-nav-toggle { display: none; background: none; border: 0; cursor: pointer; width: 40px; height: 40px; position: relative; }
.saffron-nav-toggle__bar, .saffron-nav-toggle__bar::before, .saffron-nav-toggle__bar::after {
	content: ""; position: absolute; left: 9px; right: 9px; height: 2px; background: var(--saffron-ink); transition: .2s;
}
.saffron-nav-toggle__bar { top: 19px; }
.saffron-nav-toggle__bar::before { top: -6px; } .saffron-nav-toggle__bar::after { top: 6px; }

/* ---- Layout ---- */
.saffron-main { display: block; padding-block: 2.5rem 3.5rem; }
.saffron-layout { display: grid; gap: var(--saffron-gap); }
.saffron-layout--sidebar { grid-template-columns: minmax(0,1fr) 320px; }
.saffron-layout__main--wide { max-width: var(--saffron-content); margin-inline: auto; }

/* ---- Card grid ---- */
.saffron-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--saffron-gap); }
.saffron-card { background: var(--saffron-surface); border-radius: var(--saffron-radius); overflow: hidden; transition: transform .18s ease, box-shadow .18s ease; }
.saffron-card:hover { transform: translateY(-3px); box-shadow: var(--saffron-shadow); }
.saffron-card__media { position: relative; display: block; aspect-ratio: 16/10; background: var(--saffron-surface-alt); overflow: hidden; }
.saffron-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.saffron-card:hover .saffron-card__media img { transform: scale(1.04); }
.saffron-card__placeholder { position: absolute; inset: 0; background: linear-gradient(135deg, #f3ede2, #e9e1d3); }
.saffron-card__tag {
	position: absolute; left: .75rem; top: .75rem; background: var(--saffron-accent);
	color: #fff; font-size: .72rem; font-weight: 700; text-transform: uppercase;
	letter-spacing: .04em; padding: .3rem .6rem; border-radius: 6px;
}
.saffron-card__body { padding: 1rem .25rem 0; }
.saffron-card__title { font-size: 1.18rem; margin-bottom: .4rem; }
.saffron-card__title a { color: var(--saffron-ink); }
.saffron-card__title a:hover { color: var(--saffron-accent-dark); text-decoration: none; }
.saffron-card__excerpt { color: var(--saffron-muted); font-size: .92rem; margin-bottom: .6rem; }
.saffron-card__facts { display: flex; gap: 1rem; font-size: .82rem; color: var(--saffron-muted); }

/* ---- Meta ---- */
.saffron-meta { font-size: .85rem; color: var(--saffron-muted); display: flex; gap: .5rem; align-items: center; }
.saffron-meta a { color: var(--saffron-body); font-weight: 600; }

/* ---- Hero ---- */
.saffron-hero { display: grid; grid-template-columns: 1.6fr 1fr; gap: var(--saffron-gap); margin-bottom: 3rem; }
.saffron-hero__side { display: grid; grid-template-columns: 120px 1fr; gap: 1rem; align-content: start; }
.saffron-hero__lead { grid-row: span 2; }
.saffron-hero__media { display: block; border-radius: var(--saffron-radius); overflow: hidden; background: var(--saffron-surface-alt); }
.saffron-hero__lead .saffron-hero__media { aspect-ratio: 16/10; }
.saffron-hero__side .saffron-hero__media { aspect-ratio: 1; }
.saffron-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.saffron-hero__lead .saffron-hero__title { font-size: 2.2rem; margin-top: .8rem; }
.saffron-hero__side { align-items: start; }
.saffron-hero__side .saffron-hero__title { font-size: 1.05rem; }
.saffron-hero__title a { color: var(--saffron-ink); }
.saffron-hero__excerpt { color: var(--saffron-muted); }

/* ---- Sections ---- */
.saffron-section { margin-bottom: 3rem; }
.saffron-section__head { display: flex; align-items: baseline; justify-content: space-between; border-bottom: 2px solid var(--saffron-ink); padding-bottom: .6rem; margin-bottom: 1.5rem; }
.saffron-section__title { font-size: 1.5rem; margin: 0; }
.saffron-section__more { font-weight: 700; font-size: .9rem; color: var(--saffron-accent-dark); }

/* ---- Page head ---- */
.saffron-page-head { margin-bottom: 2rem; }
.saffron-page-head__title { font-size: 2rem; }
.saffron-page-head__desc { color: var(--saffron-muted); }

/* ---- Single ---- */
.saffron-single__head { margin-bottom: 1.5rem; }
.saffron-single__cat { display: inline-block; color: var(--saffron-accent-dark); font-weight: 700; text-transform: uppercase; font-size: .78rem; letter-spacing: .05em; margin-bottom: .6rem; }
.saffron-single__title { font-size: clamp(1.8rem, 4vw, 2.6rem); }
.saffron-single__media { margin: 0 0 1.8rem; border-radius: var(--saffron-radius); overflow: hidden; }
.saffron-prose { font-size: 1.06rem; }
.saffron-prose h2 { font-size: 1.6rem; margin-top: 2rem; }
.saffron-prose h3 { font-size: 1.3rem; margin-top: 1.6rem; }
.saffron-prose img { border-radius: var(--saffron-radius); margin: 1.5rem 0; }
.saffron-prose blockquote { border-left: 4px solid var(--saffron-accent); margin: 1.5rem 0; padding: .4rem 0 .4rem 1.2rem; color: var(--saffron-ink); font-style: italic; }
.saffron-tags { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.saffron-tags a { background: var(--saffron-surface-alt); padding: .3rem .8rem; border-radius: 999px; font-size: .82rem; color: var(--saffron-body); }

/* ---- Recipe card ---- */
.saffron-recipe { border: 1px solid var(--saffron-line); border-radius: var(--saffron-radius); padding: 1.8rem; margin: 2.5rem 0; background: var(--saffron-surface-alt); }
.saffron-recipe__head { border-bottom: 1px solid var(--saffron-line); padding-bottom: 1rem; margin-bottom: 1.2rem; }
.saffron-recipe__title { font-size: 1.5rem; margin: 0; }
.saffron-recipe__facts { list-style: none; display: flex; flex-wrap: wrap; gap: 1.5rem; margin: 0 0 1.5rem; padding: 0; }
.saffron-recipe__fact { display: flex; flex-direction: column; }
.saffron-recipe__fact-label { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--saffron-muted); font-weight: 700; }
.saffron-recipe__fact-value { font-size: 1.1rem; font-weight: 800; color: var(--saffron-ink); }
.saffron-recipe__cols { display: grid; grid-template-columns: 1fr 1.4fr; gap: 2rem; }
.saffron-recipe__subtitle { font-size: 1.2rem; border-bottom: 2px solid var(--saffron-accent); display: inline-block; padding-bottom: .2rem; }
.saffron-recipe__ingredient-list { list-style: none; padding: 0; margin: 0; }
.saffron-recipe__ingredient-list li { padding: .4rem 0; border-bottom: 1px dashed var(--saffron-line); }
.saffron-recipe__ingredient-list label { display: flex; gap: .6rem; cursor: pointer; }
.saffron-recipe__ingredient-list input:checked + span { text-decoration: line-through; color: var(--saffron-muted); }
.saffron-recipe__step-list { padding-left: 0; list-style: none; counter-reset: step; }
.saffron-recipe__step-list li { position: relative; padding: 0 0 1.1rem 2.6rem; counter-increment: step; }
.saffron-recipe__step-list li::before {
	content: counter(step); position: absolute; left: 0; top: -.1rem;
	width: 1.8rem; height: 1.8rem; background: var(--saffron-accent); color: #fff;
	border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: .9rem;
}

/* ---- Sidebar / widgets ---- */
.saffron-sidebar .widget { margin-bottom: 2rem; }
.saffron-sidebar .widget__title { font-size: 1.1rem; border-bottom: 2px solid var(--saffron-ink); padding-bottom: .4rem; margin-bottom: 1rem; }

/* ---- Footer ---- */
.saffron-footer { margin-top: 3rem; background: var(--saffron-ink); color: #cfcbc3; }
.saffron-footer__inner { display: flex; justify-content: space-between; gap: 2rem; padding-block: 2.5rem; flex-wrap: wrap; }
.saffron-footer .saffron-logo { color: #fff; }
.saffron-footer__desc { color: #a8a39a; max-width: 32ch; margin-top: .5rem; }
.saffron-footer-menu { list-style: none; display: flex; gap: 1.2rem; padding: 0; margin: 0; flex-wrap: wrap; }
.saffron-footer-menu a { color: #cfcbc3; }
.saffron-footer__bar { border-top: 1px solid rgba(255,255,255,.1); }
.saffron-copyright { padding-block: 1.2rem; margin: 0; font-size: .85rem; color: #8d887f; }

/* ---- Pagination ---- */
.pagination, .navigation.pagination { margin-top: 2.5rem; }
.pagination .nav-links { display: flex; gap: .5rem; flex-wrap: wrap; }
.pagination .page-numbers { padding: .5rem .9rem; border-radius: 8px; background: var(--saffron-surface-alt); color: var(--saffron-body); font-weight: 600; }
.pagination .page-numbers.current { background: var(--saffron-accent); color: #fff; }

/* ---- 404 ---- */
.saffron-404 { text-align: center; padding-block: 4rem; max-width: 560px; }
.saffron-404 { margin-inline: auto; }
.saffron-404__code { font-size: 5rem; font-weight: 900; color: var(--saffron-accent); margin: 0; line-height: 1; }
.saffron-404__title { font-size: 1.8rem; }

/* ---- Responsive ---- */
@media (max-width: 980px) {
	.saffron-layout--sidebar { grid-template-columns: 1fr; }
	.saffron-recipe__cols { grid-template-columns: 1fr; }
	.saffron-hero { grid-template-columns: 1fr; }
	.saffron-hero__lead { grid-row: auto; }
}
@media (max-width: 720px) {
	.saffron-nav-toggle { display: block; }
	.saffron-nav { position: fixed; inset: 72px 0 auto 0; background: #fff; border-bottom: 1px solid var(--saffron-line); transform: translateY(-120%); transition: transform .25s ease; }
	.saffron-nav.is-open { transform: translateY(0); }
	.saffron-menu { flex-direction: column; gap: 0; padding: .5rem 1.25rem 1rem; }
	.saffron-menu a { display: block; padding: .8rem 0; border-bottom: 1px solid var(--saffron-line); }
	.saffron-hero__lead .saffron-hero__title { font-size: 1.6rem; }
}

/* =========================================================================
   Saffron — Premium layer (homepage mosaic, overlay cards, badges)
   ========================================================================= */

.saffron-home { padding-top: .5rem; }

/* ---- Inline icons ---- */
.saffron-ico { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vertical-align: -2px; margin-right: 4px; }

/* ---- Featured mosaic: 1 lead + 4 small ---- */
.saffron-mosaic {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	grid-auto-rows: 236px;
	gap: 1rem;
	margin-bottom: 3.5rem;
}
.saffron-feat { position: relative; border-radius: var(--saffron-radius); overflow: hidden; height: 100%; min-height: 220px; }
.saffron-feat--lead { grid-column: 1; grid-row: span 2; }
.saffron-feat__link { display: block; position: absolute; inset: 0; color: #fff; }
.saffron-feat__link:hover { text-decoration: none; }
.saffron-feat__media { position: absolute; inset: 0; background: var(--saffron-surface-alt); }
.saffron-feat__img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.saffron-feat:hover .saffron-feat__img { transform: scale(1.06); }
.saffron-feat__placeholder { position: absolute; inset: 0; background: linear-gradient(135deg, #efe6d6, #d8c9ad); }
.saffron-feat__shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(20,18,15,.86) 0%, rgba(20,18,15,.30) 45%, rgba(20,18,15,0) 70%); }
.saffron-feat__body { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.25rem; display: flex; flex-direction: column; gap: .5rem; }
.saffron-feat__tag {
	align-self: flex-start; background: var(--saffron-accent); color: #fff;
	font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em;
	padding: .28rem .6rem; border-radius: 5px;
}
.saffron-feat__title { font-family: var(--saffron-font-head); font-weight: 800; line-height: 1.18; letter-spacing: -.02em; }
.saffron-feat--small .saffron-feat__title { font-size: 1.1rem; }
.saffron-feat--lead .saffron-feat__title { font-size: 2rem; max-width: 16ch; }
.saffron-feat__meta { font-size: .8rem; opacity: .85; font-weight: 600; }

/* ---- Grid density modifiers ---- */
.saffron-grid--4 { grid-template-columns: repeat(4, 1fr); }
.saffron-grid--3 { grid-template-columns: repeat(3, 1fr); }

/* ---- Section heads: refined ---- */
.saffron-section__head { border-bottom-width: 1px; border-color: var(--saffron-line); align-items: center; }
.saffron-section__title { position: relative; padding-left: .9rem; }
.saffron-section__title::before {
	content: ""; position: absolute; left: 0; top: .15em; bottom: .15em;
	width: 5px; border-radius: 3px; background: var(--saffron-accent);
}
.saffron-section__more { display: inline-flex; align-items: center; gap: .3rem; transition: gap .15s ease; }
.saffron-section__more:hover { gap: .55rem; text-decoration: none; }

/* ---- Card: premium refinement ---- */
.saffron-card { border: 1px solid transparent; }
.saffron-card:hover { border-color: var(--saffron-line); box-shadow: 0 14px 36px rgba(28,27,25,.10); }
.saffron-card__body { padding: 1rem 1rem 1.15rem; }
.saffron-card__title { font-size: 1.12rem; line-height: 1.3; }
.saffron-card__facts { align-items: center; margin-top: .5rem; padding-top: .7rem; border-top: 1px dashed var(--saffron-line); }
.saffron-card__fact { display: inline-flex; align-items: center; font-weight: 600; }

/* Difficulty pills */
.saffron-card__fact--diff {
	margin-left: auto; font-size: .68rem; font-weight: 800; text-transform: uppercase;
	letter-spacing: .05em; padding: .2rem .55rem; border-radius: 999px;
}
.saffron-diff--easy   { background: #e7f3e7; color: #2f7d33; }
.saffron-diff--medium { background: #fbf0dd; color: #b5731a; }
.saffron-diff--hard   { background: #f7e3e1; color: #b13a2c; }

/* ---- Recipe card: premium ---- */
.saffron-recipe { box-shadow: var(--saffron-shadow); background: var(--saffron-surface); border: 1px solid var(--saffron-line); }
.saffron-recipe__facts { background: var(--saffron-surface-alt); border-radius: 10px; padding: 1rem 1.2rem; gap: 1.8rem; }

/* ---- Responsive ---- */
@media (max-width: 980px) {
	.saffron-grid--4 { grid-template-columns: repeat(2, 1fr); }
	.saffron-grid--3 { grid-template-columns: repeat(2, 1fr); }
	.saffron-mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
	.saffron-feat--lead { grid-column: 1 / span 2; grid-row: auto; min-height: 340px; }
}
@media (max-width: 620px) {
	.saffron-grid, .saffron-grid--4, .saffron-grid--3 { grid-template-columns: 1fr; }
	.saffron-mosaic { grid-template-columns: 1fr; }
	.saffron-feat--lead { grid-column: 1; }
	.saffron-feat--lead .saffron-feat__title { font-size: 1.5rem; }
	.saffron-feat { min-height: 240px; }
}

/* =========================================================================
   Saffron — Card facts refinement (clean, no icons) + mosaic robustness
   ========================================================================= */
.saffron-card__facts {
	display: flex; align-items: center; gap: .85rem; flex-wrap: wrap;
	margin-top: .65rem; padding-top: .7rem;
	border-top: 1px solid var(--saffron-line);
	font-size: .82rem; color: var(--saffron-muted);
}
.saffron-card__fact { display: inline-flex; align-items: baseline; gap: .28rem; font-weight: 500; }
.saffron-card__fact + .saffron-card__fact { position: relative; padding-left: .85rem; }
.saffron-card__fact + .saffron-card__fact::before {
	content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
	width: 3px; height: 3px; border-radius: 50%; background: var(--saffron-muted); opacity: .6;
}
.saffron-card__num { font-weight: 800; color: var(--saffron-ink); font-size: .98rem; }

.saffron-card__chip {
	margin-left: auto; font-size: .66rem; font-weight: 800; text-transform: uppercase;
	letter-spacing: .05em; padding: .22rem .6rem; border-radius: 999px; line-height: 1.4;
}
.saffron-diff--easy   { background: #e7f3e7; color: #2f7d33; }
.saffron-diff--medium { background: #fbf0dd; color: #b5731a; }
.saffron-diff--hard   { background: #f7e3e1; color: #b13a2c; }

/* Mosaic: guarantee images always cover their cell regardless of source ratio */
.saffron-feat { background: var(--saffron-surface-alt); }
.saffron-feat__img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.saffron-feat__media, .saffron-feat__link { display: block; }

/* =========================================================================
   Saffron — Hero/featured overlay cards: keep text legible in ALL states
   (text sits on a dark image, so it must stay light — never inherit the
   global brown link colour on hover/focus, which is invisible on the photo)
   ========================================================================= */
.saffron-feat__link,
.saffron-feat__link:link,
.saffron-feat__link:visited,
.saffron-feat__link:hover,
.saffron-feat__link:focus,
.saffron-feat__link:active,
.saffron-feat__link:hover .saffron-feat__title,
.saffron-feat__link:focus .saffron-feat__title,
.saffron-feat__link:hover .saffron-feat__meta,
.saffron-feat__link:focus .saffron-feat__meta {
	color: #fff;
}
/* On hover, signal interactivity without a colour change: gentle lift + underline on the title only. */
.saffron-feat__link:hover .saffron-feat__title,
.saffron-feat__link:focus-visible .saffron-feat__title { text-decoration: underline; text-underline-offset: 3px; }
.saffron-feat__link:focus-visible { outline: 3px solid var(--saffron-accent); outline-offset: -3px; }

/* =========================================================================
   Saffron — Single recipe page (hero, 2-col, recipe card, social, reviews)
   ========================================================================= */

/* ---- Hero ---- */
.saffron-rhero { width: 100%; max-height: 520px; overflow: hidden; background: var(--saffron-surface-alt); }
.saffron-rhero__img { width: 100%; height: 100%; max-height: 520px; object-fit: cover; object-position: center; }

/* ---- 2-column layout ---- */
.saffron-rlayout { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 3rem; padding-block: 2.5rem 3.5rem; align-items: start; }
.saffron-rmain { min-width: 0; }
.saffron-rsidebar { position: sticky; top: 92px; display: flex; flex-direction: column; gap: 1.75rem; }

/* ---- Meta row ---- */
.saffron-rmeta { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; font-size: .9rem; color: var(--saffron-muted); margin-bottom: .9rem; }
.saffron-rmeta__cat { background: var(--saffron-accent); color: #fff; font-weight: 700; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; padding: .28rem .6rem; border-radius: 6px; }
.saffron-rmeta__cat:hover { background: var(--saffron-accent-dark); text-decoration: none; }
.saffron-rmeta__author { display: inline-flex; align-items: center; gap: .4rem; }
.saffron-rmeta__avatar { border-radius: 50%; }
.saffron-rmeta a { color: var(--saffron-body); font-weight: 600; }
.saffron-rmeta__sep { opacity: .5; }

.saffron-single__title { font-size: clamp(1.9rem, 4vw, 2.8rem); margin: 0 0 .6rem; }

/* ---- Star ratings ---- */
.saffron-stars { display: inline-flex; gap: 1px; line-height: 1; }
.saffron-star { color: #d9d2c6; font-size: 1.05em; }
.saffron-star.is-on { color: #f0a531; }
.saffron-rating-summary { display: flex; align-items: center; gap: .5rem; margin-bottom: 1.5rem; font-size: .9rem; color: var(--saffron-muted); }

/* ---- Fact strip (4 cells) ---- */
.saffron-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 2rem 0; border: 1px solid var(--saffron-line); border-radius: var(--saffron-radius); overflow: hidden; background: var(--saffron-surface-alt); }
.saffron-fact { display: flex; align-items: center; gap: .7rem; padding: 1.1rem 1.15rem; border-right: 1px solid var(--saffron-line); }
.saffron-fact:last-child { border-right: 0; }
.saffron-fact .saffron-ico { width: 26px; height: 26px; color: var(--saffron-accent); flex: none; }
.saffron-fact__body { display: flex; flex-direction: column; min-width: 0; }
.saffron-fact__label { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--saffron-muted); font-weight: 700; }
.saffron-fact__value { font-family: var(--saffron-font-head); font-weight: 800; font-size: 1.05rem; color: var(--saffron-ink); }

/* ---- Shared block titles ---- */
.saffron-block__title { display: flex; align-items: center; gap: .55rem; font-size: 1.4rem; margin: 0 0 1rem; }
.saffron-block__title .saffron-ico { width: 22px; height: 22px; color: var(--saffron-accent); }

/* ---- Ingredients + servings scaler ---- */
.saffron-ingredients { margin: 2.5rem 0; padding: 1.5rem 1.6rem; background: var(--saffron-surface-alt); border-radius: var(--saffron-radius); border: 1px solid var(--saffron-line); }
.saffron-ingredients__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.saffron-ingredients__head .saffron-block__title { margin: 0; }
.saffron-servings { display: inline-flex; align-items: center; gap: .5rem; background: var(--saffron-surface); border: 1px solid var(--saffron-line); border-radius: 999px; padding: .25rem .35rem; }
.saffron-servings__btn { width: 30px; height: 30px; border: 0; border-radius: 50%; background: var(--saffron-accent); color: #fff; font-size: 1.1rem; font-weight: 700; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: background .15s ease; }
.saffron-servings__btn:hover { background: var(--saffron-accent-dark); }
.saffron-servings__count { font-size: .88rem; font-weight: 600; color: var(--saffron-ink); padding: 0 .2rem; }
.saffron-ing-group { font-size: .82rem; text-transform: uppercase; letter-spacing: .06em; color: var(--saffron-accent-dark); font-weight: 800; margin: 1.1rem 0 .5rem; }
.saffron-ing-list { list-style: none; margin: 0 0 .25rem; padding: 0; }
.saffron-ing { margin: 0; }
.saffron-ing label { display: flex; align-items: flex-start; gap: .7rem; padding: .5rem 0; cursor: pointer; border-bottom: 1px dashed var(--saffron-line); }
.saffron-ing:last-child label { border-bottom: 0; }
.saffron-ing__check { position: absolute; opacity: 0; width: 0; height: 0; }
.saffron-ing__box { flex: none; width: 22px; height: 22px; border: 2px solid var(--saffron-line); border-radius: 6px; background: var(--saffron-surface); display: inline-flex; align-items: center; justify-content: center; transition: .15s ease; margin-top: 1px; }
.saffron-ing__box .saffron-ico { width: 14px; height: 14px; color: #fff; opacity: 0; }
.saffron-ing__check:checked + .saffron-ing__box { background: var(--saffron-accent); border-color: var(--saffron-accent); }
.saffron-ing__check:checked + .saffron-ing__box .saffron-ico { opacity: 1; }
.saffron-ing__check:focus-visible + .saffron-ing__box { outline: 2px solid var(--saffron-accent); outline-offset: 2px; }
.saffron-ing__text { color: var(--saffron-body); transition: color .15s ease; }
.saffron-ing__check:checked ~ .saffron-ing__text { color: var(--saffron-muted); text-decoration: line-through; }

/* ---- Nutrition ---- */
.saffron-nutrition { margin: 2.5rem 0; }
.saffron-nutrition__note { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--saffron-muted); font-weight: 700; background: var(--saffron-surface-alt); padding: .2rem .5rem; border-radius: 6px; }
.saffron-nutrition__table { width: 100%; border-collapse: collapse; border: 1px solid var(--saffron-line); border-radius: var(--saffron-radius); overflow: hidden; }
.saffron-nutrition__table th, .saffron-nutrition__table td { text-align: left; padding: .8rem 1.1rem; border-bottom: 1px solid var(--saffron-line); }
.saffron-nutrition__table tr:last-child th, .saffron-nutrition__table tr:last-child td { border-bottom: 0; }
.saffron-nutrition__table th { font-weight: 600; color: var(--saffron-body); }
.saffron-nutrition__table td { text-align: right; }
.saffron-nutrition__val { font-family: var(--saffron-font-head); font-weight: 800; color: var(--saffron-ink); font-size: 1.05rem; }
.saffron-nutrition__unit { color: var(--saffron-muted); font-size: .85rem; }

/* ---- Method / steps ---- */
.saffron-method { margin: 2.5rem 0; }
.saffron-steps { list-style: none; counter-reset: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1rem; }
.saffron-step { display: flex; gap: 1rem; align-items: flex-start; }
.saffron-step__toggle { flex: none; position: relative; width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--saffron-line); background: var(--saffron-surface); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: .15s ease; }
.saffron-step__num { font-family: var(--saffron-font-head); font-weight: 800; color: var(--saffron-accent-dark); }
.saffron-step__tick { position: absolute; inset: 0; display: inline-flex; align-items: center; justify-content: center; opacity: 0; }
.saffron-step__tick .saffron-ico { width: 18px; height: 18px; color: #fff; }
.saffron-step__toggle:hover { border-color: var(--saffron-accent); }
.saffron-step__body { padding-top: .15rem; }
.saffron-step__time { display: inline-flex; align-items: center; gap: .3rem; font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--saffron-accent-dark); background: var(--saffron-surface-alt); padding: .2rem .5rem; border-radius: 999px; margin-bottom: .35rem; }
.saffron-step__time .saffron-ico { width: 13px; height: 13px; }
.saffron-step__text { margin: 0; }
.saffron-step.is-done .saffron-step__toggle { background: var(--saffron-accent); border-color: var(--saffron-accent); }
.saffron-step.is-done .saffron-step__num { opacity: 0; }
.saffron-step.is-done .saffron-step__tick { opacity: 1; }
.saffron-step.is-done .saffron-step__text { color: var(--saffron-muted); text-decoration: line-through; }

/* ---- Tags ---- */
.saffron-rtags { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin: 2.5rem 0 1.5rem; }
.saffron-rtags .saffron-ico { width: 18px; height: 18px; color: var(--saffron-muted); }
.saffron-rtags__list { display: inline-flex; flex-wrap: wrap; gap: .5rem; }
.saffron-rtags a { background: var(--saffron-surface-alt); border: 1px solid var(--saffron-line); color: var(--saffron-body); font-size: .82rem; font-weight: 600; padding: .3rem .7rem; border-radius: 999px; }
.saffron-rtags a:hover { background: var(--saffron-accent); color: #fff; border-color: var(--saffron-accent); text-decoration: none; }

/* ---- Likes + share ---- */
.saffron-engage { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 0; border-block: 1px solid var(--saffron-line); margin: 1.5rem 0 2.5rem; }
.saffron-like { display: inline-flex; align-items: center; gap: .5rem; background: var(--saffron-surface); border: 1px solid var(--saffron-line); border-radius: 999px; padding: .5rem 1rem; font-weight: 700; color: var(--saffron-body); cursor: pointer; transition: .15s ease; }
.saffron-like .saffron-ico { width: 20px; height: 20px; color: var(--saffron-muted); transition: .15s ease; }
.saffron-like:hover { border-color: #e0708a; }
.saffron-like:hover .saffron-ico { color: #e0708a; }
.saffron-like.is-liked { background: #fdecf0; border-color: #f3b8c6; }
.saffron-like.is-liked .saffron-ico { color: #e23b67; fill: #e23b67; }
.saffron-like__count { color: var(--saffron-ink); }
.saffron-share { display: inline-flex; align-items: center; gap: .5rem; }
.saffron-share__label { display: inline-flex; align-items: center; gap: .35rem; font-weight: 700; font-size: .85rem; color: var(--saffron-muted); margin-right: .25rem; }
.saffron-share__label .saffron-ico { width: 18px; height: 18px; }
.saffron-share__btn { width: 38px; height: 38px; border-radius: 50%; border: 0; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-weight: 800; font-family: var(--saffron-font-head); text-decoration: none; transition: transform .12s ease, filter .12s ease; }
.saffron-share__btn:hover { transform: translateY(-2px); filter: brightness(1.05); text-decoration: none; }
.saffron-share--fb { background: #1877f2; }
.saffron-share--pin { background: #e60023; }
.saffron-share--x { background: #111; }
.saffron-share--wa { background: #25d366; }
.saffron-share--copy { background: var(--saffron-ink); position: relative; }
.saffron-share--copy .saffron-ico { width: 18px; height: 18px; color: #fff; }
.saffron-share--copy.is-copied::after { content: "Copied!"; position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%); background: var(--saffron-ink); color: #fff; font-size: .7rem; font-weight: 600; padding: .2rem .5rem; border-radius: 6px; white-space: nowrap; }

/* ---- Author box ---- */
.saffron-authorbox { display: flex; gap: 1.25rem; align-items: flex-start; background: var(--saffron-surface-alt); border: 1px solid var(--saffron-line); border-radius: var(--saffron-radius); padding: 1.5rem; margin: 2.5rem 0; }
.saffron-authorbox__avatar { border-radius: 50%; flex: none; }
.saffron-authorbox__eyebrow { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--saffron-muted); font-weight: 700; }
.saffron-authorbox__name { font-size: 1.25rem; margin: .1rem 0 .4rem; }
.saffron-authorbox__bio { margin: 0; color: var(--saffron-body); font-size: .95rem; }

/* ---- Prev / next ---- */
.saffron-adjacent { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 2.5rem 0; }
.saffron-adjacent__link { display: flex; align-items: center; gap: .75rem; padding: 1rem 1.2rem; border: 1px solid var(--saffron-line); border-radius: var(--saffron-radius); color: var(--saffron-ink); transition: .15s ease; }
.saffron-adjacent__link:hover { border-color: var(--saffron-accent); text-decoration: none; box-shadow: var(--saffron-shadow); }
.saffron-adjacent--next { text-align: right; flex-direction: row; justify-content: flex-end; }
.saffron-adjacent .saffron-ico { width: 22px; height: 22px; color: var(--saffron-accent); flex: none; }
.saffron-adjacent__eyebrow { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--saffron-muted); font-weight: 700; }
.saffron-adjacent__ttl { display: block; font-weight: 700; font-size: .95rem; }

/* ---- Review rating input (stars) ---- */
.saffron-rating-input { margin-bottom: 1rem; }
.saffron-rating-input__label { display: block; font-weight: 600; margin-bottom: .3rem; }
.saffron-rating-input__stars { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; }
.saffron-rating-input__stars input { position: absolute; opacity: 0; width: 0; height: 0; }
.saffron-rating-input__stars label { font-size: 1.7rem; color: #d9d2c6; cursor: pointer; padding: 0 .05em; transition: color .12s ease; }
.saffron-rating-input__stars label:hover,
.saffron-rating-input__stars label:hover ~ label,
.saffron-rating-input__stars input:checked ~ label { color: #f0a531; }

/* =========================================================================
   Saffron — Recipe sidebar widgets
   ========================================================================= */
.saffron-rsidebar .saffron-widget { background: var(--saffron-surface); border: 1px solid var(--saffron-line); border-radius: var(--saffron-radius); padding: 1.4rem 1.4rem 1.5rem; }
.saffron-widget__title { font-size: 1.05rem; padding-bottom: .6rem; margin: 0 0 1rem; border-bottom: 2px solid var(--saffron-ink); }
.saffron-widget--about { background: var(--saffron-surface-alt); }
.saffron-about__text { margin: 0 0 1rem; font-size: .92rem; color: var(--saffron-body); }
.saffron-social { display: flex; flex-wrap: wrap; gap: .5rem; }
.saffron-social__link { font-size: .78rem; font-weight: 700; padding: .35rem .7rem; border-radius: 999px; background: var(--saffron-ink); color: #fff; }
.saffron-social__link:hover { background: var(--saffron-accent); text-decoration: none; }
.saffron-social--instagram { background: #d6249f; }
.saffron-social--facebook { background: #1877f2; }
.saffron-social--tiktok { background: #111; }
.saffron-social--youtube { background: #ff0000; }
.saffron-social--pinterest { background: #e60023; }

.saffron-catlist { list-style: none; margin: 0; padding: 0; }
.saffron-catlist li { border-bottom: 1px solid var(--saffron-line); }
.saffron-catlist li:last-child { border-bottom: 0; }
.saffron-catlist a { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .6rem 0; color: var(--saffron-body); font-weight: 600; }
.saffron-catlist a:hover { color: var(--saffron-accent-dark); text-decoration: none; }
.saffron-catlist__count { font-size: .78rem; font-weight: 700; color: var(--saffron-muted); background: var(--saffron-surface-alt); border-radius: 999px; padding: .12rem .55rem; }

.saffron-widget--news { background: var(--saffron-ink); color: #efece6; border-color: var(--saffron-ink); }
.saffron-widget--news .saffron-widget__title { color: #fff; border-bottom-color: rgba(255,255,255,.18); }
.saffron-news__lead { font-size: .9rem; margin: 0 0 .9rem; color: #cfcbc3; }
.saffron-news__form { display: flex; flex-direction: column; gap: .55rem; }
.saffron-news__form input { padding: .65rem .8rem; border-radius: 8px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.06); color: #fff; font-size: .92rem; }
.saffron-news__form input::placeholder { color: #9d988f; }
.saffron-news__btn { width: 100%; cursor: pointer; border: 0; }
.saffron-news__note { font-size: .76rem; color: #9d988f; margin: .7rem 0 0; }

.saffron-ig-placeholder { display: grid; grid-template-columns: repeat(3, 1fr); gap: .4rem; }
.saffron-ig-placeholder__cell { aspect-ratio: 1; background: linear-gradient(135deg, #f3ede2, #e4dccb); border-radius: 8px; }
.saffron-ig-placeholder__note { grid-column: 1 / -1; font-size: .78rem; color: var(--saffron-muted); margin: .6rem 0 0; }

.saffron-topics { display: flex; flex-wrap: wrap; gap: .5rem; }
.saffron-topic { font-size: .82rem; font-weight: 600; padding: .35rem .7rem; border-radius: 999px; background: var(--saffron-surface-alt); border: 1px solid var(--saffron-line); color: var(--saffron-body); }
.saffron-topic:hover { background: var(--saffron-accent); color: #fff; border-color: var(--saffron-accent); text-decoration: none; }

/* ---- Single-recipe responsive ---- */
@media (max-width: 980px) {
	.saffron-rlayout { grid-template-columns: 1fr; gap: 2.5rem; }
	.saffron-rsidebar { position: static; }
	.saffron-facts { grid-template-columns: repeat(2, 1fr); }
	.saffron-fact:nth-child(2) { border-right: 0; }
	.saffron-fact:nth-child(1), .saffron-fact:nth-child(2) { border-bottom: 1px solid var(--saffron-line); }
}
@media (max-width: 560px) {
	.saffron-facts { grid-template-columns: 1fr 1fr; }
	.saffron-adjacent { grid-template-columns: 1fr; }
	.saffron-engage { flex-direction: column; align-items: flex-start; }
}

/* =========================================================================
   Saffron — Recipe v2: nutrition card, procedure, prev/next, reviews,
   redesigned sidebar (about, image categories, green newsletter)
   ========================================================================= */

/* ---- Nutrition: orange header + horizontal cells ---- */
.saffron-nutrition { margin: 2.5rem 0; border: 1px solid var(--saffron-line); border-radius: var(--saffron-radius); overflow: hidden; }
.saffron-nutrition__head { background: var(--saffron-accent); color: #fff; text-align: center; font-family: var(--saffron-font-head); font-weight: 800; font-size: 1.5rem; padding: .85rem 1rem; }
.saffron-nutrition__grid { display: flex; flex-wrap: wrap; gap: 1rem 2.4rem; padding: 1.3rem 1.7rem .6rem; background: #fdf3e7; }
.saffron-nutrition__cell { display: flex; flex-direction: column; gap: .2rem; min-width: 76px; }
.saffron-nutrition__label { font-family: var(--saffron-font-head); font-weight: 800; color: var(--saffron-ink); font-size: 1rem; }
.saffron-nutrition__val { color: var(--saffron-muted); font-size: .95rem; }
.saffron-nutrition__unit { margin-left: 1px; }
.saffron-nutrition__foot { margin: 0; padding: .4rem 1.7rem 1rem; background: #fdf3e7; color: var(--saffron-muted); font-size: .76rem; }

/* ---- Procedure: detailed steps with images ---- */
.saffron-procedure { margin: 2.5rem 0; }
.saffron-psteps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2.2rem; }
.saffron-pstep__bar { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.saffron-pstep__badge { flex: none; width: 54px; height: 54px; border-radius: 50%; background: var(--saffron-pink); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.1; }
.saffron-pstep__badge small { font-size: .6rem; text-transform: uppercase; letter-spacing: .03em; opacity: .92; }
.saffron-pstep__badge b { font-size: 1.05rem; font-family: var(--saffron-font-head); }
.saffron-pstep__rule { flex: 1; height: 1px; background: var(--saffron-line); }
.saffron-pstep__tools { display: flex; align-items: center; gap: 1.1rem; flex: none; }
.saffron-pstep__time { display: inline-flex; align-items: center; gap: .3rem; color: var(--saffron-body); font-size: .85rem; font-weight: 600; }
.saffron-pstep__time .saffron-ico { width: 15px; height: 15px; color: var(--saffron-accent-dark); }
.saffron-pstep__toggle { display: inline-flex; align-items: center; gap: .45rem; background: none; border: 0; cursor: pointer; color: var(--saffron-muted); font-size: .85rem; font-weight: 600; padding: 0; }
.saffron-pstep__check { width: 18px; height: 18px; border: 2px solid var(--saffron-line); border-radius: 4px; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.saffron-pstep__check .saffron-ico { width: 12px; height: 12px; color: #fff; opacity: 0; }
.saffron-pstep.is-done .saffron-pstep__check { background: var(--saffron-pink); border-color: var(--saffron-pink); }
.saffron-pstep.is-done .saffron-pstep__check .saffron-ico { opacity: 1; }
.saffron-pstep.is-done .saffron-pstep__toggle { color: var(--saffron-pink); }
.saffron-pstep__title { font-size: 1.5rem; font-family: var(--saffron-font-head); margin: 0 0 .6rem; }
.saffron-pstep__text { margin: 0 0 .8rem; color: var(--saffron-body); }
.saffron-pstep.is-done .saffron-pstep__title, .saffron-pstep.is-done .saffron-pstep__text { color: var(--saffron-muted); }
.saffron-pstep__imgs { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; margin-top: .4rem; }
.saffron-pstep__img { margin: 0; border-radius: 10px; overflow: hidden; }
.saffron-pstep__img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }

/* ---- Prev / next (thumbnails + pink eyebrow) ---- */
.saffron-adjacent { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin: 2.5rem 0; border: 0; }
.saffron-adj-col--next { display: flex; justify-content: flex-end; }
.saffron-adj { display: flex; align-items: center; gap: 1rem; color: var(--saffron-ink); }
.saffron-adj--next { text-align: right; }
.saffron-adj__thumb img { width: 92px; height: 92px; object-fit: cover; border-radius: 10px; display: block; }
.saffron-adj__text { min-width: 0; }
.saffron-adj__eyebrow { display: flex; align-items: center; gap: .35rem; color: var(--saffron-pink); font-weight: 700; font-size: .85rem; border-bottom: 1px solid var(--saffron-line); padding-bottom: .4rem; margin-bottom: .45rem; }
.saffron-adj--next .saffron-adj__eyebrow { justify-content: flex-end; }
.saffron-adj__eyebrow .saffron-ico { width: 16px; height: 16px; }
.saffron-adj__ttl { display: block; font-family: var(--saffron-font-head); font-weight: 800; font-size: 1.15rem; line-height: 1.2; color: var(--saffron-ink); }
.saffron-adj:hover { text-decoration: none; }
.saffron-adj:hover .saffron-adj__ttl { color: var(--saffron-accent-dark); }

/* ---- Reviews / Add a Review form ---- */
.saffron-comments .comment-reply-title, .saffron-comments__title { font-family: var(--saffron-font-head); font-size: 1.6rem; }
.saffron-comments .comment-form textarea { width: 100%; padding: 1rem; border: 1px solid var(--saffron-line); border-radius: 10px; background: var(--saffron-surface-alt); font: inherit; }
.saffron-comments .comment-form-author, .saffron-comments .comment-form-email, .saffron-comments .comment-form-url { display: inline-block; width: calc(33.333% - .5rem); margin-right: .65rem; vertical-align: top; }
.saffron-comments .comment-form-url { margin-right: 0; }
.saffron-comments .comment-form input[type="text"], .saffron-comments .comment-form input[type="email"], .saffron-comments .comment-form input[type="url"] { width: 100%; padding: .7rem .8rem; border: 1px solid var(--saffron-line); border-radius: 8px; background: var(--saffron-surface-alt); font: inherit; }
.saffron-comments .comment-form-author label, .saffron-comments .comment-form-email label, .saffron-comments .comment-form-url label { font-size: .78rem; color: var(--saffron-muted); }
.saffron-review__submit { background: var(--saffron-coral); border-radius: 8px; }
.saffron-review__submit:hover { background: var(--saffron-coral-dark); }
@media (max-width: 560px) {
	.saffron-comments .comment-form-author, .saffron-comments .comment-form-email, .saffron-comments .comment-form-url { display: block; width: 100%; margin-right: 0; }
	.saffron-pstep__imgs { grid-template-columns: 1fr 1fr; }
	.saffron-pstep__toggle-text { display: none; }
}

/* =========================================================================
   Saffron — Sidebar v2
   ========================================================================= */
.saffron-rsidebar .saffron-widget { background: transparent; border: 0; padding: 0; }
.saffron-rsidebar .saffron-widget__title { border-bottom: 0; padding: 0 0 0 .75rem; margin: 0 0 1rem; position: relative; font-size: 1.15rem; }
.saffron-rsidebar .saffron-widget__title::before { content: ""; position: absolute; left: 0; top: .12em; bottom: .12em; width: 4px; border-radius: 3px; background: var(--saffron-green); }

/* About card */
.saffron-about__card { border: 1px solid var(--saffron-line); border-radius: var(--saffron-radius); padding: 1.7rem 1.4rem 1.9rem; text-align: center; background: var(--saffron-surface); }
.saffron-about__logo { width: 96px; height: 96px; margin: 0 auto .8rem; border-radius: 50%; overflow: hidden; background: var(--saffron-surface-alt); border: 1px solid var(--saffron-line); display: flex; align-items: center; justify-content: center; }
.saffron-about__logo-img { width: 100%; height: 100%; object-fit: cover; }
.saffron-about__logo-fallback { font-family: var(--saffron-font-head); font-weight: 800; font-size: 2.4rem; color: var(--saffron-accent); }
.saffron-about__name { font-family: var(--saffron-font-head); font-weight: 800; font-size: 1.3rem; color: var(--saffron-ink); margin: 0 0 .7rem; }
.saffron-about__social { display: flex; justify-content: center; gap: .8rem; margin-bottom: 1rem; }
.saffron-about__social-link { color: var(--saffron-muted); transition: opacity .15s ease; }
.saffron-about__social-link:hover { opacity: .75; text-decoration: none; }
.saffron-bico { width: 20px; height: 20px; fill: currentColor; display: block; }
.saffron-bcolor--facebook { color: #1877f2; }
.saffron-bcolor--twitter { color: #111; }
.saffron-bcolor--instagram { color: #d6249f; }
.saffron-bcolor--tiktok { color: #111; }
.saffron-bcolor--youtube { color: #ff0000; }
.saffron-bcolor--pinterest { color: #e60023; }
.saffron-about__text { color: var(--saffron-muted); font-size: .92rem; margin: 0 0 1rem; }
.saffron-about__sig { max-width: 160px; height: auto; margin: .4rem auto 0; display: block; opacity: .9; }

/* Top categories — image banners */
.saffron-catboxes { display: flex; flex-direction: column; gap: .6rem; }
.saffron-catbox { position: relative; display: flex; align-items: center; gap: .85rem; min-height: 58px; padding: 0 1rem; border-radius: 10px; overflow: hidden; background-size: cover; background-position: center; color: #fff; }
.saffron-catbox--plain { background: linear-gradient(135deg, #5a4632, #3b2d20); }
.saffron-catbox__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,18,15,.82), rgba(20,18,15,.4)); }
.saffron-catbox__num { position: relative; z-index: 1; flex: none; width: 26px; height: 26px; border-radius: 50%; background: #f5b62a; color: #3a2a12; font-weight: 800; font-size: .82rem; display: inline-flex; align-items: center; justify-content: center; }
.saffron-catbox__name { position: relative; z-index: 1; font-family: var(--saffron-font-head); font-weight: 700; }
.saffron-catbox:hover { text-decoration: none; }
.saffron-catbox:hover .saffron-catbox__name { text-decoration: underline; }

/* Newsletter — green card */
.saffron-news__card { position: relative; border-radius: var(--saffron-radius); padding: 1.7rem 1.5rem; color: #fff; overflow: hidden; background-color: var(--saffron-green); background-image: radial-gradient(rgba(255,255,255,.09) 2px, transparent 2px), radial-gradient(rgba(255,255,255,.06) 2px, transparent 2px); background-size: 26px 26px, 26px 26px; background-position: 0 0, 13px 13px; }
.saffron-news__eyebrow { display: block; text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; font-weight: 800; opacity: .92; margin-bottom: .35rem; }
.saffron-news__head { font-family: var(--saffron-font-head); font-size: 1.45rem; color: #fff; line-height: 1.18; margin: 0 0 .35rem; }
.saffron-news__sub { font-size: .9rem; color: rgba(255,255,255,.85); margin: 0 0 1rem; }
.saffron-news__form { display: flex; flex-direction: column; gap: .6rem; }
.saffron-news__form input { padding: .72rem .85rem; border-radius: 8px; border: 0; background: #f4f2ec; color: var(--saffron-ink); font-size: .92rem; }
.saffron-news__form input::placeholder { color: #9a948b; }
.saffron-news__btn { margin-top: .15rem; width: 100%; padding: .8rem; border: 0; border-radius: 8px; background: var(--saffron-coral); color: #fff; font-weight: 800; letter-spacing: .04em; cursor: pointer; transition: background .15s ease; }
.saffron-news__btn:hover { background: var(--saffron-coral-dark); }
