/**
 * Revista Letrare – theme styles that theme.json cannot express.
 * Tokens come from theme.json (--wp--preset--*).
 */

/* The classic editor (TinyMCE) loads this file as its editor style but not the
   theme.json variables. Define them there (values as in theme.json) so text
   selection, colours, fonts and spacing in the editor match the site. */
.mce-content-body {
	--wp--preset--color--base: #FAF7F0;
	--wp--preset--color--base-2: #F7F4ED;
	--wp--preset--color--base-3: #F5F1E9;
	--wp--preset--color--white: #FFFDF8;
	--wp--preset--color--rule: #DCD5C8;
	--wp--preset--color--contrast-3: #5E5950;
	--wp--preset--color--contrast-2: #3B3833;
	--wp--preset--color--contrast: #151412;
	--wp--preset--font-family--eb-garamond: "EB Garamond", Georgia, "Times New Roman", serif;
	--wp--preset--font-family--georgia: Georgia, "Times New Roman", Times, serif;
	--wp--preset--font-size--x-small: 0.75rem;
	--wp--preset--font-size--small: 0.875rem;
	--wp--preset--font-size--medium: 1.0625rem;
	--wp--preset--font-size--large: 1.375rem;
	--wp--preset--font-size--x-large: 1.875rem;
	--wp--preset--font-size--xx-large: 3rem;
	--wp--preset--font-size--huge: 4.25rem;
	--wp--preset--spacing--40: 1.5rem;
	--wp--preset--spacing--50: clamp(1.75rem, 3vw, 2.5rem);
	--wp--preset--spacing--60: clamp(2.5rem, 5vw, 3.5rem);
	--wp--custom--line-height--tight: 1.05;
	--wp--custom--letter-spacing--kicker: 0.18em;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

:where(.wp-site-blocks) *:focus-visible {
	outline: 2px solid var(--wp--preset--color--contrast);
	outline-offset: 3px;
}

/* Fallback colours: the classic editor loads this file without the theme.json
   variables, and an empty variable makes the selection invisible there. */
::selection {
	background: var(--wp--preset--color--contrast, #151412);
	color: var(--wp--preset--color--base, #FAF7F0);
}

a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

a:hover {
	text-decoration-thickness: 2px;
}

/* ---------- Shared pieces ---------- */

.is-style-kicker,
.rl-kicker {
	font-family: var(--wp--preset--font-family--georgia);
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: var(--wp--custom--letter-spacing--kicker);
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast-3);
	line-height: 1.4;
}

.is-style-section-soft {
	background-color: var(--wp--preset--color--base-2);
}

.is-style-framed {
	border: 1px solid var(--wp--preset--color--contrast);
	padding: var(--wp--preset--spacing--50);
}

.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--contrast);
	border: 1px solid var(--wp--preset--color--contrast);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

.rl-section {
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--60);
	border-top: 1px solid var(--wp--preset--color--rule);
}

.rl-section__head {
	margin-bottom: var(--wp--preset--spacing--50);
}

.rl-section__head h2 {
	margin: 0.35rem 0 0;
}

/* A section with only the small label keeps the same baseline as one with a heading. */
.rl-section__head > div > .is-style-kicker:only-child {
	margin: 0;
	font-size: 0.8125rem;
}

.rl-section__head .rl-more {
	margin: 0;
	font-size: var(--wp--preset--font-size--medium);
}

/* ---------- Header ---------- */

.rl-utility {
	border-bottom: 1px solid #E6E0D4;
	font-size: 0.8125rem;
	letter-spacing: 0.03em;
}

.rl-utility__inner {
	min-height: 44px;
	gap: 0.5rem 1.5rem;
}

.rl-utility .wp-block-navigation {
	font-size: 0.8125rem;
	gap: 1.5rem;
}

.rl-utility .wp-block-navigation a {
	text-decoration: none;
}

.rl-utility .rl-date {
	margin: 0;
	color: var(--wp--preset--color--contrast-3);
	font-size: 0.8125rem;
}

.rl-utility .wp-block-search__button {
	background: transparent;
	color: var(--wp--preset--color--contrast);
	border: 0;
	padding: 0.25rem;
}

.rl-utility .wp-block-search__input {
	border: 1px solid var(--wp--preset--color--rule);
	background: var(--wp--preset--color--white);
	font-size: 0.875rem;
}

