/*
Theme Name: Shilpi
Theme URI: https://shilpibuilder.com
Author: Shilpi Builder
Author URI: https://shilpibuilder.com
Description: Shilpi (শিল্পী, "artisan") is an AI-native WordPress theme. Every page is stored as plain, valid HTML — so AI agents build them near-perfectly, you edit them visually in the built-in builder, and the front end ships with no page-builder bloat. Styling lives in one shared design system of global classes and CSS variables, and the theme carries its own MCP server so agents can design, edit and audit your site securely from any AI client. Fast, portable, no lock-in, and no companion plugin required.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: shilpi
Tags: one-column, custom-menu, custom-logo, featured-images, full-width-template, threaded-comments, translation-ready

Shilpi is distributed under the terms of the GNU GPL v2 or later.

== Fallback stylesheet ==
Everything below styles NON-Shilpi content only (blog archives, single posts,
search, 404) via templates/fallback.php. It is never loaded on a Shilpi page —
those pages ship only the CSS their own design system defines.
*/

/* ---------- Tokens ---------- */
:root {
	--shilpi-fb-text: #1d2327;
	--shilpi-fb-muted: #646970;
	--shilpi-fb-bg: #ffffff;
	--shilpi-fb-line: #e0e0e0;
	--shilpi-fb-link: #1c5fbf;
	--shilpi-fb-radius: 6px;
	--shilpi-fb-measure: 42rem;
	--shilpi-fb-wide: 68rem;
	--shilpi-fb-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans Bengali", sans-serif;
}

/* ---------- Reset-ish ---------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--shilpi-fb-bg);
	color: var(--shilpi-fb-text);
	font-family: var(--shilpi-fb-font);
	font-size: 1.0625rem;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

img,
video,
iframe,
embed,
object {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--shilpi-fb-link);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 2px solid var(--shilpi-fb-link);
	outline-offset: 2px;
}

/* ---------- Accessibility ---------- */
.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.skip-link:focus {
	background: #fff;
	clip-path: none;
	color: var(--shilpi-fb-link);
	display: block;
	height: auto;
	left: 8px;
	padding: 12px 20px;
	top: 8px;
	width: auto;
	z-index: 100000;
}

/* ---------- Layout ---------- */
.shilpi-fallback__wrap {
	margin: 0 auto;
	max-width: var(--shilpi-fb-wide);
	padding: 0 1.25rem;
}

.shilpi-fallback__header {
	border-bottom: 1px solid var(--shilpi-fb-line);
	padding: 1.5rem 0;
}

.shilpi-fallback__brand {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
	justify-content: space-between;
}

.shilpi-fallback__title {
	font-size: 1.375rem;
	font-weight: 700;
	margin: 0;
}

.shilpi-fallback__title a {
	color: inherit;
	text-decoration: none;
}

.shilpi-fallback__tagline {
	color: var(--shilpi-fb-muted);
	font-size: 0.9375rem;
	margin: 0.15rem 0 0;
}

.shilpi-fallback__nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.shilpi-fallback__nav a {
	text-decoration: none;
}

.shilpi-fallback__nav a:hover {
	text-decoration: underline;
}

.shilpi-fallback__main {
	padding: 2.5rem 0 3rem;
}

.shilpi-fallback__footer {
	border-top: 1px solid var(--shilpi-fb-line);
	color: var(--shilpi-fb-muted);
	font-size: 0.9375rem;
	padding: 1.5rem 0;
}

/* ---------- Entries ---------- */
.shilpi-entry {
	margin: 0 0 3rem;
	max-width: var(--shilpi-fb-measure);
}

.shilpi-entry__title {
	font-size: 1.75rem;
	line-height: 1.25;
	margin: 0 0 0.4rem;
}

.shilpi-entry__title a {
	color: inherit;
	text-decoration: none;
}

.shilpi-entry__title a:hover {
	text-decoration: underline;
}

.shilpi-entry__meta {
	color: var(--shilpi-fb-muted);
	font-size: 0.875rem;
	margin: 0 0 1rem;
}

.shilpi-entry__thumb {
	border-radius: var(--shilpi-fb-radius);
	display: block;
	margin: 0 0 1.25rem;
}

.shilpi-entry__content > * {
	margin-top: 0;
	margin-bottom: 1.1rem;
}

.shilpi-entry__content h2,
.shilpi-entry__content h3 {
	line-height: 1.3;
	margin-top: 2rem;
}

.shilpi-entry__content blockquote {
	border-left: 3px solid var(--shilpi-fb-line);
	color: var(--shilpi-fb-muted);
	margin-left: 0;
	padding-left: 1.25rem;
}

.shilpi-entry__content pre {
	background: #f6f7f7;
	border-radius: var(--shilpi-fb-radius);
	overflow: auto;
	padding: 1rem;
}

.shilpi-entry__content code {
	font-size: 0.9em;
}

.shilpi-entry__content table {
	border-collapse: collapse;
	width: 100%;
}

.shilpi-entry__content th,
.shilpi-entry__content td {
	border: 1px solid var(--shilpi-fb-line);
	padding: 0.5rem 0.65rem;
	text-align: left;
}

.shilpi-archive__title {
	font-size: 1.25rem;
	letter-spacing: 0.04em;
	margin: 0 0 2rem;
	text-transform: uppercase;
}

.shilpi-pagination {
	border-top: 1px solid var(--shilpi-fb-line);
	padding-top: 1.5rem;
}

.shilpi-pagination .page-numbers {
	display: inline-block;
	padding: 0.25rem 0.6rem;
}

.shilpi-pagination .page-numbers.current {
	background: #f0f0f1;
	border-radius: var(--shilpi-fb-radius);
}

/* ---------- Comments & forms ---------- */
.shilpi-comments {
	border-top: 1px solid var(--shilpi-fb-line);
	margin-top: 2.5rem;
	max-width: var(--shilpi-fb-measure);
	padding-top: 1.5rem;
}

.shilpi-comments ol {
	list-style: none;
	padding-left: 0;
}

.shilpi-comments ol ol {
	padding-left: 1.5rem;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="password"],
textarea {
	border: 1px solid var(--shilpi-fb-line);
	border-radius: var(--shilpi-fb-radius);
	font: inherit;
	max-width: 100%;
	padding: 0.5rem 0.65rem;
}

/* ---------- WordPress required classes ---------- */
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5rem;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5rem;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption {
	margin-bottom: 1.5rem;
	max-width: 100%;
}

.wp-caption-text {
	color: var(--shilpi-fb-muted);
	font-size: 0.875rem;
	text-align: center;
}

.sticky,
.gallery-caption,
.bypostauthor {
	display: block;
}

/* ---------- Responsive ---------- */
@media (max-width: 767px) {
	.shilpi-entry__title {
		font-size: 1.5rem;
	}

	.shilpi-fallback__main {
		padding: 1.75rem 0 2.25rem;
	}
}
