/*
Theme Name: cinnalattesims cozy cafe
Theme URI: https://cinnalattesims.com/
Author: cinnalattesims
Author URI: https://cinnalattesims.com/
Description: A visibly richer, fully editable café-inspired WordPress block theme for cinnalattesims games, creations, guides, downloads, status, and community pages.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 3.18.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cinnalattesims-block-theme
Tags: full-site-editing, block-patterns, block-styles, custom-colors, custom-logo, custom-menu, editor-style, featured-images, accessibility-ready, translation-ready, blog
*/

:root {
	/* Keep the bubbly café face for display moments and use Nunito for reading. */
	--wp--preset--font-family--body: Nunito, "Segoe UI", system-ui, sans-serif;
	--wp--preset--font-family--display: var(--wp--preset--font-family--milky-boba, "Milky Boba", Caveat, cursive);
	--wp--preset--font-family--handwritten: var(--wp--preset--font-family--milky-boba, "Milky Boba", Caveat, cursive);
	--wp--preset--font-family--mono: ui-monospace, "Cascadia Mono", "Segoe UI Mono", monospace;
	--csl-radius-sm: 0.65rem;
	--csl-radius: 1.1rem;
	--csl-radius-lg: 1.6rem;
	--csl-border: 1px solid color-mix(in srgb, var(--wp--preset--color--latte) 75%, transparent);
	--csl-shadow: 0 14px 38px rgba(59, 33, 24, 0.1);
}

/* Native form controls do not consistently inherit the page font. */
.wp-site-blocks :where(button, input, select, textarea) {
	font-family: var(--wp--preset--font-family--body);
}