.rl-masthead {
	padding-top: var(--wp--preset--spacing--50);
	padding-bottom: var(--wp--preset--spacing--40);
	gap: 0.75rem;
	text-align: center;
}

.rl-masthead .wp-block-site-logo img {
	max-width: min(480px, 78vw);
	height: auto;
	mix-blend-mode: multiply; /* the current logo PNG has a white background */
}

.rl-masthead .wp-block-site-tagline {
	margin: 0;
	text-align: center;
}

.rl-nav-wrap {
	border-top: 2px solid var(--wp--preset--color--contrast);
	border-bottom: 1px solid var(--wp--preset--color--rule);
}

.rl-nav {
	min-height: 58px;
	gap: 0.5rem 2.25rem;
}

.rl-nav .wp-block-navigation-item__content {
	text-decoration: none;
	padding: 0.35rem 0;
}

.rl-nav .wp-block-navigation-item__content:hover,
.rl-nav .current-menu-item > .wp-block-navigation-item__content {
	text-decoration: underline;
	text-underline-offset: 0.35em;
}

.rl-nav .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--base) !important;
	border: 1px solid var(--wp--preset--color--rule) !important;
	padding: 0.5rem 0;
	min-width: 12rem;
}

.rl-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.45rem 1rem;
}

.rl-nav .rl-nav-cta > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	padding: 0.5rem 1rem;
}

.rl-nav .rl-nav-cta > .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--contrast-2);
	text-decoration: none;
}

.rl-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	padding: var(--wp--preset--spacing--50);
	font-size: var(--wp--preset--font-size--large);
}

/* ---------- Footer ---------- */

.rl-footer {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--40);
	margin-top: 0;
}

.rl-footer a,
.rl-footer .wp-block-navigation-item__content {
	color: var(--wp--preset--color--base);
	text-decoration: none;
}

.rl-footer a:hover {
	text-decoration: underline;
}

.rl-footer .wp-block-site-logo img {
	max-width: 300px;
	height: auto;
	filter: invert(1);
	mix-blend-mode: screen;
}

.rl-footer .wp-block-site-tagline {
	color: rgba(250, 247, 240, 0.8);
	margin: 0.75rem 0 0;
}

.rl-footer .is-style-kicker {
	color: rgba(250, 247, 240, 0.62);
	margin-bottom: 0.5rem;
}

.rl-footer .wp-block-navigation {
	font-size: 0.9375rem;
	gap: 0.6rem;
}

.rl-footer__bottom {
	border-top: 1px solid rgba(250, 247, 240, 0.2);
	padding-top: var(--wp--preset--spacing--40);
	margin-top: var(--wp--preset--spacing--60);
	font-size: 0.8125rem;
	color: rgba(250, 247, 240, 0.72);
}

.rl-footer__bottom p {
	margin: 0;
}

.rl-footer .wp-block-social-links .wp-social-link svg {
	fill: var(--wp--preset--color--base);
}

/* ---------- Cards (posts in loops) ---------- */

.rl-cards .wp-block-post {
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
}

.rl-cards .wp-block-post > * {
	margin: 0;
}

.rl-cards .wp-block-post-title {
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.12;
	text-wrap: balance;
}

.rl-cards .rl-byline {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--contrast-2);
}

.rl-cards .wp-block-post-excerpt__excerpt {
	margin: 0;
}

.rl-cards .wp-block-post-excerpt__more-text {
	display: none;
}

.rl-section--soft {
	background: var(--wp--preset--color--base-2);
}

/* ---------- Article grid block ---------- */

.rl-articles__head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 1rem 2rem;
	margin-bottom: var(--wp--preset--spacing--50);
}

.rl-articles__head > div > * {
	margin: 0;
}

.rl-articles__title {
	margin-top: 0.35rem !important;
}

.rl-articles .rl-more {
	margin: 0;
	font-size: var(--wp--preset--font-size--medium);
}

.rl-articles .rl-more a {
	color: var(--wp--preset--color--contrast);
	text-underline-offset: 0.2em;
}

.rl-articles__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(max(min(var(--rl-min, 17rem), 100%), calc((100% - (var(--rl-cols, 3) - 1) * 3rem) / var(--rl-cols, 3))), 1fr));
	gap: 3.5rem 3rem;
}

.rl-articles__foot {
	margin-top: var(--wp--preset--spacing--50);
}

.rl-articles .rl-articles__image {
	margin: 0 0 0.2rem;
}

