/* Albizu components — fallback templates + brand base. GPL-3.0-or-later */
body { font-family: var(--albizu-font-body); color: var(--albizu-ink); background: #fff; }
h1, h2, h3, h4, h5, h6 { font-family: var(--albizu-font-heading); color: var(--albizu-purple-dark); line-height: 1.2; }
a { color: var(--albizu-purple); }
a:hover, a:focus { color: var(--albizu-orange); }
:focus-visible { outline: 3px solid var(--albizu-teal); outline-offset: 2px; }
button, .button, [type="button"], [type="submit"], .wp-block-button__link {
	background: var(--albizu-orange); color: #fff; border: 0; border-radius: var(--albizu-radius);
	font-family: var(--albizu-font-heading); font-weight: 600; padding: .7em 1.4em;
}
button:hover, .button:hover, [type="button"]:hover, [type="submit"]:hover, button:focus, [type="submit"]:focus { background: var(--albizu-purple); color: #fff; }

.albizu-container { max-width: var(--albizu-container); margin: 0 auto; padding: 0 20px; }
.albizu-layout { display: grid; gap: 48px; padding-top: 40px; padding-bottom: 64px; }
@media (min-width: 1025px) { .albizu-layout.has-sidebar { grid-template-columns: minmax(0, 1fr) 320px; } }

.albizu-pill {
	display: inline-block; background: var(--albizu-orange); color: #fff !important; text-decoration: none;
	font: 700 12px/1 var(--albizu-font-heading); letter-spacing: .06em; text-transform: uppercase;
	padding: 6px 10px; border-radius: 999px; margin-bottom: 12px;
}
.albizu-pill:hover { background: var(--albizu-teal); }
.albizu-meta { display: flex; flex-wrap: wrap; gap: 6px 16px; color: var(--albizu-muted); font-size: 14px; }
.albizu-meta > * + *::before { content: "•"; margin-right: 16px; color: var(--albizu-border); }

/* Archive */
.albizu-archive__header { background: #ff9966; color: #663366; padding: 18px 0; }
.albizu-archive__title { color: #663366; margin: 0; font-size: clamp(21px, 2.3vw, 25px); }
.albizu-archive__desc { color: #663366; margin-top: 8px; }
.albizu-grid { display: grid; gap: 32px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.albizu-card { background: #fff; border: 1px solid var(--albizu-border); border-radius: var(--albizu-radius); overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s, transform .2s; }
.albizu-card:hover { box-shadow: 0 12px 28px rgba(102, 51, 102, .14); transform: translateY(-2px); }
.albizu-card__media { display: block; aspect-ratio: 16 / 10; background: var(--albizu-purple-light); }
.albizu-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.albizu-card__placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, var(--albizu-purple) 0%, var(--albizu-purple-dark) 60%, var(--albizu-teal) 100%); }
.albizu-card__body { padding: 20px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.albizu-card__title { font-size: 20px; margin: 0 0 10px; }
.albizu-card__title a { color: var(--albizu-purple-dark); text-decoration: none; }
.albizu-card__title a:hover { color: var(--albizu-orange); }
.albizu-card__excerpt { color: var(--albizu-muted); margin: 0 0 16px; flex: 1; }
@media (min-width: 768px) {
	.albizu-card--featured { grid-column: 1 / -1; display: grid; grid-template-columns: 1.4fr 1fr; }
	.albizu-card--featured .albizu-card__media { aspect-ratio: auto; min-height: 340px; }
	.albizu-card--featured .albizu-card__body { padding: 36px; justify-content: center; }
	.albizu-card--featured .albizu-card__title { font-size: 30px; }
}
.nav-links { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 40px; }
.nav-links .page-numbers { padding: 8px 14px; border: 1px solid var(--albizu-border); border-radius: var(--albizu-radius); text-decoration: none; }
.nav-links .page-numbers.current { background: var(--albizu-purple); color: #fff; border-color: var(--albizu-purple); }

/* Single */
.albizu-single__header { max-width: 860px; padding-top: 56px; text-align: center; }
.albizu-single__header .albizu-meta { justify-content: center; }
.albizu-single__title { font-size: clamp(30px, 5vw, 52px); margin: 0 0 16px; }
.albizu-single__hero { margin-top: 32px; margin-bottom: 0; }
.albizu-single__hero img { width: 100%; height: auto; border-radius: var(--albizu-radius); display: block; }
.albizu-single .albizu-content { max-width: 760px; margin: 0 auto; width: 100%; font-size: 18px; line-height: 1.75; }
.albizu-single .has-sidebar .albizu-content { margin: 0; }
.albizu-content blockquote { border-left: 5px solid var(--albizu-orange); background: var(--albizu-cream); margin: 32px 0; padding: 20px 28px; font-style: italic; }
.albizu-content img { max-width: 100%; height: auto; }
.albizu-tags { margin: 32px 0; display: flex; gap: 8px; flex-wrap: wrap; }
.albizu-tags a { background: var(--albizu-purple-light); padding: 4px 12px; border-radius: 999px; font-size: 14px; text-decoration: none; }
.post-navigation .nav-links { justify-content: space-between; border-top: 1px solid var(--albizu-border); padding-top: 24px; }
.post-navigation span { display: block; font-size: 12px; text-transform: uppercase; color: var(--albizu-teal); letter-spacing: .06em; }

/* Sidebar */
.albizu-widget { background: var(--albizu-cream); padding: 24px; border-radius: var(--albizu-radius); margin-bottom: 24px; border-top: 4px solid var(--albizu-teal); }
.albizu-widget__title { font-size: 18px; margin-top: 0; }