.csl-skip-link { position:fixed; top:.5rem; left:.5rem; z-index:100000; transform:translateY(-160%); border-radius:.35rem; padding:.75rem 1rem; background:#fffaf3; color:#3b2118; box-shadow:0 4px 16px rgba(0,0,0,.25); }
.csl-skip-link:focus { transform:translateY(0); }
.csl-form-errors { border-inline-start:5px solid #b42318; padding:1rem; background:#fff1f0; }
.csl-lounge-report { margin-inline-start:.5rem; font-size:.8em; }

/* Editor-selectable Cozy Café block styles added in 3.18. */
.is-style-latte-menu {
	position: relative;
	padding: clamp(1.25rem, 3vw, 2.25rem);
	border: 2px solid #b9865d;
	border-radius: 1.25rem;
	background: linear-gradient(145deg, #fffaf0 0%, #f5e0c7 100%);
	box-shadow: 0 14px 30px rgba(82, 48, 30, .12);
}
.is-style-latte-menu::before { content: "☕ TODAY'S MENU"; display: block; margin-bottom: .8rem; color: #875130; font-size: .78rem; font-weight: 800; letter-spacing: .12em; }
.is-style-chalkboard { padding: clamp(1.3rem, 3vw, 2.35rem); border: 9px solid #81583a; border-radius: .85rem; background: radial-gradient(circle at 20% 10%, #355249, #203a33 72%); color: #fff8e8; box-shadow: inset 0 0 26px rgba(0,0,0,.2), 0 10px 22px rgba(56,34,23,.18); }
.is-style-chalkboard :where(h1,h2,h3,h4,h5,h6,p,li) { color: inherit; }
.is-style-chalkboard a:not(.wp-element-button) { color: #f6dcae; }
.is-style-pastry-box { padding: clamp(1.2rem, 3vw, 2rem); border: 2px solid #c99876; border-radius: 1.4rem .4rem 1.4rem .4rem; background: linear-gradient(135deg, #fffdf8, #f7e6dc); box-shadow: 8px 8px 0 #e7c7b0; }
.is-style-gingham-cloth { padding: clamp(1.25rem, 3vw, 2.1rem); border: 1px solid #c48e78; border-radius: 1rem; background-color: #fff8ef; background-image: linear-gradient(90deg, rgba(177,93,82,.1) 50%, transparent 50%), linear-gradient(rgba(177,93,82,.1) 50%, transparent 50%); background-size: 28px 28px; }
.is-style-cafe-window { padding: clamp(1.25rem, 3vw, 2.2rem); border: 7px double #79513a; border-radius: 42% 42% 1rem 1rem / 2.7rem 2.7rem 1rem 1rem; background: linear-gradient(180deg, #dff1ee 0%, #fffaf0 58%); box-shadow: inset 0 0 0 5px rgba(255,255,255,.65), 0 10px 24px rgba(63,39,26,.14); }
.is-style-sugar-paper { padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid #dcc8ae; border-radius: .35rem; background-color: #fffaf0; background-image: radial-gradient(#cfbaa0 0.7px, transparent 0.7px); background-size: 8px 8px; box-shadow: 0 8px 18px rgba(73,43,26,.1); }
.wp-block-image.is-style-polaroid { padding: .7rem .7rem 2.4rem; border: 1px solid #ddcdb9; background: #fffdf8; box-shadow: 0 12px 25px rgba(61,37,24,.18); transform: rotate(-1deg); }
.wp-block-image.is-style-polaroid figcaption { margin: .75rem 0 -1.7rem; font-family: var(--wp--preset--font-family--handwritten); color: #62402e; }
.wp-block-image.is-style-pastry-frame img { border: 9px solid #fff2df; border-radius: 1.35rem; outline: 2px dashed #a96f4a; outline-offset: -6px; box-shadow: 0 10px 24px rgba(70,42,27,.14); }
.wp-block-columns.is-style-cafe-tray { gap: clamp(1rem, 3vw, 2rem); padding: clamp(1rem, 2.5vw, 1.7rem); border: 2px solid #a77955; border-radius: 1.2rem; background: #f4dfc8; box-shadow: inset 0 0 0 5px #ead0b2, 0 10px 20px rgba(70,42,27,.1); }
.wp-block-button.is-style-latte-pill .wp-block-button__link { border: 2px solid #8d5c3b; border-radius: 999px; background: #f3ddc3; color: #52311f; }
.wp-block-button.is-style-espresso-button .wp-block-button__link { border: 2px solid #2f2019; border-radius: .45rem; background: linear-gradient(180deg,#67442f,#38271d); color: #fff7e8; box-shadow: 0 5px 0 #251712; }
.wp-block-button.is-style-berry-jam-button .wp-block-button__link { border: 2px solid #7b3e4b; border-radius: 1rem; background: #a84f61; color: #fffaf1; box-shadow: 0 5px 0 #6f3440; }
.wp-block-heading.is-style-menu-heading { display: flex; align-items: center; gap: .7rem; color: #58351f; }
.wp-block-heading.is-style-menu-heading::before,.wp-block-heading.is-style-menu-heading::after { content: ""; height: 1px; flex: 1; background: #b98c68; }
.wp-block-heading.is-style-handwritten-underline { display: inline-block; font-family: var(--wp--preset--font-family--handwritten); border-bottom: 4px wavy #b77a57; }
.wp-block-list.is-style-cafe-menu-list { list-style: none; padding-left: 0; }
.wp-block-list.is-style-cafe-menu-list li { display: flex; gap: .6rem; padding: .55rem 0; border-bottom: 1px dotted #b18a6c; }
.wp-block-list.is-style-cafe-menu-list li::before { content: "☕"; flex: 0 0 auto; }
.wp-block-separator.is-style-steam-curl { width: 7rem; height: 1.4rem; margin-inline: auto; border: 0; background: radial-gradient(ellipse at center, transparent 43%, #a77445 45%, #a77445 51%, transparent 53%) 0 0 / 2.3rem 1.4rem repeat-x; opacity: .8; }

/* Café-reference components added in 3.2. */
.csl-daily-special {
	position: relative;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--cinnamon) 38%, transparent);
	border-radius: var(--csl-radius-lg);
	background: linear-gradient(135deg, var(--wp--preset--color--white), var(--wp--preset--color--oat));
	box-shadow: var(--csl-shadow);
	padding: clamp(1.1rem, 3vw, 2rem);
}

.csl-daily-special::after {
	content: "☕";
	position: absolute;
	right: 1rem;
	top: 0.45rem;
	color: color-mix(in srgb, var(--wp--preset--color--cinnamon) 18%, transparent);
	font-size: clamp(3rem, 9vw, 7rem);
	pointer-events: none;
}

.csl-daily-special > * {
	position: relative;
	z-index: 1;
}

.csl-cafe-stamp,
.csl-core-badge.csl-cafe-stamp {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	border: 2px solid currentColor;
	border-radius: 999px;
	padding: 0.35rem 0.65rem;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	transform: rotate(-1deg);
}

.csl-cafe-order-number {
	font-family: var(--wp--preset--font-family--handwritten);
	font-size: 1.1em;
	font-weight: 700;
}

.csl-cafe-state-sign {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	border: 1px solid currentColor;
	border-radius: 999px;
	padding: 0.4rem 0.75rem;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

html {
	scroll-behavior: smooth;
}

body {
	overflow-wrap: break-word;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	text-underline-offset: 0.18em;
	text-decoration-thickness: 0.08em;
}

a:hover {
	text-decoration-thickness: 0.13em;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--gold);
	outline-offset: 3px;
}

input,
select,
textarea {
	box-sizing: border-box;
	max-width: 100%;
	min-height: 2.75rem;
	border: 1px solid var(--wp--preset--color--latte);
	border-radius: var(--csl-radius-sm);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--espresso);
	padding: 0.7rem 0.85rem;
	font: inherit;
}

textarea {
	min-height: 8rem;
}

::selection {
	background: var(--wp--preset--color--caramel);
	color: var(--wp--preset--color--white);
}

.wp-site-blocks {
	min-height: 100vh;
}

.wp-site-blocks > header {
	position: relative;
	z-index: 20;
}

.csl-topbar {
	font-size: 0.78rem;
	letter-spacing: 0.04em;
}

.csl-site-header {
	box-shadow: 0 5px 22px rgba(59, 33, 24, 0.07);
}

.csl-site-header__inner {
	min-height: 5rem;
	display: grid !important;
	grid-template-columns: minmax(210px, auto) minmax(0, 1fr) auto;
	gap: clamp(0.8rem, 1.8vw, 1.8rem);
	align-items: center;
}

.csl-brand,
.csl-header-actions {
	min-width: 0;
	flex-shrink: 0;
}

.csl-primary-nav {
	min-width: 0;
}

.csl-primary-nav .wp-block-navigation__container {
	column-gap: clamp(0.7rem, 1.2vw, 1.15rem);
	row-gap: 0.35rem;
	justify-content: center;
}

.csl-brand .wp-block-site-logo img {
	border-radius: 50%;
}

.csl-brand .wp-block-site-title {
	margin: 0;
}

.csl-brand .wp-block-site-tagline {
	margin: 0.1rem 0 0;
	font-size: 0.68rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.csl-primary-nav .wp-block-navigation-item__content {
	font-weight: 650;
	white-space: nowrap;
}

.csl-header-actions,
.csl-header-actions .wp-block-buttons,
.csl-header-actions .wp-block-button,
.csl-header-actions .wp-block-button__link {
	white-space: nowrap;
}

.csl-header-actions .wp-block-search__button-only .wp-block-search__inside-wrapper {
	width: auto;
}

.csl-header-actions .wp-block-search__button {
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0.65rem;
}

.csl-visual-hero {
	margin-block: clamp(1rem, 2vw, 2rem) clamp(2rem, 4vw, 4rem);
	border: 1px solid rgba(255, 248, 239, 0.22);
	border-radius: var(--csl-radius-lg);
	box-shadow: 0 24px 60px rgba(44, 24, 16, 0.2);
	overflow: hidden;
}

.csl-visual-hero .wp-block-cover__background {
	background: linear-gradient(90deg, rgba(42, 21, 14, 0.82) 0%, rgba(58, 31, 21, 0.62) 52%, rgba(49, 26, 18, 0.26) 100%) !important;
}

.csl-visual-hero__content {
	margin-inline: 0 auto !important;
	padding: clamp(1.4rem, 4vw, 4rem);
	text-shadow: 0 2px 18px rgba(33, 15, 10, 0.42);
}

.csl-visual-hero__content h1,
.csl-visual-hero__content .csl-lede,
.csl-visual-hero__content .csl-kicker {
	color: var(--wp--preset--color--cream) !important;
}

.csl-visual-hero__content .csl-kicker {
	color: var(--wp--preset--color--caramel) !important;
}

.csl-visual-hero__content .is-style-outline .wp-block-button__link {
	border-color: var(--wp--preset--color--cream);
	color: var(--wp--preset--color--cream);
}

.csl-card-image {
	margin: calc(var(--wp--preset--spacing--40) * -1) calc(var(--wp--preset--spacing--40) * -1) var(--wp--preset--spacing--30);
	width: calc(100% + (var(--wp--preset--spacing--40) * 2));
	overflow: hidden;
	border-radius: var(--csl-radius) var(--csl-radius) 0 0;
}

.csl-card-image img {
	display: block;
	width: 100%;
	transition: transform 260ms ease;
}

.csl-card:hover .csl-card-image img {
	transform: scale(1.025);
}

.csl-feature-split {
	margin-block: clamp(2rem, 5vw, 5rem);
	padding: clamp(1rem, 2vw, 1.6rem);
	border: var(--csl-border);
	border-radius: var(--csl-radius-lg);
	background: var(--wp--preset--color--cream);
	box-shadow: var(--csl-shadow);
}

.csl-feature-split .csl-card-image {
	margin: 0;
	width: 100%;
	border-radius: var(--csl-radius);
}

.csl-primary-nav .wp-block-navigation__submenu-container {
	min-width: 15rem !important;
	border: var(--csl-border) !important;
	border-radius: var(--csl-radius-sm) !important;
	box-shadow: var(--csl-shadow);
	padding: 0.45rem !important;
}

.csl-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	border-radius: 0.45rem;
	padding: 0.62rem 0.72rem;
}

.csl-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--oat);
}

.csl-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--cream) !important;
	color: var(--wp--preset--color--espresso) !important;
	padding: clamp(1.25rem, 5vw, 3rem);
}

.csl-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: stretch;
}

.csl-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	width: 100%;
	align-items: stretch;
	gap: 0;
}

.csl-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	align-items: stretch;
	width: 100%;
}

.csl-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	width: 100%;
	border-bottom: 1px solid var(--wp--preset--color--latte);
	padding: 0.8rem 0;
}

.csl-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	position: static;
	width: 100% !important;
	min-width: 0 !important;
	border: 0 !important;
	box-shadow: none;
	padding-left: 1rem !important;
}

.csl-hero {
	position: relative;
	overflow: hidden;
	border: var(--csl-border);
	border-radius: var(--csl-radius-lg);
	box-shadow: var(--csl-shadow);
}

.csl-hero::after {
	position: absolute;
	right: -7rem;
	bottom: -8rem;
	width: 18rem;
	height: 18rem;
	border: 2rem solid rgba(201, 109, 53, 0.09);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.csl-hero > * {
	position: relative;
	z-index: 1;
}

.csl-kicker {
	margin-bottom: 0.55rem !important;
	color: var(--wp--preset--color--cinnamon);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.csl-lede {
	font-size: clamp(1.05rem, 1rem + 0.35vw, 1.28rem);
	line-height: 1.6;
}

.csl-section {
	padding-block: clamp(2.5rem, 5vw, 5.5rem);
}

.csl-section--compact {
	padding-block: clamp(1.5rem, 3vw, 3rem);
}

.csl-section-heading {
	margin-bottom: clamp(1.25rem, 2.5vw, 2.25rem);
}

.csl-card,
.is-style-cafe-card {
	box-sizing: border-box;
	height: 100%;
	border: var(--csl-border);
	border-radius: var(--csl-radius);
	background: var(--wp--preset--color--white);
	box-shadow: 0 8px 24px rgba(59, 33, 24, 0.06);
	padding: clamp(1.15rem, 2vw, 1.65rem);
}

.csl-card > :first-child,
.is-style-cafe-card > :first-child {
	margin-top: 0;
}

.csl-card > :last-child,
.is-style-cafe-card > :last-child {
	margin-bottom: 0;
}

.is-style-soft-panel {
	border: var(--csl-border);
	border-radius: var(--csl-radius);
	background: var(--wp--preset--color--oat);
	padding: clamp(1.15rem, 2vw, 1.7rem);
}

.is-style-espresso-panel {
	border-radius: var(--csl-radius);
	background: var(--wp--preset--color--espresso);
	color: var(--wp--preset--color--cream);
	padding: clamp(1.25rem, 3vw, 2.2rem);
}

.is-style-espresso-panel :where(h1, h2, h3, h4, h5, h6, p, li) {
	color: inherit;
}

.is-style-espresso-panel a:not(.wp-element-button) {
	color: var(--wp--preset--color--latte);
}

.is-style-stitch-border {
	border: 2px dashed var(--wp--preset--color--latte);
	border-radius: var(--csl-radius);
	padding: clamp(1.15rem, 2vw, 1.7rem);
}

.is-style-soft-frame img {
	border: 0.55rem solid var(--wp--preset--color--white);
	border-radius: var(--csl-radius);
	box-shadow: var(--csl-shadow);
}

.is-style-cafe-note {
	border-left: 0.35rem solid var(--wp--preset--color--caramel);
	border-radius: 0 var(--csl-radius) var(--csl-radius) 0;
	background: var(--wp--preset--color--oat);
	padding: 1.2rem 1.5rem;
}

.is-style-check-list {
	list-style: none;
	padding-left: 0;
}

.is-style-check-list li {
	position: relative;
	padding-left: 1.7rem;
}

.is-style-check-list li::before {
	position: absolute;
	left: 0;
	color: var(--wp--preset--color--success);
	font-weight: 900;
	content: "✓";
}

.csl-icon-tile {
	display: grid;
	place-items: center;
	width: 2.65rem;
	height: 2.65rem;
	border-radius: 50%;
	background: var(--wp--preset--color--oat);
	font-size: 1.25rem;
}

.csl-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	width: fit-content;
	border: 1px solid currentColor;
	border-radius: 999px;
	padding: 0.26rem 0.66rem;
	font-size: 0.75rem;
	font-weight: 750;
	line-height: 1.2;
}

.csl-placeholder {
	display: grid;
	min-height: 14rem;
	place-items: center;
	border: 2px dashed var(--wp--preset--color--latte);
	border-radius: var(--csl-radius);
	background: var(--wp--preset--color--oat);
	color: var(--wp--preset--color--cocoa);
	padding: 1.5rem;
	text-align: center;
}

.csl-query-grid .wp-block-post-template {
	align-items: stretch;
}

.csl-query-grid .wp-block-post {
	box-sizing: border-box;
	height: 100%;
	border: var(--csl-border);
	border-radius: var(--csl-radius);
	background: var(--wp--preset--color--white);
	box-shadow: 0 8px 24px rgba(59, 33, 24, 0.06);
	padding: 1rem;
}

.csl-query-grid .wp-block-post-featured-image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 0.75rem;
	object-fit: cover;
}

.csl-query-grid .wp-block-post-title {
	margin-top: 0.85rem;
}

.csl-query-grid .wp-block-post-excerpt__more-link {
	font-weight: 750;
}

.csl-post-meta {
	color: var(--wp--preset--color--cocoa);
	font-size: 0.84rem;
}

.csl-sidebar {
	position: sticky;
	top: 1.5rem;
}

.csl-form-slot {
	border: 2px dashed var(--wp--preset--color--latte);
	border-radius: var(--csl-radius);
	background: var(--wp--preset--color--oat);
	padding: clamp(1.2rem, 3vw, 2rem);
}

.csl-footer a {
	color: inherit;
}

.csl-footer .wp-block-navigation-item__content {
	padding: 0.18rem 0;
}

.csl-footer-bottom {
	border-top: 1px solid rgba(245, 232, 216, 0.25);
}

.wp-block-search__inside-wrapper {
	border-radius: 999px !important;
}

.wp-block-details {
	border-bottom: 1px solid var(--wp--preset--color--latte);
	padding: 0.85rem 0;
}

.wp-block-details summary {
	cursor: pointer;
	font-weight: 750;
}

.wp-block-separator {
	border-color: var(--wp--preset--color--latte);
	opacity: 1;
}

@media (max-width: 1180px) {
	.csl-site-header__inner {
		grid-template-columns: minmax(210px, 1fr) auto auto;
	}

	.csl-brand .wp-block-site-tagline,
	.csl-header-actions .wp-block-search {
		display: none;
	}

	.csl-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	.csl-primary-nav .wp-block-navigation__responsive-container-open {
		display: flex !important;
	}
}

@media (max-width: 782px) {
	:root {
		--csl-radius-lg: 1.2rem;
	}

	.csl-topbar .wp-block-group {
		justify-content: center;
		text-align: center;
	}

	.csl-site-header__inner {
		min-height: 4.3rem;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.csl-brand .wp-block-site-tagline,
	.csl-header-actions > .wp-block-buttons {
		display: none;
	}

	.csl-header-actions {
		display: none !important;
	}

	.csl-visual-hero {
		min-height: 440px !important;
	}

	.csl-visual-hero__content {
		padding: 1.35rem;
	}

	.csl-hero .wp-block-columns,
	.csl-section .wp-block-columns {
		gap: 1.25rem;
	}

	.csl-sidebar {
		position: static;
	}

	.wp-block-buttons > .wp-block-button {
		flex-grow: 1;
	}

	.wp-block-buttons > .wp-block-button .wp-block-button__link {
		width: 100%;
		text-align: center;
	}
}

/* 3.18.2: show the complete featured image on individual entries without
 * changing the cropped thumbnail treatment used by library/gallery cards. */
body.single #csl-main-content > .wp-block-post-featured-image {
	border: 1px solid rgba(155, 79, 46, 0.2);
	border-radius: 0.85rem;
	background: var(--wp--preset--color--cream, #fff8ed);
}

body.single #csl-main-content > .wp-block-post-featured-image img {
	width: 100%;
	height: auto !important;
	max-height: min(68vh, 42rem);
	aspect-ratio: auto !important;
	object-fit: contain !important;
	object-position: center;
}

/* Chalkboard headings stay light; nested cream record cards use dark café ink. */
.is-style-chalkboard :where(.csl-core-library-card, .csl-core-card, .csl-core-empty) {
	color: #3b2118;
	text-shadow: none;
}

.is-style-chalkboard :where(.csl-core-library-card, .csl-core-card, .csl-core-empty) :where(h1, h2, h3, h4, h5, h6, p, li, time, span) {
	color: #3b2118;
	text-shadow: none;
}

.is-style-chalkboard :where(.csl-core-library-card, .csl-core-card, .csl-core-empty) a:not(.wp-element-button) {
	color: #75452c;
	text-decoration-color: #a77445;
}

/* 3.12 illustrated café-room pass: cinematic scenes with editable live copy. */

/* 3.13 launch-polish pass: clearer shelves, café dashboard, and route cards. */
.csl-first-order .csl-card,.csl-cafe-map .csl-card,.csl-archive-shelves .csl-card{background:linear-gradient(160deg,#fffaf1,#f3e1c8);border-color:#c99a68}
.csl-first-order .csl-card-icon,.csl-archive-shelves .csl-card-icon{background:#315b45;color:#fff8e9;border-radius:999px;min-width:2.35rem;text-align:center;padding:.35rem .55rem}
.csl-open-sign{border:3px double #c99a68;background:linear-gradient(135deg,#294d3b,#18372b);color:#fff8e9;box-shadow:0 10px 28px rgba(55,31,18,.16)}
.csl-open-sign h2,.csl-open-sign p{color:inherit}
.csl-mail-slots .csl-card,.csl-support-sizes .csl-card{position:relative;overflow:hidden}
.csl-mail-slots .csl-card:before{content:'✉';position:absolute;right:1rem;top:.8rem;color:#b56f4a;opacity:.65;font-size:1.35rem}
.csl-support-sizes .csl-card{border-top:6px solid #315b45}
.csl-page-hero[class*="csl-hero--"] {
	min-height: clamp(430px, 43vw, 610px) !important;
	border: 9px solid #744a2f;
	border-radius: 26px;
	box-shadow: 0 22px 52px rgba(54, 33, 22, .24);
	overflow: hidden;
}

.csl-page-hero[class*="csl-hero--"] .wp-block-cover__image-background {
	object-position: center center;
}

.csl-page-hero[class*="csl-hero--"] .wp-block-cover__background {
	opacity: 1 !important;
	background: linear-gradient(90deg, rgba(24, 38, 32, .97) 0%, rgba(29, 44, 37, .92) 31%, rgba(29, 44, 37, .58) 48%, rgba(29, 44, 37, .08) 67%, transparent 82%) !important;
}

.csl-page-hero[class*="csl-hero--"]::after {
	background: linear-gradient(180deg, rgba(255,255,255,.04), transparent 38%, rgba(43,25,16,.12));
}

.csl-page-hero[class*="csl-hero--"] .csl-page-hero__copy {
	width: min(43%, 610px);
	padding: clamp(1.45rem, 3.2vw, 3.5rem);
	background: linear-gradient(135deg, rgba(28,43,36,.6), rgba(28,43,36,.12));
	border: 1px solid rgba(255, 244, 224, .16);
	border-radius: 18px;
	backdrop-filter: blur(2px);
}

.csl-page-hero[class*="csl-hero--"] .csl-page-hero__copy h1 {
	max-width: 12ch;
	font-size: clamp(2.55rem, 4.7vw, 4.85rem);
	text-shadow: 0 4px 18px rgba(0,0,0,.38);
}

.csl-page-hero[class*="csl-hero--"] .csl-page-hero__subtitle {
	font-size: clamp(1.05rem, 1.8vw, 1.55rem) !important;
	color: #f1bd82 !important;
}

.csl-page-hero[class*="csl-hero--"] + .csl-page-section,
.csl-page-hero[class*="csl-hero--"] ~ .csl-page-section {
	position: relative;
}

.csl-hero--cozy-finds ~ .csl-page-section .csl-core-library-card,
.csl-hero--cinnas-cozy-picks ~ .csl-page-section .csl-core-library-card {
	border-bottom: 10px solid #7a4c2f;
	box-shadow: 0 12px 24px rgba(72, 43, 25, .16);
}

.csl-hero--ideas-roadmap ~ .csl-page-section,
.csl-hero--community-hub-cozy-lounge ~ .csl-page-section {
	background-image: radial-gradient(circle at 12px 12px, rgba(93,57,33,.08) 1px, transparent 1.5px);
	background-size: 24px 24px;
}

.csl-hero--contact-the-cafe ~ .csl-page-section .csl-form-frame,
.csl-hero--report-a-problem ~ .csl-page-section .csl-form-frame {
	border-width: 2px;
	border-radius: 7px;
	transform: rotate(-.25deg);
}

.csl-hero--policies-terms ~ .csl-page-section {
	border-left: 8px solid #29463a;
	box-shadow: 0 12px 28px rgba(46,31,21,.1);
}

@media (max-width: 782px) {
	.csl-page-hero[class*="csl-hero--"] {
		min-height: 560px !important;
		border-width: 6px;
		background-color: #1d2d26;
	}

	.csl-page-hero[class*="csl-hero--"] .wp-block-cover__image-background {
		object-position: 66% center;
	}

	.csl-page-hero[class*="csl-hero--"] .wp-block-cover__background {
		background: linear-gradient(180deg, rgba(25,39,33,.92) 0%, rgba(25,39,33,.72) 58%, rgba(25,39,33,.34) 100%) !important;
	}

	.csl-page-hero[class*="csl-hero--"] .csl-page-hero__copy {
		width: auto;
		margin: 1rem;
		padding: 1.35rem;
		background: rgba(25, 39, 33, .72);
	}

	.csl-page-hero[class*="csl-hero--"] .csl-page-hero__copy h1 {
		font-size: clamp(2.35rem, 12vw, 3.45rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.csl-hero--contact-the-cafe ~ .csl-page-section .csl-form-frame,
	.csl-hero--report-a-problem ~ .csl-page-section .csl-form-frame {
		transform: none;
	}
}

/* 3.11 page-room redesign: shelves, counters, corkboards and stationery. */
.csl-hero--cozy-finds::before { content: "café gift shop"; }
.csl-hero--cinnas-cozy-picks::before { content: "barista’s recommendation counter"; }
.csl-hero--mods-downloads-compatibility::before { content: "digital bakery counter"; }
.csl-hero--community-hub-cozy-lounge::before { content: "pull up a chair"; }
.csl-hero--cozy-guest-book::before { content: "open on the café counter"; }
.csl-hero--need-a-hand::before { content: "Bean is on counter duty"; }
.csl-hero--support-the-cafe::before { content: "tip jar and wall of regulars"; }
.csl-hero--about-cinna::before { content: "behind-the-counter scrapbook"; }
.csl-hero--contact-the-cafe::before { content: "send a postcard"; }

.csl-wood-shelf,
.csl-download-counter,
.csl-reading-nook {
	border-bottom: 14px solid #72482f;
	background: linear-gradient(180deg, #fffaf0, #f2dcc2);
	box-shadow: 0 16px 0 #4e3022, 0 22px 36px rgba(61,35,23,.18);
}

.csl-shop-shelves .csl-card,
.csl-chalk-menu .csl-card,
.csl-book-spines .csl-card,
.csl-policy-tabs .csl-card {
	min-height: 9.5rem;
	box-shadow: inset 0 -5px 0 rgba(98,57,35,.12), 0 7px 16px rgba(68,39,24,.12);
}

.csl-chalk-menu .csl-card {
	border-color: #c8ab7f;
	background: #263d35;
	color: #fff8e9;
}

.csl-chalk-menu .csl-card :where(h3,p,a) { color: inherit; }

.csl-book-spines .csl-card:nth-child(5n+1) { background: #425e47; color: #fff8e9; }
.csl-book-spines .csl-card:nth-child(5n+2) { background: #864d3b; color: #fff8e9; }
.csl-book-spines .csl-card:nth-child(5n+3) { background: #46677a; color: #fff8e9; }
.csl-book-spines .csl-card:nth-child(5n+4) { background: #767443; color: #fff8e9; }
.csl-book-spines .csl-card:nth-child(5n+5) { background: #a5533e; color: #fff8e9; }
.csl-book-spines .csl-card :where(h3,p,a) { color: inherit; }

.csl-featured-counter {
	position: relative;
	border: 8px solid #7a5035;
	background: linear-gradient(135deg, #fff7e7, #f3d7bd);
}

.csl-featured-ribbon {
	position: absolute;
	z-index: 2;
	top: .65rem;
	left: -.55rem;
	padding: .4rem .8rem;
	border-radius: .25rem;
	background: #365f49;
	color: #fff;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 800;
	transform: rotate(-3deg);
}

.csl-core-recommendations--find .csl-core-card {
	border-radius: .35rem;
	background: #fff8e9;
}

.csl-core-recommendations--find .csl-core-card__body::after {
	display: inline-block;
	margin-top: .7rem;
	padding: .25rem .55rem;
	border: 1px dashed #9a6545;
	border-radius: .25rem;
	content: "café shelf pick";
	font-family: var(--wp--preset--font-family--handwritten);
	color: #7b402c;
}

.csl-why-note {
	padding: .75rem;
	background: #fff1c9;
	box-shadow: 2px 3px 8px rgba(63,38,24,.12);
	font-family: var(--wp--preset--font-family--handwritten) !important;
	transform: rotate(-1deg);
}

.csl-order-stamps .csl-card:nth-child(1) { border-top: 6px solid #4f8a5d; }
.csl-order-stamps .csl-card:nth-child(2) { border-top: 6px solid #6c9a72; }
.csl-order-stamps .csl-card:nth-child(3) { border-top: 6px solid #dda238; }
.csl-order-stamps .csl-card:nth-child(4) { border-top: 6px solid #df7044; }
.csl-order-stamps .csl-card:nth-child(5) { border-top: 6px solid #b94d4b; }
.csl-order-stamps .csl-card:nth-child(6) { border-top: 6px solid #85817c; }

.csl-corkboard,
.csl-polaroid-wall,
.csl-regulars-wall {
	border: 12px solid #75472f;
	background: #c79b6c;
	box-shadow: inset 0 0 24px rgba(76,42,23,.22), 0 16px 30px rgba(59,33,24,.14);
}

.csl-sticky-statuses .csl-card,
.csl-core-suggestion,
.csl-regulars-wall p {
	border-radius: .2rem;
	background: #fff0bc;
	box-shadow: 2px 5px 10px rgba(66,38,23,.18);
}

.csl-sticky-statuses .csl-card:nth-child(even),
.csl-core-suggestion:nth-child(even) { background: #f6cfc5; transform: rotate(.5deg); }
.csl-sticky-statuses .csl-card:nth-child(3n),
.csl-core-suggestion:nth-child(3n) { background: #dbe6cb; transform: rotate(-.5deg); }

.csl-polaroid-wall .csl-core-card {
	border: 10px solid #fffaf0;
	border-bottom-width: 2.8rem;
	border-radius: 0;
	transform: rotate(-1deg);
}
.csl-polaroid-wall .csl-core-card:nth-child(even) { transform: rotate(1deg); }

.csl-mail-slots .csl-card,
.csl-postage-stamps .csl-card {
	border: 2px dashed #b77b69;
	background: linear-gradient(135deg, #fff8ed, #f4dccf);
}

.csl-hero--contact-the-cafe ~ .csl-page-section .csl-form-frame {
	border: 12px solid transparent;
	border-image: repeating-linear-gradient(45deg,#b45f4c 0 10px,#fff8eb 10px 20px,#4f7d77 20px 30px,#fff8eb 30px 40px) 12;
}

.csl-repair-ticket,
.csl-hero--report-a-problem ~ .csl-page-section .csl-form-frame {
	background: #fff8e9;
	border: 2px dashed #9d6948;
}

.csl-scrapbook-cards .csl-card,
.csl-cafe-timeline .csl-card {
	border-radius: .2rem;
	background: #fff7e7;
	box-shadow: 4px 7px 14px rgba(65,38,23,.15);
}

.csl-policy-menu {
	padding: 1rem;
	border-block: 6px solid #28473d;
	background: #f5e6cf;
}

.csl-policy-tabs .csl-card {
	min-height: 7.5rem;
	border-top: 7px solid #28473d;
	background: #fffaf0;
}

.csl-hero--policies-terms ~ .csl-page-section.csl-panel {
	box-shadow: none;
	border-color: #d9bfa1;
	background: #fffaf0;
}

@media (max-width: 782px) {
	.csl-book-spines .csl-card,
	.csl-sticky-statuses .csl-card,
	.csl-polaroid-wall .csl-core-card { transform: none !important; }
}

@media (max-width: 480px) {
	.csl-brand .wp-block-site-logo {
		display: none;
	}

	.csl-query-grid .wp-block-post-template {
		grid-template-columns: 1fr !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

@media print {
	.csl-topbar,
	.csl-primary-nav,
	.csl-header-actions,
	.csl-footer-cta {
		display: none !important;
	}

	body {
		background: #fff;
		color: #000;
	}
}

/* -------------------------------------------------------------------------
 * Version 2.0 visual system — rebuilt from the approved 18-page mockup set.
 * These classes style normal editable core blocks and companion-plugin blocks.
 * ---------------------------------------------------------------------- */

main.wp-block-group {
	padding-block: clamp(1rem, 2.4vw, 2rem) clamp(3rem, 7vw, 6rem);
}

.csl-page-hero {
	margin-block: 0 clamp(1.8rem, 4vw, 3.4rem);
	min-height: clamp(360px, 45vw, 520px) !important;
	border: 1px solid var(--wp--preset--color--latte);
	border-radius: clamp(1rem, 2vw, 1.6rem);
	box-shadow: var(--csl-shadow);
	overflow: hidden;
}

.csl-page-hero .wp-block-cover__background {
	background: linear-gradient(90deg, rgba(48, 25, 17, 0.88) 0%, rgba(55, 29, 19, 0.66) 44%, rgba(55, 29, 19, 0.16) 76%, transparent 100%) !important;
	opacity: 1 !important;
}

.csl-page-hero__copy {
	width: min(100%, 620px);
	margin: 0 !important;
	padding: clamp(1.5rem, 5vw, 4rem);
	text-shadow: 0 2px 22px rgba(29, 13, 8, 0.5);
}

.csl-page-hero__copy h1 {
	margin: 0;
	font-family: var(--wp--preset--font-family--handwritten);
	font-size: clamp(2.7rem, 7vw, 5.7rem);
	font-weight: 700;
	line-height: 0.98;
}

.csl-page-hero__subtitle {
	margin: 0.65rem 0;
	font-family: var(--wp--preset--font-family--handwritten);
	font-weight: 700;
}

.csl-page-hero .csl-action-row {
	margin-top: 1.5rem;
}

.csl-page-hero .is-style-outline .wp-block-button__link {
	border-color: var(--wp--preset--color--cream);
	background: rgba(255, 249, 242, 0.9);
	color: var(--wp--preset--color--espresso);
	text-shadow: none;
}

.csl-page-section {
	margin-block: clamp(1.6rem, 4vw, 3.5rem);
}

.csl-page-section.is-style-soft-panel,
.csl-page-section.csl-panel {
	border: var(--csl-border);
	border-radius: var(--csl-radius-lg);
	background: color-mix(in srgb, var(--wp--preset--color--white) 88%, var(--wp--preset--color--oat));
	box-shadow: 0 9px 30px rgba(59, 33, 24, 0.05);
	padding: clamp(1rem, 3vw, 2rem);
}

.csl-section-heading {
	margin-bottom: clamp(1rem, 2vw, 1.6rem);
}

.csl-section-heading h2,
.csl-page-section > h2,
.csl-page-section > .wp-block-heading {
	font-family: var(--wp--preset--font-family--handwritten);
	letter-spacing: -0.02em;
}

.csl-grid {
	display: grid;
	gap: clamp(0.8rem, 1.8vw, 1.25rem);
}

.csl-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.csl-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.csl-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.csl-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.csl-grid--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.csl-v2-card,
.csl-list-panel,
.csl-note-card {
	height: 100%;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--latte) 82%, transparent);
	border-radius: var(--csl-radius);
	background: color-mix(in srgb, var(--wp--preset--color--white) 94%, var(--wp--preset--color--oat));
	box-shadow: 0 7px 22px rgba(59, 33, 24, 0.055);
	padding: clamp(0.9rem, 2.2vw, 1.35rem);
}

.csl-v2-card > :first-child,
.csl-list-panel > :first-child {
	margin-top: 0;
}

.csl-v2-card > :last-child,
.csl-list-panel > :last-child {
	margin-bottom: 0;
}

.csl-v2-card .csl-card-image {
	margin: calc(clamp(0.9rem, 2.2vw, 1.35rem) * -1) calc(clamp(0.9rem, 2.2vw, 1.35rem) * -1) 1rem;
	width: calc(100% + (clamp(0.9rem, 2.2vw, 1.35rem) * 2));
}

.csl-v2-card .csl-card-image img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.csl-card-icon {
	margin: 0 0 0.35rem;
}

.csl-kicker,
.csl-eyebrow {
	margin-bottom: 0.35rem;
	color: var(--wp--preset--color--cinnamon);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.csl-closing-banner {
	gap: 1rem 2rem;
	margin-block: clamp(2rem, 5vw, 4rem) 0;
	border: var(--csl-border);
	border-radius: var(--csl-radius-lg);
	padding: clamp(1.25rem, 3vw, 2.2rem);
}

.csl-closing-banner h2 {
	margin: 0;
	font-family: var(--wp--preset--font-family--handwritten);
}

.csl-list-panel ul {
	margin-bottom: 0;
}

.csl-step-list {
	counter-reset: cozy-step;
}

.csl-step-list > .wp-block-group {
	position: relative;
	padding-left: 4rem;
}

.csl-step-list > .wp-block-group::before {
	counter-increment: cozy-step;
	content: counter(cozy-step);
	position: absolute;
	top: 1rem;
	left: 1rem;
	display: grid;
	width: 2.15rem;
	height: 2.15rem;
	place-items: center;
	border-radius: 50%;
	background: var(--wp--preset--color--cinnamon);
	color: var(--wp--preset--color--white);
	font-weight: 800;
}

.csl-policy-layout > .wp-block-column:first-child,
.csl-sticky-aside {
	position: sticky;
	top: 1rem;
	align-self: flex-start;
}

.csl-policy-section {
	border-bottom: 1px solid var(--wp--preset--color--latte);
	padding-block: 0.6rem 1.2rem;
}

.csl-policy-section h2 {
	font-family: var(--wp--preset--font-family--handwritten);
	font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.csl-form-frame {
	border: var(--csl-border);
	border-radius: var(--csl-radius-lg);
	background: var(--wp--preset--color--white);
	padding: clamp(1rem, 3vw, 2rem);
}

.csl-table-wrap {
	overflow-x: auto;
	border: var(--csl-border);
	border-radius: var(--csl-radius);
}

.csl-table-wrap table {
	min-width: 680px;
}

.csl-site-header {
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--latte) 55%, transparent);
}

.csl-topbar a {
	color: var(--wp--preset--color--caramel);
}

.csl-footer .wp-block-site-title a,
.csl-footer a {
	color: var(--wp--preset--color--cream);
}

@media (max-width: 1050px) {
	.csl-grid--5,
	.csl-grid--6 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.csl-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 800px) {
	.csl-grid--3,
	.csl-grid--5,
	.csl-grid--6 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.csl-page-hero .wp-block-cover__background {
		background: rgba(48, 25, 17, 0.7) !important;
	}

	.csl-policy-layout > .wp-block-column:first-child,
	.csl-sticky-aside {
		position: static;
	}
}

@media (max-width: 560px) {
	.csl-grid--2,
	.csl-grid--3,
	.csl-grid--4,
	.csl-grid--5,
	.csl-grid--6 {
		grid-template-columns: 1fr;
	}

	.csl-page-hero__copy {
		padding: 1.25rem;
	}

	.csl-closing-banner .wp-block-buttons,
	.csl-closing-banner .wp-block-button {
		width: 100%;
	}
}

/* -------------------------------------------------------------------------
 * Version 2.1 accuracy pass — tighter proportions from the approved mockups.
 * ---------------------------------------------------------------------- */

body {
	font-size: 0.94rem;
}

:where(.wp-site-blocks) .alignwide {
	width: min(1320px, calc(100vw - 2rem));
	max-width: min(1320px, calc(100vw - 2rem)) !important;
}

main.wp-block-group {
	padding-block: clamp(0.8rem, 1.6vw, 1.35rem) clamp(2.5rem, 5vw, 4.5rem);
}

main.wp-block-group > .wp-block-post-content {
	width: 100%;
	max-width: none !important;
}

.csl-topbar {
	font-size: 0.7rem;
}

.csl-topbar > .alignwide {
	min-height: 1.1rem;
}

.csl-site-header {
	padding-block: 0.48rem !important;
}

.csl-site-header__inner {
	min-height: 3.8rem;
	grid-template-columns: minmax(250px, 0.92fr) minmax(0, 2.25fr) auto;
	gap: clamp(0.55rem, 1vw, 1rem);
}

.csl-brand {
	gap: 0.6rem;
}

.csl-brand .wp-block-site-logo img {
	width: 38px;
}

.csl-brand .wp-block-site-title {
	font-size: clamp(1.55rem, 2vw, 2rem) !important;
	line-height: 1;
}

.csl-brand .wp-block-site-tagline {
	font-size: 0.58rem !important;
	letter-spacing: 0.11em;
}

.csl-primary-nav {
	font-size: clamp(0.72rem, 0.83vw, 0.84rem);
}

.csl-primary-nav .wp-block-navigation__container {
	column-gap: clamp(0.48rem, 0.8vw, 0.82rem);
	row-gap: 0;
	flex-wrap: nowrap !important;
}

.csl-primary-nav .wp-block-navigation-item__content {
	font-weight: 750;
}

.csl-header-actions {
	gap: 0.55rem;
}

.csl-header-actions .wp-block-search__button {
	min-width: 2.35rem;
	min-height: 2.35rem;
	padding: 0.5rem;
}

.csl-header-actions .wp-block-button__link {
	padding: 0.6rem 0.9rem;
	font-size: 0.74rem;
}

.csl-header-actions .csl-my-cafe-button .wp-block-button__link {
	border: 1px solid #76462f;
	border-radius: 999px;
	background: linear-gradient(180deg, #a95f3d, #84472f);
	color: #fffaf1;
	box-shadow: 0 4px 10px rgba(76, 40, 25, 0.2);
}

.csl-header-actions .csl-my-cafe-button .wp-block-button__link:hover,
.csl-header-actions .csl-my-cafe-button .wp-block-button__link:focus-visible {
	background: linear-gradient(180deg, #925035, #6e3b29);
	color: #fffdf7;
}

.csl-page-hero {
	min-height: clamp(300px, 29vw, 375px) !important;
	margin-bottom: clamp(1.25rem, 2.4vw, 2rem);
	border-radius: 1rem;
	box-shadow: 0 12px 34px rgba(44, 24, 16, 0.15);
}

.csl-page-hero > .wp-block-cover__inner-container {
	flex: 0 0 100%;
	width: 100%;
	max-width: 100%;
}

.csl-page-hero__copy {
	width: min(48%, 520px);
	padding: clamp(1.35rem, 3.3vw, 3rem);
}

.csl-page-hero__copy h1 {
	font-size: clamp(2.4rem, 4.2vw, 4rem);
	font-weight: 650;
	line-height: 0.96;
}

.csl-page-hero__subtitle {
	font-size: clamp(1.2rem, 2.2vw, 1.8rem) !important;
	line-height: 1.18;
}

.csl-page-hero__copy .csl-lede {
	font-size: clamp(0.9rem, 1.2vw, 1.06rem) !important;
	line-height: 1.5;
}

.csl-page-hero .csl-action-row {
	margin-top: 1rem;
}

.csl-page-hero .wp-block-button__link {
	padding: 0.62rem 1rem;
	font-size: 0.78rem;
}

.csl-home-hero .wp-block-cover__background {
	background: linear-gradient(90deg, rgba(40, 20, 13, 0.82) 0%, rgba(50, 26, 17, 0.55) 41%, rgba(50, 26, 17, 0.06) 73%, transparent 100%) !important;
}

/* Let the mood card anchor to the full hero, not the constrained inner canvas. */
.csl-home-hero > .wp-block-cover__inner-container {
	position: static;
}

.csl-home-hero .csl-core-status {
	position: absolute;
	right: clamp(1.25rem, 3.4vw, 2.9rem);
	bottom: clamp(0.8rem, 2vw, 1.35rem);
	z-index: 2;
	width: min(255px, 30%);
	padding: 0.9rem;
	border-radius: 0.9rem;
	box-shadow: 0 12px 30px rgba(36, 18, 12, 0.2);
	text-shadow: none;
}

.csl-home-hero .csl-core-status__symbol {
	flex-basis: 2.5rem;
	width: 2.5rem;
	height: 2.5rem;
	font-size: 1.2rem;
}

.csl-home-hero .csl-core-status h2 {
	font-size: 1.35rem;
}

.csl-home-hero .csl-core-status__message,
.csl-home-hero .csl-core-status__updated {
	font-size: 0.72rem;
	line-height: 1.35;
}

.csl-page-section {
	margin-block: clamp(1.15rem, 2.4vw, 2.1rem);
}

/* Wide grids inside an already-wide section must stay inside that section. */
.csl-page-section .alignwide {
	width: 100%;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.csl-page-section.is-style-soft-panel,
.csl-page-section.csl-panel,
.csl-form-frame {
	padding: clamp(0.8rem, 1.6vw, 1.25rem);
	border-radius: 0.9rem;
	box-shadow: 0 5px 18px rgba(59, 33, 24, 0.045);
}

.csl-section-heading {
	margin-bottom: 0.85rem;
}

.csl-section-heading h2,
.csl-page-section > h2,
.csl-page-section > .wp-block-heading {
	font-size: clamp(1.55rem, 2.4vw, 2.1rem);
}

.csl-grid {
	gap: clamp(0.6rem, 1.1vw, 0.9rem);
}

.csl-v2-card,
.csl-list-panel,
.csl-note-card {
	padding: clamp(0.68rem, 1.2vw, 0.92rem);
	border-radius: 0.78rem;
	box-shadow: 0 4px 15px rgba(59, 33, 24, 0.045);
}

.csl-v2-card .csl-card-image {
	margin: calc(clamp(0.68rem, 1.2vw, 0.92rem) * -1) calc(clamp(0.68rem, 1.2vw, 0.92rem) * -1) 0.7rem !important;
	width: calc(100% + (clamp(0.68rem, 1.2vw, 0.92rem) * 2));
}

.csl-v2-card h3,
.csl-list-panel h3 {
	font-size: clamp(1.02rem, 1.45vw, 1.28rem);
}

.csl-v2-card p,
.csl-list-panel li,
.csl-note-card p {
	font-size: 0.82rem;
	line-height: 1.48;
}

.csl-closing-banner {
	margin-top: clamp(1.4rem, 3vw, 2.5rem);
	padding: clamp(0.9rem, 1.8vw, 1.35rem);
}

.csl-welcome-panel {
	min-height: 340px !important;
	border-radius: 0.9rem;
}

@media (max-width: 1180px) {
	.csl-primary-nav .wp-block-navigation__container {
		flex-wrap: wrap !important;
	}
}

@media (max-width: 800px) {
	:where(.wp-site-blocks) .alignwide {
		width: min(100% - 1rem, 1320px);
		max-width: min(100% - 1rem, 1320px) !important;
	}

	.csl-page-hero {
		min-height: 410px !important;
	}

	.csl-page-hero__copy {
		width: min(100%, 560px);
	}

	.csl-home-hero .csl-core-status {
		position: relative;
		right: auto;
		bottom: auto;
		width: auto;
		margin: 0 1.1rem 1.1rem;
	}
}

/* -------------------------------------------------------------------------
 * Version 3.0 Cozy Café system — reusable, editable component treatments.
 * ---------------------------------------------------------------------- */

.csl-cafe-menu,
.is-style-notice-board,
.is-style-postcard,
.is-style-bookshelf,
.is-style-bean-tip,
.is-style-cafe-receipt,
.is-style-future-draft {
	position: relative;
	border: var(--csl-border);
	border-radius: var(--csl-radius-lg);
	padding: clamp(1rem, 3vw, 2rem);
	box-shadow: var(--csl-shadow);
}

.csl-cafe-menu {
	background:
		radial-gradient(circle at top right, rgba(215, 154, 64, 0.16), transparent 30%),
		var(--wp--preset--color--cream);
}

.is-style-notice-board {
	border: 0.45rem solid var(--wp--preset--color--cocoa);
	background:
		linear-gradient(rgba(255, 249, 242, 0.88), rgba(255, 249, 242, 0.88)),
		repeating-linear-gradient(0deg, #b98558 0 2px, #c99a6d 2px 7px);
}

.is-style-notice-board::before,
.is-style-notice-board::after {
	position: absolute;
	top: 0.75rem;
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 50%;
	background: var(--wp--preset--color--cinnamon);
	box-shadow: 0 2px 4px rgba(59, 33, 24, 0.28);
	content: "";
}

.is-style-notice-board::before { left: 0.9rem; }
.is-style-notice-board::after { right: 0.9rem; }

.is-style-postcard {
	border: 2px dashed var(--wp--preset--color--caramel);
	background: linear-gradient(135deg, var(--wp--preset--color--cream), var(--wp--preset--color--oat));
}

.is-style-postcard::after {
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 3.1rem;
	height: 3.5rem;
	border: 2px solid var(--wp--preset--color--cinnamon);
	border-radius: 0.35rem;
	content: "☕";
	display: grid;
	place-items: center;
	font-size: 1.4rem;
	opacity: 0.72;
}

.is-style-bookshelf {
	border-bottom: 0.8rem solid var(--wp--preset--color--cocoa);
	background: linear-gradient(180deg, var(--wp--preset--color--cream), var(--wp--preset--color--oat));
}

.csl-bookshelf-grid .csl-card {
	border-bottom-width: 0.4rem;
	border-bottom-color: var(--wp--preset--color--cinnamon);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.csl-bookshelf-grid .csl-card:hover {
	transform: translateY(-0.22rem);
	box-shadow: 0 14px 28px rgba(59, 33, 24, 0.12);
}

.is-style-bean-tip {
	border: 2px dashed var(--wp--preset--color--latte);
	background: var(--wp--preset--color--white);
	padding-left: clamp(4.8rem, 9vw, 7rem);
}

.is-style-bean-tip::before {
	position: absolute;
	top: 50%;
	left: clamp(1rem, 3vw, 2rem);
	content: "🐾";
	font-size: clamp(2.2rem, 5vw, 3.4rem);
	transform: translateY(-50%);
}

.is-style-cafe-receipt {
	max-width: 760px;
	background:
		repeating-linear-gradient(0deg, transparent 0 1.7rem, rgba(155, 79, 46, 0.08) 1.7rem calc(1.7rem + 1px)),
		var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--mono);
}

.is-style-cafe-receipt::after {
	display: block;
	margin-top: 1rem;
	border-top: 2px dashed var(--wp--preset--color--latte);
	padding-top: 0.8rem;
	color: var(--wp--preset--color--cinnamon);
	content: "Thank you for visiting the café ♡";
	font-weight: 800;
	text-align: center;
}

.csl-cafe-crumbs {
	gap: 0.35rem;
	margin-bottom: 0.9rem;
	color: var(--wp--preset--color--cocoa);
	font-size: 0.82rem;
}

.csl-cafe-crumbs p,
.csl-cafe-crumbs .wp-block-post-title {
	margin: 0;
}

.csl-seasonal-hook {
	--csl-season-accent: var(--wp--preset--color--caramel);
	border-top: 0.35rem solid var(--csl-season-accent);
}

.is-style-future-draft {
	border: 3px dashed var(--wp--preset--color--caramel);
	background: var(--wp--preset--color--oat);
}

.csl-future-banner::after {
	position: absolute;
	top: 1rem;
	right: 1rem;
	border: 2px solid currentColor;
	border-radius: 0.4rem;
	padding: 0.35rem 0.6rem;
	color: var(--wp--preset--color--danger);
	content: "NOT LAUNCHED";
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	transform: rotate(2deg);
}

.csl-roadmap-legend .csl-card,
.csl-status-legend .csl-card {
	border-left: 0.35rem solid var(--wp--preset--color--caramel);
}

.csl-help-router .csl-card {
	display: flex;
	flex-direction: column;
}

.csl-help-router .csl-action-row {
	margin-top: auto;
}

@media (max-width: 560px) {
	.is-style-postcard::after,
	.csl-future-banner::after {
		position: static;
		width: fit-content;
		margin: 0 0 1rem auto;
	}

	.is-style-bean-tip {
		padding-left: 1rem;
	}

	.is-style-bean-tip::before {
		position: static;
		display: block;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.csl-bookshelf-grid .csl-card:hover {
		transform: none;
	}
}

/* -------------------------------------------------------------------------
 * Version 3.1 visual refresh.
 *
 * This layer deliberately affects both the new page patterns and the older
 * saved v2 page blocks. Activating the theme therefore looks warmer and more
 * café-like immediately, while Site Setup remains the safe way to replace an
 * edited page with its complete new layout.
 * ---------------------------------------------------------------------- */

:root {
	--csl-paper: #fffaf3;
	--csl-paper-deep: #f7ead9;
	--csl-ink-soft: #76513f;
	--csl-cafe-line: rgba(155, 79, 46, 0.22);
	--csl-shadow-soft: 0 9px 24px rgba(59, 33, 24, 0.08);
	--csl-shadow-card: 0 13px 34px rgba(59, 33, 24, 0.12);
	--csl-stitch: 1px dashed rgba(155, 79, 46, 0.42);
}

body {
	background-color: var(--csl-paper);
	background-image:
		radial-gradient(circle at 18% 12%, rgba(215, 154, 64, 0.09) 0 1px, transparent 1.6px),
		radial-gradient(circle at 78% 32%, rgba(155, 79, 46, 0.055) 0 1px, transparent 1.5px),
		linear-gradient(90deg, rgba(231, 205, 178, 0.08) 1px, transparent 1px),
		linear-gradient(rgba(231, 205, 178, 0.06) 1px, transparent 1px);
	background-size: 42px 42px, 58px 58px, 32px 32px, 32px 32px;
	color: var(--wp--preset--color--espresso);
}

.wp-site-blocks {
	overflow: clip;
}

.csl-topbar {
	border-bottom: 1px solid rgba(255, 249, 242, 0.15);
	background:
		linear-gradient(90deg, rgba(215, 154, 64, 0.08), transparent 30%, rgba(231, 185, 165, 0.09)),
		var(--wp--preset--color--espresso) !important;
	letter-spacing: 0.035em;
}

.csl-topbar a {
	text-decoration-style: dotted;
}

.csl-site-header {
	position: relative;
	z-index: 50;
	border-bottom: 1px solid rgba(155, 79, 46, 0.17);
	background: rgba(255, 249, 242, 0.97) !important;
	box-shadow: 0 8px 25px rgba(59, 33, 24, 0.07);
}

.csl-site-header::after {
	position: absolute;
	right: 0;
	bottom: -9px;
	left: 0;
	height: 10px;
	background: radial-gradient(circle at 8px 0, var(--csl-paper) 8px, transparent 8.5px) 0 0 / 16px 10px repeat-x;
	content: "";
	pointer-events: none;
}

.csl-brand .wp-block-site-title a {
	color: var(--wp--preset--color--espresso);
	text-decoration: none;
	text-shadow: 0 1px 0 #fff;
}

.csl-brand .wp-block-site-tagline {
	color: var(--wp--preset--color--cinnamon) !important;
	font-weight: 850;
}

.csl-primary-nav .wp-block-navigation-item__content {
	border-radius: 999px;
	padding: 0.48rem 0.66rem;
	text-decoration: none;
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.csl-primary-nav .wp-block-navigation-item__content:hover,
.csl-primary-nav .current-menu-item > .wp-block-navigation-item__content,
.csl-primary-nav .current-menu-ancestor > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--oat);
	color: var(--wp--preset--color--cinnamon);
	transform: translateY(-1px);
}

.csl-primary-nav .wp-block-navigation__submenu-container {
	padding: 0.45rem !important;
	border: 1px solid rgba(155, 79, 46, 0.24) !important;
	background:
		linear-gradient(rgba(255, 250, 243, 0.96), rgba(255, 250, 243, 0.96)),
		repeating-linear-gradient(0deg, transparent 0 26px, rgba(155, 79, 46, 0.08) 26px 27px) !important;
}

.wp-element-button,
.wp-block-button__link,
.csl-core-button {
	border: 1px solid rgba(59, 33, 24, 0.16);
	box-shadow: 0 5px 14px rgba(59, 33, 24, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.22);
	transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
}

.wp-element-button:hover,
.wp-block-button__link:hover,
.csl-core-button:hover {
	filter: saturate(1.05) brightness(1.03);
	transform: translateY(-2px);
	box-shadow: 0 9px 19px rgba(59, 33, 24, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.csl-page-hero,
.csl-visual-hero {
	position: relative;
	isolation: isolate;
	border: 4px solid var(--csl-paper);
	outline: 1px solid rgba(155, 79, 46, 0.32);
	outline-offset: -9px;
	box-shadow: 0 18px 48px rgba(59, 33, 24, 0.2);
}

.csl-page-hero::before,
.csl-visual-hero::before {
	position: absolute;
	top: 0.85rem;
	right: 0.95rem;
	z-index: 3;
	border: 1px solid rgba(255, 249, 242, 0.46);
	border-radius: 999px;
	padding: 0.32rem 0.68rem;
	background: rgba(59, 33, 24, 0.64);
	color: var(--wp--preset--color--cream);
	content: "freshly brewed  ·  cozy café";
	font-size: 0.66rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	backdrop-filter: blur(5px);
}

.csl-page-hero::after,
.csl-visual-hero::after {
	position: absolute;
	right: -1.1rem;
	bottom: -1.1rem;
	z-index: 3;
	display: grid;
	width: 4.5rem;
	height: 4.5rem;
	place-items: center;
	border: 2px dashed var(--wp--preset--color--caramel);
	border-radius: 50%;
	background: var(--csl-paper);
	color: var(--wp--preset--color--cinnamon);
	content: "☕";
	font-size: 2rem;
	transform: rotate(7deg);
	box-shadow: var(--csl-shadow-soft);
}

.csl-page-hero__copy {
	position: relative;
	border: 1px solid rgba(255, 249, 242, 0.2);
	border-radius: 1rem;
	background: linear-gradient(135deg, rgba(59, 33, 24, 0.65), rgba(59, 33, 24, 0.28));
	box-shadow: 0 12px 30px rgba(26, 12, 8, 0.16);
	backdrop-filter: blur(3px);
}

.csl-page-hero__copy h1,
.csl-section-heading h2,
.csl-closing-banner h2 {
	font-family: var(--wp--preset--font-family--handwritten);
	font-weight: 650;
	letter-spacing: 0;
}

.csl-page-hero__subtitle {
	font-family: var(--wp--preset--font-family--handwritten);
	font-weight: 700;
}

.csl-page-section {
	position: relative;
	scroll-margin-top: 2rem;
}

.csl-section-heading {
	position: relative;
	margin-bottom: 1.25rem;
}

.csl-section-heading::after {
	display: block;
	width: min(19rem, 70%);
	height: 8px;
	margin: 0.55rem auto 0;
	background:
		radial-gradient(circle, var(--wp--preset--color--caramel) 0 2px, transparent 2.4px) 0 50% / 14px 8px repeat-x;
	content: "";
	opacity: 0.58;
}

.csl-card,
.csl-v2-card,
.csl-list-panel,
.csl-note-card,
.csl-core-card,
.csl-core-library-card,
.csl-core-suggestion,
.wp-block-post-template > li {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(155, 79, 46, 0.2);
	background:
		linear-gradient(rgba(255, 250, 243, 0.96), rgba(255, 250, 243, 0.96)),
		repeating-linear-gradient(0deg, transparent 0 30px, rgba(155, 79, 46, 0.055) 30px 31px);
	box-shadow: var(--csl-shadow-soft);
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.csl-card::before,
.csl-v2-card::before,
.csl-core-card::before,
.csl-core-library-card::before {
	position: absolute;
	top: 0;
	right: 1rem;
	left: 1rem;
	z-index: 2;
	height: 3px;
	border-radius: 0 0 999px 999px;
	background: linear-gradient(90deg, transparent, var(--wp--preset--color--caramel), transparent);
	content: "";
	opacity: 0.52;
}

.csl-card:hover,
.csl-v2-card:hover,
.csl-core-card:hover,
.csl-core-library-card:hover,
.csl-core-suggestion:hover,
.wp-block-post-template > li:hover {
	border-color: rgba(155, 79, 46, 0.38);
	transform: translateY(-4px) rotate(-0.15deg);
	box-shadow: var(--csl-shadow-card);
}

.csl-card:nth-child(even):hover,
.csl-v2-card:nth-child(even):hover {
	transform: translateY(-4px) rotate(0.15deg);
}

.csl-card-image,
.csl-core-card__media,
.csl-core-library-card__image,
.wp-block-post-featured-image {
	position: relative;
	overflow: hidden;
}

.csl-card-image img,
.csl-core-card__media img,
.csl-core-library-card__image img,
.wp-block-post-featured-image img {
	transition: transform 350ms ease, filter 350ms ease;
}

.csl-card:hover .csl-card-image img,
.csl-core-card:hover .csl-core-card__media img,
.csl-core-library-card:hover .csl-core-library-card__image img,
.wp-block-post-template > li:hover .wp-block-post-featured-image img {
	filter: saturate(1.06) contrast(1.02);
	transform: scale(1.035);
}

.csl-kicker,
.csl-eyebrow,
.csl-core-eyebrow,
.csl-badge,
.csl-core-badge {
	width: fit-content;
	border: 1px solid rgba(155, 79, 46, 0.2);
	border-radius: 999px;
	padding: 0.26rem 0.58rem;
	background: var(--wp--preset--color--oat);
	color: var(--wp--preset--color--cinnamon);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.csl-card-icon {
	display: grid;
	width: 3.05rem;
	height: 3.05rem;
	margin-bottom: 0.2rem;
	place-items: center;
	border: 1px solid rgba(155, 79, 46, 0.18);
	border-radius: 50%;
	background: linear-gradient(145deg, #fff, var(--wp--preset--color--oat));
	box-shadow: 0 6px 15px rgba(59, 33, 24, 0.1);
}

.csl-cafe-menu {
	border: 0.55rem solid var(--wp--preset--color--cocoa);
	outline: var(--csl-stitch);
	outline-offset: -0.85rem;
	background:
		radial-gradient(circle at 4% 8%, rgba(215, 154, 64, 0.18), transparent 19%),
		radial-gradient(circle at 95% 90%, rgba(231, 185, 165, 0.2), transparent 24%),
		var(--csl-paper);
	box-shadow: 0 20px 46px rgba(59, 33, 24, 0.16);
}

.csl-cafe-menu::before {
	position: absolute;
	top: -1.65rem;
	left: 50%;
	z-index: 4;
	border: 1px solid rgba(59, 33, 24, 0.22);
	border-radius: 999px;
	padding: 0.45rem 1rem;
	background: var(--wp--preset--color--espresso);
	color: var(--wp--preset--color--cream);
	content: "☕  CINNALATTE CAFÉ MENU";
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	transform: translateX(-50%);
	white-space: nowrap;
}

.csl-cafe-menu .csl-card {
	border-style: dashed;
	text-align: center;
}

.csl-cafe-menu .csl-card-icon,
.csl-cafe-menu .csl-kicker {
	margin-inline: auto;
}

.is-style-notice-board {
	border: 0.65rem solid #694332;
	outline: 2px solid rgba(255, 249, 242, 0.42);
	outline-offset: -0.88rem;
	background:
		linear-gradient(rgba(130, 78, 50, 0.12), rgba(130, 78, 50, 0.12)),
		repeating-linear-gradient(90deg, #c99463 0 5px, #be8758 5px 11px);
	box-shadow: 0 18px 39px rgba(59, 33, 24, 0.18);
}

.is-style-notice-board .csl-section-heading h2,
.is-style-notice-board .csl-section-heading p {
	color: var(--wp--preset--color--cream) !important;
	text-shadow: 0 1px 1px rgba(59, 33, 24, 0.42);
}

.is-style-notice-board .csl-card {
	overflow: visible;
	border: 0;
	background: #fff7e9;
	box-shadow: 2px 7px 16px rgba(59, 33, 24, 0.22);
}

.is-style-notice-board .csl-card::after {
	position: absolute;
	top: 0.45rem;
	left: 50%;
	width: 0.74rem;
	height: 0.74rem;
	border-radius: 50%;
	background: var(--wp--preset--color--cinnamon);
	box-shadow: 0 2px 4px rgba(59, 33, 24, 0.35);
	content: "";
	transform: translateX(-50%);
}

.is-style-notice-board .csl-card:nth-child(odd) {
	transform: rotate(-0.7deg);
}

.is-style-notice-board .csl-card:nth-child(even) {
	transform: rotate(0.7deg);
}

.is-style-postcard {
	min-height: 13rem;
	border: 2px solid rgba(155, 79, 46, 0.28);
	outline: var(--csl-stitch);
	outline-offset: -0.65rem;
	background:
		linear-gradient(90deg, transparent 49.8%, rgba(155, 79, 46, 0.16) 50%, transparent 50.2%),
		radial-gradient(circle at 90% 18%, rgba(231, 185, 165, 0.32), transparent 23%),
		var(--csl-paper);
	box-shadow: var(--csl-shadow-card);
}

.is-style-bookshelf {
	border: 0;
	border-bottom: 1rem solid #6c402d;
	background:
		linear-gradient(90deg, rgba(92, 56, 41, 0.08) 1px, transparent 1px) 0 0 / 25% 100%,
		linear-gradient(180deg, #fff9ef, #f3dfc8);
	box-shadow: inset 0 -6px 0 rgba(255, 255, 255, 0.2), var(--csl-shadow-card);
}

.csl-bookshelf-grid .csl-card {
	border-bottom-width: 0.8rem;
	border-bottom-color: var(--wp--preset--color--cinnamon);
	border-radius: 0.55rem 0.55rem 0.25rem 0.25rem;
}

.is-style-bean-tip {
	min-height: 8rem;
	padding-left: clamp(7.5rem, 14vw, 11rem);
	border: 2px dashed var(--wp--preset--color--caramel);
	background:
		linear-gradient(90deg, rgba(255, 250, 243, 0.16), var(--csl-paper) 32%),
		url("assets/images/lost-cafe-cat.jpg") left center / clamp(7rem, 13vw, 10rem) 100% no-repeat,
		var(--csl-paper);
	box-shadow: var(--csl-shadow-soft);
}

.is-style-bean-tip::before {
	display: none;
}

.is-style-cafe-receipt {
	position: relative;
	border: 0;
	border-top: 7px solid var(--wp--preset--color--espresso);
	border-radius: 0.4rem;
	background:
		repeating-linear-gradient(0deg, transparent 0 1.75rem, rgba(155, 79, 46, 0.08) 1.75rem calc(1.75rem + 1px)),
		#fffdf9;
	box-shadow: 0 18px 36px rgba(59, 33, 24, 0.15);
}

.is-style-cafe-receipt::before {
	display: block;
	margin-bottom: 0.8rem;
	border-bottom: 2px dashed var(--wp--preset--color--latte);
	padding-bottom: 0.75rem;
	color: var(--wp--preset--color--espresso);
	content: "CINNALATTE CAFÉ  ·  CREATION RECEIPT";
	font-weight: 950;
	letter-spacing: 0.08em;
	text-align: center;
}

.csl-cafe-crumbs {
	width: fit-content;
	border: 1px dashed rgba(155, 79, 46, 0.34);
	border-radius: 999px;
	padding: 0.42rem 0.8rem;
	background: rgba(255, 250, 243, 0.88);
	box-shadow: var(--csl-shadow-soft);
}

.csl-cafe-crumbs::before {
	content: "🥐";
}

.csl-currently-brewing,
.csl-core-status {
	position: relative;
	border: 1px solid rgba(155, 79, 46, 0.24);
	background:
		radial-gradient(circle at 92% 14%, rgba(215, 154, 64, 0.2), transparent 23%),
		var(--csl-paper);
	box-shadow: var(--csl-shadow-card);
}

.csl-currently-brewing::after {
	position: absolute;
	right: 1rem;
	bottom: 0.8rem;
	color: rgba(155, 79, 46, 0.2);
	content: "☕";
	font-size: clamp(3.5rem, 7vw, 6rem);
	pointer-events: none;
}

.csl-core-empty,
.csl-placeholder,
.csl-form-slot,
.csl-core-form-slot {
	border: 2px dashed rgba(155, 79, 46, 0.34);
	background:
		radial-gradient(circle at 94% 18%, rgba(231, 185, 165, 0.22), transparent 24%),
		var(--csl-paper-deep);
	box-shadow: inset 0 0 0 5px rgba(255, 255, 255, 0.38);
}

.csl-closing-banner {
	position: relative;
	overflow: hidden;
	border: 2px solid rgba(155, 79, 46, 0.18);
	background:
		linear-gradient(90deg, rgba(255, 250, 243, 0.98), rgba(245, 232, 216, 0.88)),
		url("assets/images/status-latte.jpg") right center / auto 100% no-repeat !important;
	box-shadow: var(--csl-shadow-card);
}

.csl-closing-banner::before {
	position: absolute;
	top: -1rem;
	right: 20%;
	width: 4rem;
	height: 1.8rem;
	background: rgba(231, 205, 178, 0.72);
	content: "";
	transform: rotate(4deg);
}

.csl-form-frame,
.csl-policy-section,
.csl-table-wrap {
	border: 1px solid rgba(155, 79, 46, 0.2);
	background: rgba(255, 250, 243, 0.94);
	box-shadow: var(--csl-shadow-soft);
}

.csl-owner-notice {
	margin-block: 1.25rem 2rem;
	border: 2px dashed var(--wp--preset--color--warning);
	border-radius: var(--csl-radius);
	padding: clamp(1rem, 2vw, 1.5rem);
	background: #fff8e7;
	box-shadow: var(--csl-shadow-soft);
}

.csl-table-wrap thead {
	background: var(--wp--preset--color--espresso);
	color: var(--wp--preset--color--cream);
}

.csl-table-wrap tbody tr:nth-child(even) {
	background: rgba(245, 232, 216, 0.64);
}

.csl-footer {
	position: relative;
	border-top: 0.45rem solid var(--wp--preset--color--cinnamon);
	background:
		radial-gradient(circle at 11% 24%, rgba(215, 154, 64, 0.12), transparent 19%),
		radial-gradient(circle at 88% 78%, rgba(231, 185, 165, 0.08), transparent 20%),
		var(--wp--preset--color--espresso) !important;
}

.csl-footer::before {
	position: absolute;
	top: -13px;
	right: 0;
	left: 0;
	height: 10px;
	background: radial-gradient(circle at 8px 10px, var(--wp--preset--color--cinnamon) 8px, transparent 8.5px) 0 0 / 16px 10px repeat-x;
	content: "";
}

.csl-currently-brewing a,
.csl-footer a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
}

.csl-footer a {
	padding-block: 0.3rem;
}

@keyframes csl-gentle-steam {
	0%, 100% { transform: translateY(0) scaleX(1); opacity: 0.35; }
	50% { transform: translateY(-4px) scaleX(1.08); opacity: 0.62; }
}

.csl-cafe-menu::after,
.csl-currently-brewing::before {
	position: absolute;
	z-index: 3;
	color: rgba(155, 79, 46, 0.42);
	content: "≋";
	font-family: Georgia, serif;
	font-size: 2.25rem;
	pointer-events: none;
}

.csl-cafe-menu::after {
	right: 1.4rem;
	bottom: 0.8rem;
}

.csl-currently-brewing::before {
	right: 2.4rem;
	bottom: 4.7rem;
}

.csl-cafe-menu::after,
.csl-currently-brewing::before {
	animation: csl-gentle-steam 3.8s ease-in-out infinite;
}

@media (max-width: 1050px) {
	.csl-page-hero::after,
	.csl-visual-hero::after {
		right: 0.45rem;
		bottom: 0.45rem;
		width: 3.5rem;
		height: 3.5rem;
		font-size: 1.45rem;
	}

	.csl-primary-nav .wp-block-navigation-item__content {
		padding: 0.42rem 0.5rem;
	}
}

@media (max-width: 782px) {
	.csl-page-hero::before,
	.csl-visual-hero::before {
		top: 0.65rem;
		right: 0.65rem;
	}

	.csl-page-hero__copy {
		margin: 3rem 0.7rem 0.7rem;
		padding: 1.1rem;
	}

	.csl-cafe-menu {
		margin-top: 2.4rem;
		border-width: 0.35rem;
		outline-offset: -0.62rem;
	}

	.is-style-notice-board .csl-card:nth-child(n) {
		transform: none;
	}

	.is-style-postcard {
		background:
			radial-gradient(circle at 92% 12%, rgba(231, 185, 165, 0.3), transparent 22%),
			var(--csl-paper);
	}

	.is-style-bean-tip {
		padding: 7.6rem 1rem 1rem;
		background:
			linear-gradient(180deg, rgba(255, 250, 243, 0.08), var(--csl-paper) 44%),
			url("assets/images/lost-cafe-cat.jpg") top center / 100% 8rem no-repeat,
			var(--csl-paper);
	}
}

@media (max-width: 480px) {
	.csl-page-hero::before,
	.csl-visual-hero::before {
		content: "freshly brewed";
	}

	.csl-cafe-menu::before {
		font-size: 0.62rem;
		letter-spacing: 0.06em;
	}

	.csl-section-heading h2 {
		font-size: clamp(1.7rem, 10vw, 2.35rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.csl-primary-nav .wp-block-navigation-item__content,
	.wp-element-button,
	.wp-block-button__link,
	.csl-core-button,
	.csl-card,
	.csl-v2-card,
	.csl-core-card,
	.csl-core-library-card,
	.csl-core-suggestion,
	.wp-block-post-template > li,
	.csl-card-image img,
	.csl-core-card__media img,
	.csl-core-library-card__image img,
	.wp-block-post-featured-image img {
		transition: none !important;
	}

	.csl-cafe-menu::after,
	.csl-currently-brewing::before {
		animation: none !important;
	}

	.csl-card:hover,
	.csl-v2-card:hover,
	.csl-core-card:hover,
	.csl-core-library-card:hover,
	.csl-core-suggestion:hover,
	.wp-block-post-template > li:hover,
	.csl-card:nth-child(even):hover,
	.csl-v2-card:nth-child(even):hover {
		transform: none !important;
	}
}

/* Café workspace visual refresh */
.csl-panel,.csl-core-card,.csl-v2-card{border:1px solid #dcb99a;border-radius:16px;background:linear-gradient(135deg,#fffaf2,#f9ead9);box-shadow:0 5px 18px #58351f0c}.csl-kicker{color:#875130;letter-spacing:.08em}.csl-cafe-receipt,.is-style-cafe-receipt{border:1px dashed #b48c69;background:#fffaf1}.csl-page-section{scroll-margin-top:24px}.csl-bean-tip{border-left:4px solid #a77445}.csl-panel h3{color:#54311f}

/* Café makeover: warm wood, chalkboards, paper and shelves. */
.csl-site-header{border-bottom:5px solid #784a2d}.csl-topbar{background:linear-gradient(90deg,#38271d,#67442f,#38271d)!important}.csl-home-hero,.csl-hero{border:8px solid #754c32;border-radius:22px;box-shadow:0 14px 32px #41271522}.csl-core-status{background:#263c34!important;color:#fff6e8!important;border:8px solid #8a5a38!important;border-radius:12px;box-shadow:inset 0 0 20px #0002}.csl-core-status h2,.csl-core-status dt,.csl-core-status p{color:inherit!important}.csl-panel{padding:clamp(18px,3vw,30px)}.csl-core-library-card{background:#fff9ed;border:1px dashed #aa8262;box-shadow:0 7px 15px #59351a15;border-radius:4px 4px 14px 14px}.csl-core-card__body,.csl-core-library-card__body{padding:20px}.csl-kicker{font-weight:700}.csl-page-section{margin-block:clamp(24px,5vw,56px)}.is-style-notice-board,.csl-notice-board{background:#d8b285;border:10px solid #855634;box-shadow:inset 0 0 15px #6c462b22}.csl-cafe-menu{background:#f7ead7;border-block:8px solid #805538}.csl-core-filters,.csl-core-collection-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.csl-core-filters label,.csl-core-collection-filters label{flex:1 1 140px}.csl-core-filters select,.csl-core-collection-filters select{width:100%;min-height:42px}.csl-live-lounge{padding:24px;background:#fff8ed;border:2px solid #ac805b;border-radius:16px}.csl-live-lounge summary{cursor:pointer;font-size:1.2em;font-weight:bold}.csl-chat-messages{max-height:420px;overflow:auto}.csl-chat-form textarea{width:100%;min-height:90px}.csl-site-footer{border-top:8px solid #986b42}.wp-block-button__link:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #346b66;outline-offset:4px}@media(max-width:600px){.csl-panel{padding:16px}.csl-core-status{border-width:5px!important}.csl-floating-cafe{bottom:8px;right:8px}.csl-core-collection-grid{grid-template-columns:1fr!important}}

/* 3.10 refinement: readable café typography, shorter utility heroes and distinct rooms. */
.wp-site-blocks,
.wp-site-blocks :where(p, li, dd, dt, label, input, select, textarea, button, summary) {
	font-family: var(--wp--preset--font-family--body);
}

.wp-site-blocks :where(p, li, dd) {
	line-height: 1.66;
}

.wp-site-blocks :where(h1, h2, h3, .csl-kicker, .csl-page-hero__subtitle, .wp-block-site-title, .wp-block-button__link) {
	font-family: var(--wp--preset--font-family--display);
}

.csl-page-hero {
	min-height: clamp(285px, 27vw, 350px) !important;
	margin-bottom: clamp(1rem, 2vw, 1.7rem);
}

.csl-page-hero__copy {
	width: min(46%, 560px);
	padding: clamp(1.25rem, 2.8vw, 2.6rem);
}

.csl-page-hero__copy h1 {
	max-width: 14ch;
	font-size: clamp(2.2rem, 3.75vw, 3.65rem);
	line-height: 1.01;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: manual;
}

.csl-page-hero__copy .csl-lede {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 700;
	line-height: 1.52;
}

.csl-hero--cafe-bulletin-barista-logbook::before { content: "from the barista logbook"; }
.csl-hero--the-recipe-archive::before { content: "from the recipe box"; }
.csl-hero--guides-resources-tutorials::before { content: "from the café bookshelf"; }
.csl-hero--cafe-help-counter::before,
.csl-hero--report-a-problem::before { content: "at the help counter"; }
.csl-hero--cafe-guest-book::before { content: "at the guest-book table"; }
.csl-hero--creator-spotlight::before,
.csl-hero--community-showcase::before { content: "pinned to the community wall"; }
.csl-hero--ideas-roadmap::before { content: "on the planning board"; }
.csl-hero--policies-terms::before { content: "café house rules"; }
.csl-hero--mods-downloads::before { content: "from the mod kitchen"; }

.csl-form-frame {
	background:
		linear-gradient(90deg, transparent 0 2.35rem, rgba(201,109,53,.14) 2.35rem 2.42rem, transparent 2.42rem),
		repeating-linear-gradient(0deg, #fffaf2 0 2.15rem, #ead8c4 2.15rem 2.2rem);
	border-color: #c9a27f;
	box-shadow: 0 16px 36px rgba(59,33,24,.12);
}

.csl-form-frame > * {
	position: relative;
}

.csl-step-cards .csl-card {
	border-top: .42rem solid var(--wp--preset--color--caramel);
	background: linear-gradient(180deg, #fffdf8, #f8ead9);
}

.csl-core-empty {
	border: 1px dashed #b98b66;
	background: linear-gradient(135deg, #fffaf2, #f5e8d8);
}

.csl-core-empty::before {
	display: block;
	margin-bottom: .35rem;
	content: "☕";
	font-size: 1.5rem;
}

.csl-owner-notice,
.csl-hero--policies-terms ~ .csl-page-section {
	font-family: var(--wp--preset--font-family--body);
}

@media (max-width: 782px) {
	.csl-page-hero {
		min-height: 390px !important;
	}

	.csl-page-hero__copy {
		width: auto;
	}

	.csl-page-hero__copy h1 {
		max-width: 100%;
		font-size: clamp(2rem, 9vw, 3rem);
		overflow-wrap: anywhere;
		word-break: normal;
		hyphens: auto;
	}
}

/* 3.14 mobile polish: safe long titles, comfortable controls and spacing. */
.csl-page-hero__copy,
.csl-page-hero__copy h1 {
	box-sizing: border-box;
	min-width: 0;
}

@media (max-width: 600px) {
	.csl-page-hero { min-height: clamp(360px, 112vw, 440px) !important; }
	.csl-page-hero__copy { margin-inline: .55rem; padding: 1rem; }
	.csl-page-hero__copy h1 { font-size: clamp(1.85rem, 8.7vw, 2.7rem); line-height: 1.04; }
	.wp-site-blocks :where(.wp-element-button, .wp-block-button__link, button, summary) { min-height: 44px; }
	.wp-site-blocks :where(.wp-element-button, .wp-block-button__link) { display: inline-flex; align-items: center; justify-content: center; padding-block: .7rem; }
	.csl-page-section { margin-block: clamp(1.25rem, 7vw, 2.25rem); }
}

/* 3.15 usability pass: reliable wrapping, readable status details and early menu collapse. */
.csl-page-hero__copy h1 {
	max-width: 100%;
	overflow-wrap: anywhere;
	word-break: normal;
	hyphens: auto;
}

.csl-core-status .csl-core-status__details > div {
	background: #f5e8d8 !important;
	color: #3b2118 !important;
	text-shadow: none !important;
}

.csl-core-status .csl-core-status__details :where(dt, dd) {
	color: #3b2118 !important;
	text-shadow: none !important;
}

.wp-site-blocks :where(.csl-action-buttons button, .csl-action-buttons a, .csl-core-card-link, .csl-core-button) {
	min-height: 44px;
}

:where(.ultimate-cursor, .uc-cursor, [class*="ultimate-cursor"]) {
	pointer-events: none !important;
}

@media (max-width: 1180px) {
	.csl-site-header__inner { grid-template-columns: minmax(220px, 1fr) auto auto; }
	.csl-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
	.csl-primary-nav .wp-block-navigation__responsive-container-open { display: flex; }
	.csl-primary-nav .wp-block-navigation__responsive-container.is-menu-open { display: flex; }
}

@media (max-width: 700px) {
	.csl-header-actions .wp-block-buttons { display: none; }
	.csl-brand .wp-block-site-tagline { display: none; }
}

@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
	:where(.ultimate-cursor, .uc-cursor, [class*="ultimate-cursor"]) { display: none !important; }
}

/* 3.16 content polish: preserve whole words, clarify record details, and keep
 * the optional Hostinger Agent control from covering mobile content. */
.csl-page-hero__copy h1 {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

.csl-core-game-details {
	margin-block: clamp(1.5rem, 4vw, 3rem);
}

.csl-core-game-details .csl-core-definition-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
	gap: .8rem 1.25rem;
	margin: 0;
}

.csl-core-game-details .csl-core-definition-grid > div {
	padding: .85rem 1rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--caramel) 38%, transparent);
	border-radius: .8rem;
	background: color-mix(in srgb, var(--wp--preset--color--cream) 88%, white);
}

.csl-core-game-details :where(dt, dd) {
	margin: 0;
}

.csl-core-game-details dt {
	font-weight: 700;
}

.csl-core-game-details dd {
	margin-top: .25rem;
}

@media (max-width: 782px) {
	.csl-page-hero__copy h1 {
		font-size: clamp(1.8rem, 8vw, 2.75rem);
		overflow-wrap: normal;
		word-break: normal;
		hyphens: none;
	}

	.kodee-fab {
		right: .65rem !important;
		bottom: .65rem !important;
		max-width: 3.25rem !important;
		transform: scale(.9);
		transform-origin: right bottom;
	}

	.kodee-fab__label {
		display: none !important;
	}
}