.rl-articles .rl-articles__image img {
	display: block;
	width: 100%;
	border: 0.25px solid var(--wp--preset--color--contrast-3);
}

.rl-cards .rl-cards__image {
	margin: 0 0 0.2rem;
}

/* A hairline around article photos only; product covers keep their own frame. */
.rl-cards .rl-cards__image img {
	display: block;
	width: 100%;
	border: 0.25px solid var(--wp--preset--color--contrast-3);
}

/* ---------- Products (Libraria loops) ---------- */

.rl-products .wp-block-post {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.rl-products .wp-block-post > * {
	margin: 0;
}

.rl-products .wp-block-libraria-kopertina {
	margin-bottom: 0.6rem;
}

.rl-products .wp-block-post-title {
	font-size: 1.625rem;
	line-height: 1.15;
}

.rl-products .wp-block-libraria-blej {
	margin-top: auto;
}

/* Libraria at the bottom of article archives */

.rl-archive-shop .wp-block-libraria-produktet + .wp-block-libraria-produktet {
	margin-top: var(--wp--preset--spacing--60);
}

/* ---------- Rubrikat + Boto ---------- */

.rl-rubrikat-grid {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: clamp(2rem, 5.5vw, 5rem);
	align-items: start;
}

.rl-rubrikat {
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 2.5rem;
}

.rl-rubrikat li {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding: 0.9rem 0;
	border-bottom: 1px solid var(--wp--preset--color--rule);
}

.rl-rubrikat a {
	font-family: var(--wp--preset--font-family--eb-garamond);
	font-size: 1.375rem;
	line-height: 1.25;
	text-decoration: none;
}

.rl-rubrikat a:hover {
	text-decoration: underline;
}

.rl-count {
	font-size: 0.8125rem;
	color: var(--wp--preset--color--contrast-3);
}

.rl-boto h3 {
	margin: 0.5rem 0 1.5rem;
	font-size: 2rem;
	line-height: 1.1;
}

.rl-boto p {
	margin: 0.4rem 0;
}

/* ---------- Single article ---------- */

/* WordPress puts a 24px gap above <main>; the page head sets its own space instead. */
.wp-site-blocks > main {
	margin-top: 0;
}

.rl-article {
	padding-top: var(--wp--preset--spacing--40);
	padding-bottom: var(--wp--preset--spacing--60);
}

.rl-article__header {
	margin-bottom: var(--wp--preset--spacing--50);
}

.rl-article__header > * {
	margin-block: 0;
}

.rl-article__header .wp-block-post-title {
	margin-top: 1rem;
	margin-bottom: 1rem;
	text-wrap: balance;
}

.rl-article__header .rl-byline {
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--contrast-2);
}

.rl-article__image img {
	width: 100%;
	height: auto;
}

.rl-article__content {
	font-size: 1.1875rem;
	line-height: 1.7;
}

.rl-article__content > p:first-child:empty,
.rl-article__content > p:first-child:has(> br:only-child) {
	display: none;
}

/* First-line indentation, with the blank lines of the text kept. */
.rl-article__content.rl-indent > p,
.rl-article__content.rl-indent > blockquote p {
	margin-block: 0;
}

.rl-article__content.rl-indent > p + p,
.rl-article__content.rl-indent > blockquote p + p {
	text-indent: 1.6em;
}

.rl-article__content.rl-indent > p.rl-blank {
	height: 0.85em;
	text-indent: 0;
}

.rl-article__content.rl-indent > p.rl-blank + p,
.rl-article__content.rl-indent > p:first-child {
	text-indent: 0;
}

/* Drop cap: per article (checkbox) or on any paragraph with the class "dropcap". */
.rl-article__content p.rl-dc,
.rl-article__content p.dropcap {
	text-indent: 0 !important;
}

.rl-article__content p.rl-dc::first-letter,
.rl-article__content p.dropcap::first-letter {
	float: left;
	margin: 0.02em 0.09em 0 0;
	font-family: var(--wp--preset--font-family--eb-garamond);
	font-size: 3.25em;
	line-height: 0.86;
	font-weight: 400;
	color: var(--wp--preset--color--contrast);
}

@supports (initial-letter: 3) or (-webkit-initial-letter: 3) {
	.rl-article__content p.rl-dc::first-letter,
	.rl-article__content p.dropcap::first-letter {
		float: none;
		margin: 0 0.09em 0 0;
		font-size: inherit;
		line-height: inherit;
		-webkit-initial-letter: 3;
		initial-letter: 3;
	}
}

