/* Shvigger's Favorite and News. The joke sits on an index card from the shvigger's recipe box:
   blue ruled lines, a red header rule. Everything around it stays quiet and takes the theme's type. */

.sasf-strip {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
	gap: clamp(22px, 3.5vw, 44px);
	align-items: start;
	box-sizing: border-box;
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1180px);
	margin: clamp(28px, 4vw, 52px) auto;
	padding: 0 20px;
}
@media (max-width: 800px) {
	.sasf-strip { grid-template-columns: 1fr; }
}

/* The card */
.sasf-card {
	--sasf-paper: #fffdf7;
	--sasf-rule: #d3e0ef;
	--sasf-red: #c4473d;
	--sasf-ink: #28241f;
	--sasf-muted: #6f6556;
	--sasf-line: 1.85rem;
	position: relative;
	box-sizing: border-box;
	background: var(--sasf-paper);
	color: var(--sasf-ink);
	border-radius: 3px 3px 12px 12px;
	box-shadow: 0 1px 2px rgba(70, 48, 20, .14), 0 16px 30px -20px rgba(70, 48, 20, .5);
	padding: 0 clamp(18px, 3vw, 30px) 16px;
	transform: rotate(-.4deg);
}
.sasf-card--page {
	--sasf-line: 2.15rem;
	transform: none;
	max-width: 640px;
}
.sasf-card__head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 4px 14px;
	padding: 16px 0 9px;
	border-bottom: 2px solid var(--sasf-red);
}
.sasf-card .sasf-card__title {
	margin: 0;
	padding: 0;
	font-family: var(--wp--preset--font-family--heading, inherit);
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	color: var(--sasf-ink);
}
.sasf-card__date {
	font-size: .85rem;
	color: var(--sasf-muted);
}
.sasf-card__body {
	min-height: calc(var(--sasf-line) * 4);
	padding-top: 2px;
	background-image: linear-gradient(to bottom, transparent calc(var(--sasf-line) - 1px), var(--sasf-rule) calc(var(--sasf-line) - 1px));
	background-size: 100% var(--sasf-line);
	background-position: 0 calc(var(--sasf-line) * -.2 + 2px);
}
.sasf-card__body p,
.sasf-card__body summary {
	margin: 0;
	line-height: var(--sasf-line);
}
.sasf-card .sasf-card__q {
	font-size: 1.16rem;
	font-weight: 500;
	color: var(--sasf-ink);
	text-wrap: pretty;
}
.sasf-card--page .sasf-card__q { font-size: 1.38rem; }
.sasf-card__punch summary {
	display: inline-block;
	list-style: none;
	cursor: pointer;
	color: var(--sasf-red);
	font-weight: 600;
	text-decoration: underline dotted;
	text-underline-offset: 5px;
	text-decoration-thickness: 2px;
}
.sasf-card__punch summary::-webkit-details-marker { display: none; }
.sasf-card__punch[open] summary { display: none; }
.sasf-card__punch p {
	font-size: 1.16rem;
	font-weight: 700;
	color: var(--sasf-ink);
}
.sasf-card--page .sasf-card__punch p { font-size: 1.38rem; }
@media (prefers-reduced-motion: no-preference) {
	.sasf-card__punch[open] p { animation: sasf-reveal .28s ease-out; }
}
@keyframes sasf-reveal { from { opacity: 0; transform: translateY(5px); } }
.sasf-card__by,
.sasf-card__note {
	font-size: .88rem;
	font-style: italic;
	color: var(--sasf-muted);
}
.sasf-card__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	padding-top: 14px;
}
.sasf-card__react { display: flex; gap: 8px; }
.sasf-react {
	font: inherit;
	font-size: .88rem;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	border: 1px solid #e1d6c3;
	border-radius: 999px;
	background: transparent;
	color: var(--sasf-ink);
	cursor: pointer;
}
.sasf-react b { font-weight: 700; }
.sasf-react b:empty { display: none; }
.sasf-react:hover:not(:disabled) { border-color: #c8b591; }
.sasf-react[aria-pressed="true"] { background: #fbeedd; border-color: #dcc39b; }
.sasf-react:disabled { cursor: default; }
.sasf-react:disabled:not([aria-pressed="true"]) { opacity: .55; }
.sasf-share {
	font-size: .9rem;
	font-weight: 600;
	color: #1c6a44;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
}
.sasf-more {
	margin-left: auto;
	font-size: .88rem;
	color: var(--sasf-muted);
}
.sasf-card a:focus-visible,
.sasf-card button:focus-visible,
.sasf-card summary:focus-visible {
	outline: 2px solid var(--sasf-red);
	outline-offset: 3px;
	border-radius: 4px;
}

/* News, kept plain */
.sasf-news .sasf-news__title {
	margin: 0 0 4px;
	font-family: var(--wp--preset--font-family--heading, inherit);
	font-size: 1.3rem;
	line-height: 1.2;
}
.sasf-news__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.sasf-news__item {
	margin: 0;
	padding: 11px 0;
	border-bottom: 1px solid rgba(120, 100, 70, .2);
}
.sasf-news__item:last-child { border-bottom: 0; }
.sasf-news__link {
	display: block;
	color: inherit;
	font-weight: 600;
	line-height: 1.38;
	text-decoration: none;
	text-wrap: pretty;
}
.sasf-news__link:hover { text-decoration: underline; text-underline-offset: 3px; }
.sasf-news__meta {
	display: block;
	margin-top: 3px;
	font-size: .8rem;
	opacity: .72;
}
.sasf-news__more {
	display: inline-block;
	margin-top: 8px;
	font-weight: 600;
	font-size: .92rem;
}
.sasf-news__empty,
.sasf-news__note { font-size: .92rem; opacity: .8; }
.sasf-news__note { margin-top: 22px; }

.sasf-topics {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 12px;
}
.sasf-topics a {
	padding: 6px 14px;
	border: 1px solid rgba(120, 100, 70, .35);
	border-radius: 999px;
	color: inherit;
	font-size: .92rem;
	text-decoration: none;
}
.sasf-topics a[aria-current="page"] {
	background: #28241f;
	border-color: #28241f;
	color: #fffdf7;
}
.sasf-newspage { max-width: 760px; }

/* The Shvigger's Favorite page */
.sasf-page { max-width: 760px; }
.sasf-intro { font-size: 1.08rem; margin: 0 0 22px; }
.sasf-earlier, .sasf-send { margin-top: 44px; }
.sasf-earlier h2, .sasf-send h2 { font-size: 1.3rem; margin: 0 0 10px; }
.sasf-earlier__list { list-style: none; margin: 0; padding: 0; }
.sasf-earlier__item { padding: 14px 0; border-bottom: 1px solid rgba(120, 100, 70, .2); }
.sasf-earlier__item time { display: block; font-size: .8rem; opacity: .7; margin-bottom: 2px; }
.sasf-earlier__item p { margin: 0; }
.sasf-earlier__item summary { cursor: pointer; font-weight: 600; font-size: .92rem; margin-top: 4px; }
.sasf-earlier__item details p { font-weight: 700; margin-top: 4px; }
.sasf-send__rule { margin: 0 0 16px; opacity: .85; }
.sasf-send__ok { padding: 10px 14px; border-left: 3px solid #1c6a44; background: rgba(28, 106, 68, .08); }
.sasf-form { display: grid; gap: 14px; max-width: 560px; }
.sasf-field { display: grid; gap: 5px; font-weight: 600; font-size: .95rem; }
.sasf-field small { font-weight: 400; opacity: .7; }
.sasf-field input, .sasf-field textarea {
	font: inherit;
	font-weight: 400;
	padding: 10px 12px;
	border: 1px solid rgba(120, 100, 70, .4);
	border-radius: 8px;
	background: #fff;
	color: #28241f;
	box-sizing: border-box;
	width: 100%;
}
.sasf-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 520px) { .sasf-field-row { grid-template-columns: 1fr; } }
.sasf-btn {
	justify-self: start;
	font: inherit;
	font-weight: 600;
	padding: 11px 22px;
	border: 0;
	border-radius: 999px;
	background: #c4473d;
	color: #fff;
	cursor: pointer;
}
.sasf-btn:hover { background: #a93b32; }
.sasf-btn:focus-visible { outline: 2px solid #28241f; outline-offset: 3px; }
.sasf-hp { position: absolute !important; left: -9999px !important; height: 1px; overflow: hidden; }
