/* =================================================================
   The Bowl — Astra skin
   Restyles Astra's OWN markup so the design applies on activation,
   without needing to insert block patterns. Uses Astra/WordPress
   stable selectors (.entry-title, .entry-content, .ast-row,
   article.post, .site-title, .post-thumb-img-content, etc.).
   A few !important rules are needed to beat Astra's inline dynamic CSS.
   ================================================================= */

/* ---- Global canvas + type -------------------------------------- */
body,
.ast-container,
.entry-content,
p, li {
	font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
}

body {
	background-color: var(--bowl-bark-50) !important;
	color: var(--bowl-bark-900);
}

h1, h2, h3, h4, h5,
.entry-title,
.site-title,
.ast-archive-title,
.widget-title,
.wp-block-heading {
	font-family: 'Fraunces', ui-serif, Georgia, serif !important;
	letter-spacing: -0.01em;
	color: var(--bowl-bark-900);
}

a { color: var(--bowl-leaf-700); }
a:hover { color: var(--bowl-leaf-800); }

/* ---- Header ---------------------------------------------------- */
.site-header,
.ast-primary-header-bar,
.main-header-bar {
	background-color: rgba(250, 247, 242, 0.9) !important;
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--bowl-bark-200);
}
.site-title a,
.ast-site-identity .site-title a {
	color: var(--bowl-bark-900) !important;
	font-weight: 900;
}
.main-header-menu .menu-link { color: var(--bowl-bark-700); }
.main-header-menu .menu-link:hover { color: var(--bowl-bark-900); }

/* ---- Archive / blog: turn Astra posts into cards --------------- */
.ast-separate-container .ast-article-post,
.blog .ast-article-post,
.archive .ast-article-post,
.ast-row article.post {
	background: #fff !important;
	border: 1px solid var(--bowl-bark-100);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(77,56,44,.04), 0 8px 24px rgba(77,56,44,.06);
	transition: transform .25s ease, box-shadow .25s ease;
}
.ast-separate-container .ast-article-post:hover,
.ast-row article.post:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 40px rgba(77,56,44,.14);
}

/* Featured image flush to the top of the card */
.ast-article-post .post-thumb-img-content img,
.ast-article-post .post-thumb img {
	border-radius: 0;
	width: 100%;
	object-fit: cover;
}

/* Card title + meta */
.ast-article-post .entry-title { font-size: 1.25rem; line-height: 1.3; margin-bottom: .4em; }
.ast-article-post .entry-title a { color: var(--bowl-bark-900); }
.ast-article-post .entry-title a:hover { color: var(--bowl-leaf-700); }
.ast-article-post .entry-meta,
.ast-article-post .ast-excerpt-container { color: var(--bowl-bark-600); }
.ast-article-post .entry-meta a { color: var(--bowl-leaf-700); }

/* ---- Single post: comfortable reading -------------------------- */
.single .entry-content {
	font-size: 1.125rem;
	line-height: 1.8;
	color: var(--bowl-bark-800);
	max-width: 760px;
}
.single .entry-content > * + * { margin-top: 1.3em; }
.single .entry-content h2 { font-size: 1.9rem; line-height: 1.2; margin-top: 2em; color: var(--bowl-bark-900); }
.single .entry-content h3 { font-size: 1.4rem; line-height: 1.3; margin-top: 1.5em; color: var(--bowl-bark-900); }
.single .entry-content a { color: var(--bowl-leaf-600); text-underline-offset: 2px; }
.single .entry-content blockquote {
	border-left: 4px solid var(--bowl-leaf-500);
	padding-left: 1.2em;
	font-family: 'Fraunces', serif;
	font-style: italic;
	font-size: 1.4rem;
	color: var(--bowl-bark-900);
}
.single .entry-content li::marker { color: var(--bowl-leaf-500); }
.single .entry-title { font-size: clamp(2rem, 5vw, 3rem); }

/* ---- Buttons --------------------------------------------------- */
.wp-block-button__link,
.ast-button,
.button,
button.menu-toggle,
input[type="submit"] {
	background-color: var(--bowl-leaf-600) !important;
	border-color: var(--bowl-leaf-600) !important;
	color: #fff !important;
	border-radius: 999px !important;
}
.wp-block-button__link:hover,
.ast-button:hover,
.button:hover,
input[type="submit"]:hover {
	background-color: var(--bowl-leaf-700) !important;
	border-color: var(--bowl-leaf-700) !important;
}

/* ---- Widgets / sidebar ----------------------------------------- */
.widget {
	background: #fff;
	border: 1px solid var(--bowl-bark-200);
	border-radius: 16px;
	padding: 20px;
}
.widget + .widget { margin-top: 24px; }

/* ---- Footer ---------------------------------------------------- */
.site-footer,
.ast-small-footer {
	background-color: var(--bowl-bark-100);
	color: var(--bowl-bark-600);
	border-top: 1px solid var(--bowl-bark-200);
}

/* ---- Pagination ------------------------------------------------ */
.ast-pagination .page-numbers,
.page-numbers {
	border-radius: 999px !important;
	color: var(--bowl-bark-700);
}
.ast-pagination .page-numbers.current,
.page-numbers.current {
	background: var(--bowl-bark-900) !important;
	color: var(--bowl-bark-50) !important;
}