.rl-article .wp-block-libraria-sugjerim {
	margin-top: var(--wp--preset--spacing--60);
}



/* Jetpack sharing */
.rl-article .sharedaddy {
	margin-top: var(--wp--preset--spacing--50);
	font-size: var(--wp--preset--font-size--small);
}

/* ---------- Author page ---------- */

.rl-author {
	display: grid;
	grid-template-columns: minmax(0, 15rem) minmax(0, 44rem);
	gap: clamp(1.5rem, 5vw, 4rem);
	align-items: start;
	padding-top: var(--wp--preset--spacing--40);
	padding-bottom: var(--wp--preset--spacing--60);
	border-bottom: 1px solid var(--wp--preset--color--rule);
}

.rl-author--no-photo {
	grid-template-columns: minmax(0, 46rem);
}

.rl-author__photo {
	background: var(--wp--preset--color--base-3);
}

.rl-author__photo--empty {
	aspect-ratio: 4 / 5;
}

.rl-author__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.rl-author__body > * {
	margin-block: 0;
}

.rl-author__name {
	margin-top: 0.5rem !important;
	font-size: var(--wp--preset--font-size--huge);
	line-height: var(--wp--custom--line-height--tight);
}

.rl-author__bio {
	margin-top: 1.5rem !important;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.65;
	color: var(--wp--preset--color--contrast-2);
}

.rl-author__bio p {
	margin: 0 0 1em;
}

.rl-author__bio p:last-child {
	margin-bottom: 0;
}

.rl-author-texts-title {
	margin-top: var(--wp--preset--spacing--60) !important;
	margin-bottom: var(--wp--preset--spacing--50) !important;
	font-size: var(--wp--preset--font-size--x-large);
}

.rl-byline__author {
	color: inherit;
	text-decoration: none;
}

.rl-byline__author:hover,
.rl-byline__author:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

@media (max-width: 700px) {
	.rl-author {
		grid-template-columns: minmax(0, 1fr);
	}
	.rl-author__photo {
		max-width: 12rem;
	}
}

/* ---------- Archives ---------- */

.rl-archive-head {
	padding-top: var(--wp--preset--spacing--40);
	padding-bottom: var(--wp--preset--spacing--50);
}

.rl-archive-head .rl-filter {
	margin-top: var(--wp--preset--spacing--40);
}

.rl-archive-head .wp-block-query-title {
	margin: 0.5rem 0 0;
}

.rl-archive-head .wp-block-term-description {
	color: var(--wp--preset--color--contrast-2);
	max-width: 42rem;
}

.rl-pagination {
	margin-top: var(--wp--preset--spacing--60);
	padding-top: var(--wp--preset--spacing--40);
	border-top: 1px solid var(--wp--preset--color--rule);
}

.rl-pagination a {
	text-decoration: none;
}

.rl-filter {
	gap: 0.35rem;
}

ul.rl-filter {
	padding: 0;
}

.rl-filter .wp-block-navigation-item__content {
	display: inline-block;
	padding: 0.55rem 1.1rem;
	border-radius: 2px;
	font-size: 0.8125rem;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	text-decoration: none;
	color: var(--wp--preset--color--contrast-2);
}

.rl-filter .wp-block-navigation-item__content:hover,
.rl-filter .wp-block-navigation-item__content:focus {
	background: var(--wp--preset--color--base-3);
	color: var(--wp--preset--color--contrast);
}

.rl-filter .wp-block-navigation-item__content.is-current {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

.rl-filter__count {
	margin-left: 0.4rem;
	font-size: 0.75rem;
	letter-spacing: 0;
	opacity: 0.55;
}

.rl-filter .is-current .rl-filter__count {
	opacity: 0.7;
}

.rl-products {
	transition: opacity 150ms ease;
}

.rl-products.is-loading {
	opacity: 0.35;
	pointer-events: none;
}

/* The shop bar under the heading of "other products" on a product page */
.rl-shop-back {
	margin: -0.25rem 0 var(--wp--preset--spacing--50);
}

@media (prefers-reduced-motion: reduce) {
	.rl-products {
		transition: none;
	}
}

/* ---------- Product covers in grids: one box height, so cards line up ---------- */

.libraria-grid .libraria-kopertina.has-panel,
.rl-products .wp-block-libraria-kopertina.has-panel {
	aspect-ratio: 3 / 4;
	padding: 9% 8%;
	overflow: hidden;
}

.libraria-grid .libraria-kopertina.has-panel .libraria-cover,
.libraria-grid .libraria-kopertina.has-panel .libraria-cover__link,
.rl-products .wp-block-libraria-kopertina.has-panel .libraria-cover,
.rl-products .wp-block-libraria-kopertina.has-panel .libraria-cover__link {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	max-height: 100%;
}

.libraria-grid .libraria-kopertina.has-panel .libraria-cover__img,
.rl-products .wp-block-libraria-kopertina.has-panel .libraria-cover__img {
	max-height: 100%;
	max-width: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}

.libraria-grid .libraria-kopertina.has-panel .libraria-cover__type,
.rl-products .wp-block-libraria-kopertina.has-panel .libraria-cover__type {
	height: 100%;
	width: auto;
	max-width: 100%;
}

/* ---------- Homepage: read and buy, two equal columns at full width ---------- */

.rl-split-section {
	padding: var(--wp--preset--spacing--50) clamp(1.25rem, 3.5vw, 4rem) var(--wp--preset--spacing--60);
}

.rl-split {
	align-items: flex-start !important;
	margin-bottom: 0;
}

.rl-split__read,
.rl-split__shop {
	container-type: inline-size;
}

.rl-split__read > *,
.rl-split__shop > * {
	margin-top: 0;
}

.rl-split__shop > * + * {
	margin-top: var(--wp--preset--spacing--60) !important;
}

@media (min-width: 782px) {
	.rl-split > .rl-split__read {
		padding-right: clamp(1.75rem, 3.5vw, 3.25rem);
	}
	.rl-split > .rl-split__shop {
		padding-left: clamp(1.75rem, 3.5vw, 3.25rem);
		border-left: 1px solid var(--wp--preset--color--rule);
		align-self: stretch;
	}
}

@media (max-width: 781px) {
	.rl-split > .rl-split__shop {
		border-top: 1px solid var(--wp--preset--color--rule);
		padding-top: var(--wp--preset--spacing--50);
		margin-top: var(--wp--preset--spacing--50);
	}
}

/* The newest text, large */
.rl-lead .wp-block-post-template {
	margin: 0;
}

.rl-lead .wp-block-post-title {
	font-size: clamp(1.875rem, 3.2vw, 2.625rem);
	line-height: 1.06;
}

.rl-lead .wp-block-post-excerpt {
	font-size: var(--wp--preset--font-size--medium);
}

/* The texts after it, as a list with small photos */
.rl-list {
	margin-top: var(--wp--preset--spacing--50);
}

.rl-list .wp-block-post-template {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rl-list .wp-block-post {
	padding: 1.15rem 0;
	border-top: 1px solid var(--wp--preset--color--rule);
}

.rl-list .wp-block-post + .wp-block-post {
	margin-top: 0;
}

.rl-list__item {
	gap: 1.25rem !important;
}

.rl-list .rl-list__thumb {
	flex: 0 0 7rem;
	margin: 0.2rem 0 0 !important;
}

.rl-list .rl-list__thumb img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border: 0.25px solid var(--wp--preset--color--contrast-3);
}

.rl-list__text {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 0;
	flex: 1 1 auto;
}

.rl-list__text > * {
	margin: 0 !important;
}

.rl-list .wp-block-post-title {
	font-size: 1.375rem;
	line-height: 1.15;
}

.rl-list .rl-list__excerpt {
	color: var(--wp--preset--color--contrast-2);
	font-size: 1rem;
	line-height: 1.5;
	margin-top: 0.15rem !important;
}

.rl-split__more {
	margin-top: 1.25rem !important;
	padding-top: 1.15rem;
	border-top: 1px solid var(--wp--preset--color--rule);
	font-size: var(--wp--preset--font-size--medium);
}

/* The current issue at the top of the shop column: larger cover, top-aligned */
.rl-split__shop .libraria-hero--compact {
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	align-items: start;
}

.rl-split__shop .libraria-hero--compact .libraria-hero__media,
.rl-split__shop .libraria-hero--compact .libraria-cover,
.rl-split__shop .libraria-hero--compact .libraria-hero__cover-link {
	width: 100%;
	max-width: none;
	height: auto;
}

.rl-split__shop .libraria-hero--compact .libraria-cover__img {
	width: 100%;
	height: auto;
}

/* Narrow shop column (phones, tablets): the cover centred above the text,
   so the title, price and store buttons get the full width of the panel */
@container (max-width: 480px) {
	.rl-split__shop .libraria-hero--compact {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.25rem;
	}
	.rl-split__shop .libraria-hero--compact .libraria-hero__media {
		width: min(15rem, 64%);
		margin-inline: auto;
	}
	.rl-split__shop .libraria-hero--compact .libraria-hero__title {
		font-size: 1.875rem;
	}
	.rl-split__shop .libraria-hero--compact .libraria-hero__more {
		margin-left: 0;
		padding-left: 0;
		flex-basis: 100%;
	}
}

/* Wide columns (large screens): bigger photos and excerpts on the left,
   three products per row on the right, a flatter lead photo and 8 list items. */
@container (min-width: 700px) {
	.rl-lead .rl-cards__image img {
		aspect-ratio: 16 / 9 !important;
		object-fit: cover;
	}
	.rl-list .rl-list__thumb {
		flex-basis: 11rem;
		width: 11rem !important;
	}
	.rl-list .wp-block-post-title {
		font-size: 1.5rem;
	}
	.rl-list .wp-block-post:nth-child(n+9) {
		display: none;
	}
	.rl-split__shop .libraria-grid {
		--lib-cols: 3 !important;
	}
}

/* Narrower columns: no excerpts, 4 books and 2 other products */
@container (max-width: 699px) {
	.rl-list .rl-list__excerpt {
		display: none;
	}
	.rl-split__shop .libraria-grid > li:nth-child(n+5) {
		display: none;
	}
	.rl-split__shop .libraria-shelf:last-child .libraria-grid > li:nth-child(n+3) {
		display: none;
	}
}

/* Phones: 2 books and 1 other product, each with its "Të gjitha" link */
@container (max-width: 480px) {
	.rl-split__shop .libraria-grid > li:nth-child(n+3) {
		display: none;
	}
	.rl-split__shop .libraria-shelf:last-child .libraria-grid > li:nth-child(n+2) {
		display: none;
	}
}

/* ---------- Responsive ---------- */

@media (max-width: 960px) {
	.rl-rubrikat-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.rl-rubrikat {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.rl-filter .wp-block-navigation-item__content {
		padding: 0.5rem 0.75rem;
		font-size: 0.75rem;
		letter-spacing: 0.06em;
	}
	.rl-utility .rl-date,
	.rl-utility .rl-hide-mobile {
		display: none;
	}
	.rl-rubrikat {
		grid-template-columns: minmax(0, 1fr);
	}
	.rl-section__head {
		align-items: flex-start !important;
	}
	.rl-nav {
		min-height: 48px;
	}
	.rl-article__content {
		font-size: 1.0625rem;
	}
}

/* Keep category labels on cards to two terms */
.rl-cards .wp-block-post-terms a:nth-of-type(n+3),
.rl-cards .wp-block-post-terms .wp-block-post-terms__separator:nth-of-type(n+2) {
	display: none;
}

/* ---------- Single product ---------- */

.rl-product {
	padding-top: var(--wp--preset--spacing--40);
	padding-bottom: var(--wp--preset--spacing--60);
	align-items: start;
}

@media (min-width: 782px) {
	.rl-product > .wp-block-libraria-kopertina,
	.rl-product > .wp-block-libraria-galeria {
		position: sticky;
		top: 2rem;
	}
}

.rl-product__body > * {
	margin-block: 0 1.25rem;
}

.rl-product__body .wp-block-post-title {
	font-size: var(--wp--preset--font-size--huge);
	line-height: var(--wp--custom--line-height--tight);
	margin-top: 0.75rem;
}

.rl-product__body .wp-block-post-excerpt {
	font-size: var(--wp--preset--font-size--large);
}

.rl-product__body .wp-block-libraria-blej {
	margin-block: 1.75rem;
}

.rl-product__body > .rl-product__table {
	margin-top: 2rem;
}

.rl-product-page > .rl-product__description {
	margin-block: 0 var(--wp--preset--spacing--60);
}

.rl-product-page > .wp-block-libraria-tekstet,
.rl-product-page > .wp-block-libraria-te-ngjashme {
	margin-block: 0;
}

.rl-product-page > .wp-block-revista-letrare-artikujt {
	margin-block: 0;
	padding-block: clamp(2.5rem, 6vw, 4.5rem);
	border-top: 1px solid var(--wp--preset--color--rule);
}

.rl-product-page > :last-child {
	margin-bottom: var(--wp--preset--spacing--60);
}

.rl-page-title {
	margin-bottom: var(--wp--preset--spacing--50);
}

/* ---------- Search overlay ---------- */

.rl-search {
	width: 100%;
	max-width: none;
	height: 100%;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	overflow-y: auto;
}

.rl-search::backdrop {
	background: rgba(21, 20, 18, 0.35);
}

.rl-search-open {
	overflow: hidden;
}

.rl-search__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: clamp(1.25rem, 4vw, 3.5rem) clamp(1rem, 4vw, 2.5rem) 4rem;
}

.rl-search__form {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	border-bottom: 2px solid var(--wp--preset--color--contrast);
	padding-bottom: 0.5rem;
}

.rl-search__input,
.rl-search-head__input {
	flex: 1 1 auto;
	min-width: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font-family: var(--wp--preset--font-family--eb-garamond);
	font-size: clamp(1.75rem, 4.5vw, 3rem);
	line-height: 1.2;
	padding: 0.25rem 0;
}

.rl-search__input:focus,
.rl-search-head__input:focus {
	outline: none;
}

.rl-search__form:focus-within,
.rl-search-head__form:focus-within {
	border-bottom-color: var(--wp--preset--color--contrast-2);
	box-shadow: 0 2px 0 0 var(--wp--preset--color--contrast);
}

.rl-search__submit,
.rl-search-head__submit {
	min-height: 46px;
	padding: 0 1.35rem;
	border: 1px solid var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	font: inherit;
	cursor: pointer;
}

.rl-search__close {
	width: 46px;
	height: 46px;
	border: 0;
	background: transparent;
	color: inherit;
	font-size: 2rem;
	line-height: 1;
	cursor: pointer;
}

.rl-search__hint,
.rl-search-head__hint {
	margin: 0.75rem 0 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--contrast-3);
}

.rl-search__results {
	margin-top: var(--wp--preset--spacing--50);
	transition: opacity 0.15s;
}

.rl-search.is-loading .rl-search__results {
	opacity: 0.55;
}

.rl-search__understood {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 2rem;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--contrast-3);
}

.rl-search__cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
	gap: 2.5rem clamp(2rem, 5vw, 4rem);
}

.rl-search__group + .rl-search__group {
	margin-top: 2rem;
}

.rl-search__group-title {
	margin: 0 0 0.5rem;
	padding-bottom: 0.4rem;
	border-bottom: 1px solid var(--wp--preset--color--rule);
	font-family: var(--wp--preset--font-family--georgia);
	font-size: 0.75rem;
	font-weight: 400;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast-3);
}

.rl-search__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.rl-search__list a {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding: 0.55rem 0;
	border-bottom: 1px solid var(--wp--preset--color--rule);
	color: inherit;
	text-decoration: none;
}

.rl-search__list a:hover .rl-search__main,
.rl-search__list a:focus-visible .rl-search__main {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.rl-search__main {
	font-family: var(--wp--preset--font-family--eb-garamond);
	font-size: 1.3rem;
	line-height: 1.25;
}

.rl-search__meta {
	flex: 0 0 auto;
	max-width: 45%;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--contrast-3);
	text-align: right;
}

.rl-search__all {
	margin: 1.25rem 0 0;
}

.rl-search__all a {
	color: var(--wp--preset--color--contrast);
	text-underline-offset: 0.2em;
}

.rl-search__none {
	font-size: var(--wp--preset--font-size--large);
}

.rl-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.3rem 0.4rem 0.3rem 0.7rem;
	border: 1px solid var(--wp--preset--color--contrast);
	font-size: 0.9375rem;
	line-height: 1.2;
	color: var(--wp--preset--color--contrast);
}

.rl-chip__type {
	font-size: 0.6875rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast-3);
}

.rl-chip__remove {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 1.5rem;
	height: 1.5rem;
	color: inherit;
	text-decoration: none;
	font-size: 1.1rem;
}

.rl-chip__remove:hover {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

@media (max-width: 781px) {
	.rl-search__cols {
		grid-template-columns: minmax(0, 1fr);
	}
	.rl-search__col--posts {
		order: -1;
	}
	.rl-search__submit {
		display: none;
	}
}

/* ---------- Search results page ---------- */

.rl-search-head {
	padding-top: var(--wp--preset--spacing--40);
	padding-bottom: var(--wp--preset--spacing--40);
}

.rl-search-head > * {
	margin-block: 0;
}

.rl-search-head__title {
	margin-top: 0.5rem !important;
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: var(--wp--custom--line-height--tight);
}

.rl-search-head__form {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	max-width: 48rem;
	margin-top: var(--wp--preset--spacing--50) !important;
	border-bottom: 2px solid var(--wp--preset--color--contrast);
	padding-bottom: 0.4rem;
}

.rl-search-head__input {
	font-size: clamp(1.4rem, 3vw, 2rem);
}

.rl-search-head__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	margin-top: 1.5rem !important;
	padding: 0;
}

.rl-search-head__count {
	margin-top: 1rem !important;
	color: var(--wp--preset--color--contrast-3);
}

.rl-search-head__subtitle {
	margin-top: var(--wp--preset--spacing--60) !important;
	margin-bottom: 1.25rem !important;
	font-size: var(--wp--preset--font-size--x-large);
}

.rl-search-head__authors ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem 2rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.rl-search-head__authors a {
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--eb-garamond);
	font-size: 1.3rem;
	text-underline-offset: 0.2em;
}

/* ---------- Authors A–Z ---------- */

.rl-authors {
	/* The list is wider than the text column of the page. */
	width: min(1200px, 100vw - 3rem);
	max-width: none;
	margin-inline: auto;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}

.rl-authors__list li[hidden],
.rl-authors__group[hidden] {
	display: none !important;
}

.rl-authors__tools {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 1rem 2rem;
}

.rl-authors__filter {
	flex: 1 1 20rem;
	max-width: 32rem;
	padding: 0.5rem 0;
	border: 0;
	border-bottom: 2px solid var(--wp--preset--color--contrast);
	background: transparent;
	color: inherit;
	font-family: var(--wp--preset--font-family--eb-garamond);
	font-size: 1.6rem;
}

.rl-authors__filter:focus {
	outline: none;
	box-shadow: 0 2px 0 0 var(--wp--preset--color--contrast);
}

.rl-authors__total {
	margin: 0;
	color: var(--wp--preset--color--contrast-3);
	font-size: var(--wp--preset--font-size--small);
}

.rl-authors__letters {
	position: sticky;
	top: 0;
	z-index: 5;
	display: flex;
	flex-wrap: wrap;
	gap: 0.15rem;
	margin: 1.5rem 0 1rem;
	padding: 0.6rem 0;
	border-top: 1px solid var(--wp--preset--color--rule);
	border-bottom: 1px solid var(--wp--preset--color--rule);
	background: var(--wp--preset--color--base);
}

.admin-bar .rl-authors__letters {
	top: 32px;
}

.rl-authors__letters a,
.rl-authors__letters span {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	min-width: 2rem;
	height: 2rem;
	font-family: var(--wp--preset--font-family--eb-garamond);
	font-size: 1.15rem;
	text-decoration: none;
}

.rl-authors__letters a {
	color: var(--wp--preset--color--contrast);
}

.rl-authors__letters a:hover,
.rl-authors__letters a:focus-visible {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

.rl-authors__letters span,
.rl-authors__letters a.is-empty {
	color: var(--wp--preset--color--rule);
	pointer-events: none;
}

.rl-authors__group {
	display: grid;
	grid-template-columns: 4rem minmax(0, 1fr);
	gap: 1rem;
	padding: 1.5rem 0;
	border-bottom: 1px solid var(--wp--preset--color--rule);
	scroll-margin-top: 5rem;
}

.rl-authors__letter {
	margin: 0;
	font-size: 2.5rem;
	line-height: 1;
}

.rl-authors__list {
	list-style: none;
	margin: 0;
	padding: 0;
	columns: 3 15rem;
	column-gap: 2.5rem;
}


.rl-authors__list li {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.75rem;
	padding: 0.3rem 0;
	break-inside: avoid;
}

.rl-authors__list a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.rl-authors__list a:hover,
.rl-authors__list a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.rl-authors__count {
	flex: 0 0 auto;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--contrast-3);
	font-variant-numeric: tabular-nums;
}

.rl-authors__empty {
	padding: 2rem 0;
	font-size: var(--wp--preset--font-size--large);
}

@media (max-width: 600px) {
	.rl-authors__group {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.5rem;
	}
	.rl-authors__letter {
		font-size: 2rem;
	}
	.admin-bar .rl-authors__letters {
		top: 46px;
	}
}
