/**
 * The Mom Craft — main stylesheet (compiled).
 *
 * Phase 1 ships a minimal, accessible base. Phase 2 introduces the full design
 * system: CSS custom properties, 6 palettes, 6 font pairings, button styles and
 * the responsive typography/spacing engine output via dynamic CSS.
 *
 * Source SCSS lives in assets/css/scss/ (added in Phase 2). This compiled file
 * is always shipped so the theme works without a build step.
 */

/* -------------------------------------------------------------------------- */
/* 1. Base tokens (placeholder defaults; overridden by dynamic CSS in Phase 2) */
/* -------------------------------------------------------------------------- */

:root {
	--pc-primary: #c98a7d;
	--pc-secondary: #b5654a;
	--pc-accent: #9caf88;
	--pc-bg: #ffffff;
	--pc-bg-alt: #faf4ef;
	--pc-surface: #ffffff;
	--pc-text: #33312e;
	--pc-heading: #2a2724;
	--pc-muted: #7a736c;
	--pc-border: #e8ded6;
	--pc-announcement-bg: #4f8a8b;
	--pc-footer-bg: #4f8a8b;

	--pc-container: 1140px;
	--pc-content: 800px;
	--pc-radius: 6px;
	--pc-space: 16px;
	--pc-section-space: 64px;

	--pc-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--pc-font-heading: Georgia, "Times New Roman", serif;
}

/* -------------------------------------------------------------------------- */
/* 2. Reset / base                                                            */
/* -------------------------------------------------------------------------- */

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

html {
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	background-color: var(--pc-bg);
	color: var(--pc-text);
	font-family: var(--pc-font-body);
	font-size: 1rem;
	line-height: 1.65;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 0.5em;
	color: var(--pc-heading);
	font-family: var(--pc-font-heading);
	line-height: 1.25;
}

p {
	margin: 0 0 1.25em;
}

a {
	color: var(--pc-secondary);
	text-decoration: underline;
}

a:hover,
a:focus {
	color: var(--pc-primary);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* -------------------------------------------------------------------------- */
/* 3. Layout                                                                  */
/* -------------------------------------------------------------------------- */

.papercraft-container {
	width: 100%;
	max-width: var(--pc-container);
	margin-inline: auto;
	padding-inline: 1.25rem;
}

.site-content__inner {
	display: flex;
	flex-wrap: wrap;
	gap: 2.5rem;
	padding-block: 2.5rem;
}

.content-area {
	flex: 1 1 60%;
	min-width: 0;
}

.widget-area {
	flex: 1 1 280px;
}

.papercraft-no-sidebar .content-area {
	flex-basis: 100%;
}

.papercraft-no-sidebar .widget-area {
	display: none;
}

/* Posts grid */
.posts-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}

@media (min-width: 600px) {
	.posts-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* -------------------------------------------------------------------------- */
/* 4. Header builder                                                          */
/* -------------------------------------------------------------------------- */

.pc-header {
	background-color: var(--pc-header-bg, var(--pc-surface));
	color: var(--pc-header-text, var(--pc-heading));
	position: relative;
	z-index: 100;
}

.pc-header--border {
	border-bottom: 1px solid var(--pc-border);
}

.pc-header--shadow {
	box-shadow: 0 4px 20px -10px rgba(0, 0, 0, 0.2);
}

.pc-header__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding-block: var(--pc-header-pad, 18px);
}

.site-title {
	margin: 0;
}

.site-title a {
	text-decoration: none;
	color: inherit;
}

.site-description {
	margin: 0;
	color: var(--pc-muted);
	font-size: 0.85rem;
}

/* Primary nav */
.pc-primary-menu,
.pc-secondary-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.4rem;
}

.pc-primary-menu a,
.pc-secondary-menu a {
	text-decoration: none;
	color: inherit;
}

.pc-primary-menu a:hover,
.pc-primary-menu a:focus {
	color: var(--pc-header-link-hover, var(--pc-primary));
}

/* Submenus */
.pc-primary-menu li {
	position: relative;
}

.pc-primary-menu .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0.5rem 0;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 200px;
	background: var(--pc-surface);
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	box-shadow: 0 10px 30px -12px rgba(0, 0, 0, 0.25);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
	z-index: 20;
}

.pc-primary-menu li:hover > .sub-menu,
.pc-primary-menu li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.pc-primary-menu .sub-menu a {
	display: block;
	padding: 0.4rem 1.1rem;
}

.pc-header__right {
	display: flex;
	align-items: center;
	gap: 1.5rem;
}

/* Action cluster */
.pc-header__actions {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.pc-header__icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	background: none;
	border: 0;
	color: inherit;
	cursor: pointer;
	border-radius: 50%;
	position: relative;
	transition: background-color 0.18s ease, color 0.18s ease;
}

.pc-header__icon-btn:hover,
.pc-header__icon-btn:focus {
	background: var(--pc-bg-alt);
	color: var(--pc-header-link-hover, var(--pc-primary));
}

.pc-header__cart-count {
	position: absolute;
	top: 2px;
	right: 2px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	font-size: 11px;
	line-height: 18px;
	text-align: center;
	color: #fff;
	background: var(--pc-primary);
	border-radius: 999px;
}

/* Social icons */
.pc-social-list {
	list-style: none;
	display: flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0;
	padding: 0;
}

.pc-social-list a {
	display: inline-flex;
	color: inherit;
	transition: color 0.18s ease, transform 0.18s ease;
}

.pc-social-list a:hover {
	color: var(--pc-primary);
	transform: translateY(-2px);
}

/* Layout-specific arrangements */
.pc-header--layout2 .pc-header__row {
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
}

.pc-header--layout2 .pc-header__top {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	width: 100%;
	position: relative;
}

.pc-header--layout2 .pc-header__top .pc-header__actions {
	position: absolute;
	right: 0;
}

.pc-header--layout2 .pc-primary-nav--center .pc-primary-menu,
.pc-header--layout3 .pc-primary-nav--center .pc-primary-menu {
	justify-content: center;
}

.pc-header--layout3 .pc-header__row {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
}

.pc-header--layout3 .pc-header__actions {
	justify-self: end;
}

.pc-header--layout4 .pc-header__row {
	display: flex;
	align-items: center;
	gap: 1.5rem;
}

.pc-header--layout4 .pc-primary-nav--split {
	flex: 1;
	display: flex;
	justify-content: flex-end;
}

.pc-header--layout4 .pc-primary-menu--right {
	flex: 1;
	justify-content: flex-start;
}

.pc-header--layout4 .pc-header__branding {
	flex: 0 0 auto;
	text-align: center;
}

.pc-header--layout4 .pc-header__actions {
	flex: 0 0 auto;
}

.pc-header--layout6 .pc-header__row {
	padding-block: calc(var(--pc-header-pad, 18px) * 0.7);
}

.pc-header--layout6 .menu-toggle {
	display: inline-flex !important;
}

/* Transparent header — in-flow & readable by default; becomes a true white
   overlay only on pages that render a hero (added in a later phase). */
.pc-header--transparent {
	background-color: transparent;
}

.pc-has-hero .pc-header--transparent {
	color: #fff;
	position: absolute;
	inset: 0 0 auto 0;
	border: 0;
	z-index: 101;
}

.pc-has-hero .pc-header--transparent .site-description {
	color: rgba(255, 255, 255, 0.85);
}

/* Sticky + shrink */
.pc-header--sticky.is-stuck {
	position: sticky;
	top: 0;
	background-color: var(--pc-header-sticky-bg, var(--pc-header-bg));
	box-shadow: 0 4px 20px -12px rgba(0, 0, 0, 0.3);
}

/* Keep the sticky header below the WordPress admin bar when logged in. */
.admin-bar .pc-header--sticky.is-stuck {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar .pc-header--sticky.is-stuck {
		top: 46px;
	}
}

.pc-header--sticky.is-shrunk .pc-header__row {
	padding-block: calc(var(--pc-header-pad, 18px) * 0.5);
	transition: padding 0.2s ease;
}

/* Secondary menu row */
.pc-header__secondary {
	border-top: 1px solid var(--pc-border);
}

.pc-secondary-nav {
	padding-block: 0.5rem;
}

/* Header search panel */
.pc-header-search {
	border-top: 1px solid var(--pc-border);
	padding-block: 1rem;
	background: var(--pc-surface);
}

/* Mobile menu toggle (visibility controlled by dynamic breakpoint CSS) */
.menu-toggle {
	display: none;
}

/* -------------------------------------------------------------------------- */
/* 4c. Hamburger shapes (menu toggle)                                         */
/* -------------------------------------------------------------------------- */

.pc-burger {
	flex-direction: column;
}

.pc-burger__lines,
.pc-burger__lines::before,
.pc-burger__lines::after {
	content: "";
	display: block;
	width: 22px;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
	transition: transform 0.25s ease, opacity 0.2s ease, width 0.2s ease;
}

.pc-burger__lines {
	position: relative;
}

.pc-burger__lines::before {
	position: absolute;
	left: 0;
	top: -7px;
}

.pc-burger__lines::after {
	position: absolute;
	left: 0;
	top: 7px;
}

/* 2 · Thin */
.pc-burger--thin .pc-burger__lines,
.pc-burger--thin .pc-burger__lines::before,
.pc-burger--thin .pc-burger__lines::after {
	height: 1.5px;
}

/* 3 · Rounded bars */
.pc-burger--rounded .pc-burger__lines,
.pc-burger--rounded .pc-burger__lines::before,
.pc-burger--rounded .pc-burger__lines::after {
	height: 3px;
	border-radius: 3px;
}

/* 4 · Tapered (middle bar shorter) */
.pc-burger--tapered .pc-burger__lines {
	width: 15px;
}

/* 5 · Dots */
.pc-burger--dots .pc-burger__lines,
.pc-burger--dots .pc-burger__lines::before,
.pc-burger--dots .pc-burger__lines::after {
	width: 4px;
	height: 4px;
	border-radius: 50%;
}

/* 6 · Squeeze → animates to an X when open */
.pc-burger--squeeze[aria-expanded="true"] .pc-burger__lines {
	background: transparent;
}
.pc-burger--squeeze[aria-expanded="true"] .pc-burger__lines::before {
	transform: translateY(7px) rotate(45deg);
}
.pc-burger--squeeze[aria-expanded="true"] .pc-burger__lines::after {
	transform: translateY(-7px) rotate(-45deg);
}

/* -------------------------------------------------------------------------- */
/* 4d. Close button styles (off-canvas)                                       */
/* -------------------------------------------------------------------------- */

.pc-close--circle {
	border: 2px solid currentColor;
	border-radius: 50%;
}

.pc-close--square {
	border: 2px solid currentColor;
	border-radius: 6px;
}

.pc-close--bold svg {
	width: 28px;
	height: 28px;
}

.pc-close--thin {
	opacity: 0.7;
}

.pc-close--thin svg {
	width: 20px;
	height: 20px;
}

.pc-close--filled {
	background: var(--pc-primary);
	color: #fff;
}

.pc-close--filled:hover,
.pc-close--filled:focus {
	background: var(--pc-secondary);
	color: #fff;
}

/* Announcement bar */
.pc-announcement {
	background: var(--pc-announcement-bg);
	color: var(--pc-announcement-text, #fff);
	font-size: 0.9rem;
}

.pc-announcement__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	padding-block: 0.5rem;
	flex-wrap: wrap;
}

.pc-announcement__text {
	margin: 0;
}

.pc-announcement a:not(.button) {
	color: inherit;
}

.pc-announcement__button.button {
	padding: 0.35em 1em;
	font-size: 0.85rem;
}

.pc-announcement__close {
	background: none;
	border: 0;
	color: inherit;
	cursor: pointer;
	display: inline-flex;
	padding: 4px;
	margin-left: auto;
}

/* Off-canvas */
.pc-offcanvas {
	position: fixed;
	inset: 0;
	z-index: 999;
	visibility: hidden;
}

.pc-offcanvas.is-open {
	visibility: visible;
}

.pc-offcanvas__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0;
	transition: opacity 0.25s ease;
}

.pc-offcanvas.is-open .pc-offcanvas__overlay {
	opacity: 1;
}

.pc-offcanvas__panel {
	position: absolute;
	top: 0;
	bottom: 0;
	width: min(360px, 86vw);
	background: var(--pc-surface);
	color: var(--pc-text);
	padding: 4rem 1.5rem 2rem;
	overflow-y: auto;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Panel anchor */
.pc-offcanvas--right .pc-offcanvas__panel {
	right: 0;
}

.pc-offcanvas--left .pc-offcanvas__panel {
	left: 0;
}

.pc-offcanvas--full .pc-offcanvas__panel {
	left: 0;
	right: 0;
	width: 100%;
	text-align: center;
}

/* Animation 1: slide */
.pc-offcanvas--anim-slide.pc-offcanvas--right .pc-offcanvas__panel {
	transform: translateX(100%);
}
.pc-offcanvas--anim-slide.pc-offcanvas--left .pc-offcanvas__panel {
	transform: translateX(-100%);
}
.pc-offcanvas--anim-slide.is-open .pc-offcanvas__panel {
	transform: translateX(0);
}

/* Animation 2: slide + fade */
.pc-offcanvas--anim-slidefade .pc-offcanvas__panel {
	opacity: 0;
}
.pc-offcanvas--anim-slidefade.pc-offcanvas--right .pc-offcanvas__panel {
	transform: translateX(60px);
}
.pc-offcanvas--anim-slidefade.pc-offcanvas--left .pc-offcanvas__panel {
	transform: translateX(-60px);
}
.pc-offcanvas--anim-slidefade.is-open .pc-offcanvas__panel {
	transform: translateX(0);
	opacity: 1;
}

/* Animation 3: fade */
.pc-offcanvas--anim-fade .pc-offcanvas__panel {
	opacity: 0;
}
.pc-offcanvas--anim-fade.is-open .pc-offcanvas__panel {
	opacity: 1;
}

/* Animation 4: scale */
.pc-offcanvas--anim-scale .pc-offcanvas__panel {
	opacity: 0;
	transform: scale(0.92);
	transform-origin: center;
}
.pc-offcanvas--anim-scale.is-open .pc-offcanvas__panel {
	opacity: 1;
	transform: scale(1);
}

/* Animation 5: flip */
.pc-offcanvas--anim-flip .pc-offcanvas__panel {
	opacity: 0;
}
.pc-offcanvas--anim-flip.pc-offcanvas--right .pc-offcanvas__panel {
	transform: perspective(1200px) rotateY(-90deg);
	transform-origin: right center;
}
.pc-offcanvas--anim-flip.pc-offcanvas--left .pc-offcanvas__panel {
	transform: perspective(1200px) rotateY(90deg);
	transform-origin: left center;
}
.pc-offcanvas--anim-flip.is-open .pc-offcanvas__panel {
	opacity: 1;
	transform: perspective(1200px) rotateY(0);
}

/* Animation 6: fullscreen drop */
.pc-offcanvas--anim-fulldrop .pc-offcanvas__panel {
	transform: translateY(-100%);
}
.pc-offcanvas--anim-fulldrop.is-open .pc-offcanvas__panel {
	transform: translateY(0);
}

.pc-offcanvas__close {
	position: absolute;
	top: 1rem;
	right: 1rem;
}

.pc-offcanvas-menu {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
}

.pc-offcanvas-menu a {
	display: block;
	padding: 0.7rem 0;
	text-decoration: none;
	color: inherit;
	border-bottom: 1px solid var(--pc-border);
}

.pc-offcanvas-menu .sub-menu {
	list-style: none;
	margin: 0;
	padding-left: 1rem;
}

/* Off-canvas accordion submenus */
.pc-offcanvas-menu .menu-item-has-children {
	position: relative;
}

.pc-offcanvas-menu .menu-item-has-children > a {
	padding-right: 48px;
}

.pc-offcanvas-menu .sub-menu {
	display: none;
}

.pc-offcanvas-menu .menu-item-has-children.is-expanded > .sub-menu {
	display: block;
}

.pc-submenu-toggle {
	position: absolute;
	top: 0;
	right: 0;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: 0;
	color: inherit;
	cursor: pointer;
}

.pc-submenu-toggle__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.3rem;
	line-height: 1;
	transition: transform 0.2s ease;
}

/* Off-canvas toggle reflects the chosen dropdown indicator style. */
.pc-dd-chevron .pc-submenu-toggle__icon {
	width: 0.5em;
	height: 0.5em;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
}
.pc-dd-chevron .menu-item-has-children.is-expanded > .pc-submenu-toggle .pc-submenu-toggle__icon {
	transform: rotate(-135deg);
}

.pc-dd-triangle .pc-submenu-toggle__icon {
	width: 0;
	height: 0;
	border-left: 0.32em solid transparent;
	border-right: 0.32em solid transparent;
	border-top: 0.38em solid currentColor;
}
.pc-dd-triangle .menu-item-has-children.is-expanded > .pc-submenu-toggle .pc-submenu-toggle__icon {
	transform: rotate(180deg);
}

.pc-dd-arrow .pc-submenu-toggle__icon::before {
	content: "\2193";
}
.pc-dd-arrow .menu-item-has-children.is-expanded > .pc-submenu-toggle .pc-submenu-toggle__icon {
	transform: rotate(180deg);
}

.pc-dd-plus .pc-submenu-toggle__icon::before {
	content: "\002B";
	font-weight: 700;
}
.pc-dd-plus .menu-item-has-children.is-expanded > .pc-submenu-toggle .pc-submenu-toggle__icon::before {
	content: "\2212";
}

.pc-dd-caret .pc-submenu-toggle__icon::before {
	content: "\25BE";
}
.pc-dd-caret .menu-item-has-children.is-expanded > .pc-submenu-toggle .pc-submenu-toggle__icon {
	transform: rotate(180deg);
}

/* "None": no toggle, submenus shown expanded in the off-canvas. */
.pc-dd-none .pc-submenu-toggle {
	display: none;
}
.pc-dd-none .pc-offcanvas-menu .menu-item-has-children > a {
	padding-right: 0;
}
.pc-dd-none .pc-offcanvas-menu .sub-menu {
	display: block;
}

.pc-offcanvas__panel:focus {
	outline: none;
}

body.pc-offcanvas-open {
	overflow: hidden;
}

/* -------------------------------------------------------------------------- */
/* 4b. Dropdown indicators (desktop primary menu)                             */
/* -------------------------------------------------------------------------- */

.pc-primary-menu .menu-item-has-children > a {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
}

.pc-dd-chevron .pc-primary-menu .menu-item-has-children > a::after {
	content: "";
	width: 0.42em;
	height: 0.42em;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-1px);
	transition: transform 0.2s ease;
}

.pc-dd-chevron .pc-primary-menu .menu-item-has-children:hover > a::after,
.pc-dd-chevron .pc-primary-menu .menu-item-has-children:focus-within > a::after {
	transform: rotate(225deg) translateY(2px);
}

.pc-dd-triangle .pc-primary-menu .menu-item-has-children > a::after {
	content: "";
	border-left: 0.3em solid transparent;
	border-right: 0.3em solid transparent;
	border-top: 0.36em solid currentColor;
	transition: transform 0.2s ease;
}

.pc-dd-triangle .pc-primary-menu .menu-item-has-children:hover > a::after {
	transform: rotate(180deg);
}

.pc-dd-arrow .pc-primary-menu .menu-item-has-children > a::after {
	content: "\2193";
	font-size: 0.85em;
	line-height: 1;
}

.pc-dd-plus .pc-primary-menu .menu-item-has-children > a::after {
	content: "\002B";
	font-weight: 700;
	line-height: 1;
}

.pc-dd-plus .pc-primary-menu .menu-item-has-children:hover > a::after {
	content: "\2212";
}

.pc-dd-caret .pc-primary-menu .menu-item-has-children > a::after {
	content: "\25BE";
	font-size: 0.95em;
	line-height: 1;
}

/* Constrain custom logo */
.custom-logo {
	max-height: 60px;
	width: auto;
	height: auto;
}

/* Header logo is sized by the responsive Logo Width control (per device). */
.pc-header__branding .custom-logo {
	width: var(--pc-logo-w, 160px);
	max-width: 100%;
	max-height: none;
	height: auto;
}

/* Logo-only: drop any gap the (now absent) title/tagline would leave. */
.pc-branding--logo_only .site-title,
.pc-branding--logo_only .site-description {
	display: none;
}

/* -------------------------------------------------------------------------- */
/* 5. Cards                                                                   */
/* -------------------------------------------------------------------------- */

.post-card {
	background: var(--pc-surface);
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	overflow: hidden;
}

.post-card__body {
	padding: 1.25rem;
}

.entry-title {
	margin-top: 0;
}

.entry-categories a,
.entry-categories {
	display: inline-block;
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pc-secondary);
	text-decoration: none;
}

.entry-meta {
	color: var(--pc-muted);
	font-size: 0.85rem;
}

.entry-meta .byline,
.entry-meta .posted-on {
	margin-right: 0.75rem;
}

/* -------------------------------------------------------------------------- */
/* 6. Buttons                                                                 */
/* -------------------------------------------------------------------------- */

.button,
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.wp-block-button__link,
.wp-block-search__button,
.search-submit {
	display: inline-block;
	background-color: var(--pc-btn-bg, var(--pc-primary));
	color: var(--pc-btn-color, #fff);
	border: var(--pc-btn-border-width, 0) solid transparent;
	border-radius: var(--pc-btn-radius, var(--pc-radius));
	padding: var(--pc-btn-pad-y, 0.7em) var(--pc-btn-pad-x, 1.6em);
	font: inherit;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.button:hover,
.button:focus,
button:hover,
button:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="button"]:hover,
input[type="reset"]:hover,
.wp-block-button__link:hover,
.wp-block-button__link:focus,
.wp-block-search__button:hover,
.wp-block-search__button:focus,
.search-submit:hover,
.search-submit:focus {
	background-color: var(--pc-btn-bg-hover, var(--pc-secondary));
	color: var(--pc-btn-color-hover, #fff);
}

.more-link {
	display: inline-block;
	background: none;
	color: var(--pc-secondary);
	padding: 0;
	font-weight: 700;
	text-decoration: none;
}

/* Button style packs (body-class driven, all overridable via vars). */
.pc-btn-style-outline .button,
.pc-btn-style-outline button,
.pc-btn-style-outline input[type="submit"],
.pc-btn-style-outline .wp-block-button__link,
.pc-btn-style-outline .wp-block-search__button,
.pc-btn-style-outline .search-submit {
	background-color: transparent;
	color: var(--pc-btn-bg, var(--pc-primary));
	border-color: var(--pc-btn-bg, var(--pc-primary));
	border-width: var(--pc-btn-border-width, 2px);
}

.pc-btn-style-outline .button:hover,
.pc-btn-style-outline button:hover,
.pc-btn-style-outline input[type="submit"]:hover,
.pc-btn-style-outline .wp-block-search__button:hover,
.pc-btn-style-outline .search-submit:hover {
	background-color: var(--pc-btn-bg, var(--pc-primary));
	color: var(--pc-btn-color, #fff);
}

.pc-btn-style-pill .button,
.pc-btn-style-pill button,
.pc-btn-style-pill input[type="submit"],
.pc-btn-style-pill .wp-block-button__link,
.pc-btn-style-pill .wp-block-search__button,
.pc-btn-style-pill .search-submit {
	border-radius: 999px;
}

.pc-btn-style-sharp .button,
.pc-btn-style-sharp button,
.pc-btn-style-sharp input[type="submit"],
.pc-btn-style-sharp .wp-block-button__link,
.pc-btn-style-sharp .wp-block-search__button,
.pc-btn-style-sharp .search-submit {
	border-radius: 0;
}

.pc-btn-style-shadow .button,
.pc-btn-style-shadow button,
.pc-btn-style-shadow input[type="submit"],
.pc-btn-style-shadow .wp-block-button__link,
.pc-btn-style-shadow .wp-block-search__button,
.pc-btn-style-shadow .search-submit {
	box-shadow: 0 6px 14px -4px color-mix(in srgb, var(--pc-btn-bg, var(--pc-primary)) 55%, transparent);
}

.pc-btn-style-shadow .button:hover,
.pc-btn-style-shadow button:hover,
.pc-btn-style-shadow input[type="submit"]:hover {
	transform: translateY(-2px);
}

/* The underline style is intentionally limited to content buttons so search /
   submit controls stay usable. */
.pc-btn-style-underline .button,
.pc-btn-style-underline .wp-block-button__link {
	background: none;
	color: var(--pc-btn-bg, var(--pc-primary));
	border: 0;
	border-radius: 0;
	padding: 0.2em 0;
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* -------------------------------------------------------------------------- */
/* 7. Footer builder                                                          */
/* -------------------------------------------------------------------------- */

.pc-footer {
	background-color: var(--pc-footer-bg);
	color: var(--pc-footer-text, #fff);
}

.pc-footer a {
	color: var(--pc-footer-text, #fff);
}

.pc-footer .widget-title {
	color: var(--pc-footer-text, #fff);
}

.pc-footer .widget,
.pc-footer .widget p,
.pc-footer .widget li,
.pc-footer .widget .textwidget {
	color: var(--pc-footer-text, #fff);
}

.pc-footer .widget a {
	color: var(--pc-footer-link, var(--pc-accent));
}

.pc-footer__main {
	padding-block: var(--pc-footer-pad, 56px);
}

.pc-footer a:hover,
.pc-footer a:focus,
.pc-footer .pc-footer__nav a:hover {
	color: var(--pc-footer-link, var(--pc-accent));
}

/* Widget columns */
.pc-footer__widgets {
	display: grid;
	gap: 2rem;
	grid-template-columns: 1fr;
}

@media (min-width: 768px) {
	.pc-footer--layout1 .pc-footer__widgets {
		grid-template-columns: repeat(4, 1fr);
	}
	.pc-footer--layout2 .pc-footer__widgets {
		grid-template-columns: repeat(3, 1fr);
	}
	.pc-footer--layout5 .pc-footer__widgets {
		grid-template-columns: 2fr 1fr 1fr;
	}
	.pc-footer--layout6 .pc-footer__widgets {
		grid-template-columns: repeat(5, 1fr);
	}
}

.pc-footer__col--cta {
	background: rgba(255, 255, 255, 0.06);
	border-radius: var(--pc-radius);
	padding: 1.5rem;
}

/* Newsletter / centered layouts */
.pc-footer__newsletter,
.pc-footer__centered {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 1.25rem;
}

.pc-footer__optin {
	width: 100%;
	max-width: 540px;
}

.pc-footer__branding img.custom-logo {
	margin-inline: auto;
}

.pc-footer__site-title {
	font-family: var(--pc-font-heading);
	font-size: 1.4rem;
	font-weight: 700;
}

/* Social row */
.pc-footer__social {
	margin-top: 1.5rem;
}

.pc-footer__social .pc-social-list {
	justify-content: center;
}

/* Bottom bar */
.pc-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.pc-footer__bottom-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-block: 1.1rem;
}

.pc-footer__bottom--center .pc-footer__bottom-inner {
	flex-direction: column;
	justify-content: center;
	text-align: center;
}

.pc-footer__bottom--left .pc-footer__bottom-inner {
	justify-content: flex-start;
}

.pc-footer__credit {
	display: block;
	font-size: 0.85em;
	opacity: 0.8;
}

.footer-menu {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	margin: 0;
	padding: 0;
}

/* Middle menu row (6 layouts) */
.pc-footer__menu-row {
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.pc-footer__menu-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	padding-block: 1.1rem;
}

.pc-footer__menu-row--centered .pc-footer__menu-inner {
	justify-content: center;
}
.pc-footer__menu-row--left .pc-footer__menu-inner {
	justify-content: flex-start;
}
.pc-footer__menu-row--right .pc-footer__menu-inner {
	justify-content: flex-end;
}
.pc-footer__menu-row--spread .pc-footer__menu-inner {
	justify-content: space-between;
}
.pc-footer__menu-row--stacked .pc-footer__menu-inner {
	flex-direction: column;
}
.pc-footer__menu-row--stacked .footer-menu {
	flex-direction: column;
	align-items: center;
}
.pc-footer__menu-row--pipe .pc-footer__menu-inner {
	justify-content: center;
}
.pc-footer__menu-row--pipe .footer-menu {
	gap: 0;
}
.pc-footer__menu-row--pipe .footer-menu li:not(:first-child) {
	border-left: 1px solid rgba(255, 255, 255, 0.3);
	margin-left: 1.1rem;
	padding-left: 1.1rem;
}

/* Decorative top divider */
.pc-footer__divider {
	line-height: 0;
}

.pc-footer__divider svg {
	display: block;
	width: 100%;
	height: var(--pc-footer-divider-height, 60px);
}

.pc-footer__divider svg path {
	fill: var(--pc-footer-divider-color, var(--pc-footer-bg));
}

.pc-footer__divider--flip {
	transform: scaleX(-1);
}

/* Back-to-top. Doubled class specificity (.pc-back-to-top.pc-back-to-top) so
   the global button-style packs (outline/sharp/shadow…) can't restyle it. */
.pc-back-to-top {
	position: fixed;
	bottom: 24px;
	z-index: 200;
	width: 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.25s ease, transform 0.25s ease, background-color 0.2s ease;
}

.pc-back-to-top.pc-back-to-top {
	background: var(--pc-btt-bg, var(--pc-primary));
	color: var(--pc-btt-color, #fff);
	border: 0;
	padding: 0;
	transform: translateY(12px);
	box-shadow: 0 6px 18px -6px rgba(0, 0, 0, 0.4);
}

.pc-back-to-top--right {
	right: 24px;
}

.pc-back-to-top--left {
	left: 24px;
}

.pc-back-to-top.pc-back-to-top--circle {
	border-radius: 50%;
}

.pc-back-to-top.pc-back-to-top--rounded {
	border-radius: 12px;
}

.pc-back-to-top.pc-back-to-top--square {
	border-radius: 0;
}

.pc-back-to-top.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.pc-back-to-top.pc-back-to-top:hover,
.pc-back-to-top.pc-back-to-top:focus {
	background: var(--pc-secondary);
	color: var(--pc-btt-color, #fff);
	transform: translateY(0);
}

/* -------------------------------------------------------------------------- */
/* 8. Accessibility helpers                                                   */
/* -------------------------------------------------------------------------- */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
.menu-toggle:focus-visible {
	outline: 2px solid var(--pc-accent);
	outline-offset: 2px;
}

/* Visually hide content while keeping it available to screen readers
   (canonical WordPress accessibility pattern). */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: var(--pc-surface, #fff);
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: var(--pc-primary);
	display: block;
	font-size: 0.95rem;
	font-weight: 700;
	height: auto;
	left: 6px;
	line-height: normal;
	padding: 0.75rem 1.2rem;
	text-decoration: none;
	top: 6px;
	width: auto;
	z-index: 100000;
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
}

.skip-link:focus {
	left: 6px;
	top: 6px;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}

/* -------------------------------------------------------------------------- */
/* 9. Full-width section spacing utility                                      */
/* -------------------------------------------------------------------------- */

.pc-section {
	padding-block: var(--pc-section-space, 64px);
}

/* -------------------------------------------------------------------------- */
/* 10. Texture overlays (body-class driven, var-controlled)                   */
/* -------------------------------------------------------------------------- */

.pc-texture-dots::before,
.pc-texture-grid::before,
.pc-texture-confetti::before,
.pc-texture-paper::before,
.pc-texture-diagonal::before,
.pc-texture-crosshatch::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	opacity: var(--pc-texture-opacity, 0.4);
}

.pc-texture-dots::before {
	background-image: radial-gradient(var(--pc-texture-color, var(--pc-border)) 1.5px, transparent 1.5px);
	background-size: var(--pc-texture-size, 18px) var(--pc-texture-size, 18px);
}

.pc-texture-grid::before {
	background-image:
		linear-gradient(var(--pc-texture-color, var(--pc-border)) 1px, transparent 1px),
		linear-gradient(90deg, var(--pc-texture-color, var(--pc-border)) 1px, transparent 1px);
	background-size: var(--pc-texture-size, 24px) var(--pc-texture-size, 24px);
}

.pc-texture-confetti::before {
	background-image:
		radial-gradient(var(--pc-texture-color, var(--pc-accent)) 2px, transparent 2px),
		radial-gradient(var(--pc-secondary) 2px, transparent 2px);
	background-size:
		var(--pc-texture-size, 40px) var(--pc-texture-size, 40px),
		calc(var(--pc-texture-size, 40px) * 1.5) calc(var(--pc-texture-size, 40px) * 1.5);
	background-position: 0 0, calc(var(--pc-texture-size, 40px) / 2) calc(var(--pc-texture-size, 40px) / 1.5);
}

.pc-texture-paper::before {
	background-image:
		repeating-linear-gradient(0deg, var(--pc-texture-color, var(--pc-border)) 0, var(--pc-texture-color, var(--pc-border)) 0.5px, transparent 0.5px, transparent 4px);
}

.pc-texture-diagonal::before {
	background-image:
		repeating-linear-gradient(45deg, var(--pc-texture-color, var(--pc-border)) 0, var(--pc-texture-color, var(--pc-border)) 2px, transparent 2px, transparent var(--pc-texture-size, 18px));
}

.pc-texture-crosshatch::before {
	background-image:
		repeating-linear-gradient(45deg, var(--pc-texture-color, var(--pc-border)) 0, var(--pc-texture-color, var(--pc-border)) 1px, transparent 1px, transparent var(--pc-texture-size, 14px)),
		repeating-linear-gradient(-45deg, var(--pc-texture-color, var(--pc-border)) 0, var(--pc-texture-color, var(--pc-border)) 1px, transparent 1px, transparent var(--pc-texture-size, 14px));
}

/* -------------------------------------------------------------------------- */
/* 11. Widget text & link colors                                              */
/* -------------------------------------------------------------------------- */

.widget,
.widget p,
.widget li,
.widget .textwidget {
	color: var(--pc-widget-text, var(--pc-text));
}

.widget a {
	color: var(--pc-widget-link, var(--pc-secondary));
}

/* -------------------------------------------------------------------------- */
/* 12. Site layouts (body-class driven)                                       */
/* -------------------------------------------------------------------------- */

.pc-layout-narrow .papercraft-container {
	max-width: 960px;
}

.pc-layout-full .papercraft-container,
.pc-layout-fluid .papercraft-container {
	max-width: 100%;
}

.pc-layout-full .papercraft-container {
	padding-inline: 1rem;
}

.pc-layout-fluid .papercraft-container {
	padding-inline: clamp(1.25rem, 5vw, 5rem);
}

.pc-layout-boxed {
	background-color: var(--pc-bg-alt);
}

.pc-layout-boxed #page {
	max-width: calc(var(--pc-container) + 80px);
	margin-inline: auto;
	background-color: var(--pc-bg);
	box-shadow: 0 10px 40px -12px rgba(0, 0, 0, 0.18);
}

.pc-layout-content-boxed .site-content__inner {
	background-color: var(--pc-surface);
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	box-shadow: 0 8px 30px -16px rgba(0, 0, 0, 0.15);
	padding: clamp(1.25rem, 4vw, 2.5rem);
	margin-block: 2rem;
}

/* -------------------------------------------------------------------------- */
/* 13. Responsive — mobile / tablet / desktop                                 */
/* -------------------------------------------------------------------------- */

/* Fluid media & content safety on every device. */
.entry-content img,
.wp-block-image img {
	height: auto;
}

.entry-content iframe,
.entry-content video,
.entry-content embed,
.entry-content object {
	max-width: 100%;
}

.entry-content table {
	display: block;
	width: 100%;
	overflow-x: auto;
}

.entry-content pre {
	overflow-x: auto;
}

/* Posts grid scales with viewport. */
@media (min-width: 1200px) {
	.papercraft-no-sidebar .posts-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* Tablet: tighten gaps. */
@media (max-width: 1024px) {
	.site-content__inner {
		gap: 2rem;
		padding-block: 2rem;
	}

	.pc-header__row {
		gap: 1rem;
	}
}

/* Stack sidebar below content. */
@media (max-width: 900px) {
	.site-content__inner {
		flex-direction: column;
	}

	.content-area,
	.widget-area {
		flex-basis: auto;
		width: 100%;
	}
}

/* Mobile. */
@media (max-width: 600px) {
	.papercraft-container {
		padding-inline: 1rem;
	}

	.posts-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.site-content__inner {
		gap: 1.5rem;
		padding-block: 1.5rem;
	}

	.pc-announcement__inner {
		font-size: 0.8rem;
		gap: 0.5rem;
	}

	.pc-announcement__button.button {
		padding: 0.3em 0.8em;
		font-size: 0.78rem;
	}

	.pc-footer__widgets {
		grid-template-columns: 1fr !important;
		gap: 1.5rem;
		text-align: center;
	}

	.pc-footer__bottom-inner {
		flex-direction: column;
		text-align: center;
	}

	.footer-menu {
		justify-content: center;
	}

	.pc-offcanvas__panel {
		width: min(320px, 92vw);
	}

	.pc-offcanvas--full .pc-offcanvas__panel {
		width: 100%;
	}
}

/* Small phones. */
@media (max-width: 380px) {
	.pc-header__actions {
		gap: 0.15rem;
	}

	.pc-header__icon-btn {
		width: 36px;
		height: 36px;
	}
}

/* -------------------------------------------------------------------------- */
/* 14. Blog cards (styles + columns)                                          */
/* -------------------------------------------------------------------------- */

.pc-blog-cols-2 .posts-grid,
.pc-blog-cols-3 .posts-grid {
	grid-template-columns: 1fr;
}

@media (min-width: 600px) {
	.pc-blog-cols-2 .posts-grid,
	.pc-blog-cols-3 .posts-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 992px) {
	.pc-blog-cols-3 .posts-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.pc-card-flat .post-card {
	border: 0;
	background: transparent;
	border-radius: 0;
}

.pc-card-flat .post-card__body {
	padding-inline: 0;
}

.pc-card-horizontal .post-card {
	display: flex;
	flex-wrap: wrap;
}

.pc-card-horizontal .post-thumbnail {
	flex: 1 1 240px;
}

.pc-card-horizontal .post-card__body {
	flex: 1 1 280px;
}

.pc-card-overlay .post-card {
	position: relative;
	min-height: 280px;
	display: flex;
}

.pc-card-overlay .post-thumbnail {
	position: absolute;
	inset: 0;
}

.pc-card-overlay .post-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: brightness(0.62);
}

.pc-card-overlay .post-card__body {
	position: relative;
	margin-top: auto;
	color: #fff;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.75));
}

.pc-card-overlay .entry-title a {
	color: #fff;
}

.pc-card-more {
	display: inline-block;
	margin-top: 0.75rem;
}

/* -------------------------------------------------------------------------- */
/* 15. Breadcrumbs, badges, rating, meta                                      */
/* -------------------------------------------------------------------------- */

.pc-breadcrumbs {
	font-size: 0.82rem;
	color: var(--pc-muted);
	margin-bottom: 0.75rem;
}

.pc-breadcrumbs__list {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
	margin: 0;
	padding: 0;
}

.pc-breadcrumbs a {
	color: var(--pc-secondary);
	text-decoration: none;
}

.pc-breadcrumbs__sep {
	display: inline-flex;
	transform: rotate(-90deg);
	opacity: 0.5;
}

.pc-category-badges {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-bottom: 0.6rem;
}

.pc-category-badge {
	display: inline-block;
	padding: 0.18em 0.7em;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
	background: var(--pc-secondary);
	border-radius: 999px;
}

.pc-rating {
	display: inline-flex;
	gap: 1px;
	color: #d9d2cb;
	margin-bottom: 0.4rem;
}

.pc-rating__star.is-full {
	color: var(--pc-accent);
}

.pc-single-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1rem;
	color: var(--pc-muted);
	font-size: 0.88rem;
	margin-top: 0.5rem;
}

.pc-single-meta a {
	color: inherit;
}

/* -------------------------------------------------------------------------- */
/* 16. Single layout: columns, hero, sticky sidebar                           */
/* -------------------------------------------------------------------------- */

.pc-single .site-content__inner {
	display: block;
}

.pc-single-columns {
	display: flex;
	gap: 2.5rem;
	align-items: flex-start;
}

.pc-single-columns .content-area {
	flex: 1 1 auto;
	min-width: 0;
}

.pc-single-columns .widget-area {
	flex: 0 0 320px;
}

.pc-sidebar-left .pc-single-columns {
	flex-direction: row-reverse;
}

.pc-sidebar-none .pc-single-columns {
	display: block;
}

.pc-single-layout3 .content-area {
	max-width: var(--pc-content, 800px);
	margin-inline: auto;
}

.pc-sticky-sidebar .pc-single-columns .widget-area {
	position: sticky;
	top: 1.5rem;
}

@media (max-width: 900px) {
	.pc-single-columns,
	.pc-sidebar-left .pc-single-columns {
		flex-direction: column;
	}
	.pc-single-columns .widget-area {
		flex-basis: auto;
		width: 100%;
	}
	.pc-sticky-sidebar .pc-single-columns .widget-area {
		position: static;
	}
}

.pc-single-hero {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	padding-block: clamp(3rem, 8vw, 6rem);
	margin-bottom: 2.5rem;
	background-size: cover;
	background-position: center;
	color: #fff;
}

.pc-single-hero:not(.has-image) {
	background-color: var(--pc-single-hero-bg, var(--pc-heading));
}

/* The dark scrim only applies over an image. */
.pc-single-hero:not(.has-image) .pc-single-hero__overlay {
	display: none;
}

.pc-single-hero__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.42);
}

/* Craft title-background patterns (over the solid color) */
.pc-hero-pat-dots:not(.has-image) {
	background-image: radial-gradient(rgba(255, 255, 255, 0.18) 2px, transparent 2px);
	background-size: 22px 22px;
}

.pc-hero-pat-confetti:not(.has-image) {
	background-image:
		radial-gradient(rgba(255, 255, 255, 0.22) 2.5px, transparent 2.5px),
		radial-gradient(rgba(255, 255, 255, 0.12) 2.5px, transparent 2.5px);
	background-size: 46px 46px, 70px 70px;
	background-position: 0 0, 24px 32px;
}

.pc-hero-pat-kraft:not(.has-image) {
	background-image: repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.06) 0, rgba(255, 255, 255, 0.06) 1px, transparent 1px, transparent 5px);
}

.pc-hero-pat-plaid:not(.has-image) {
	background-image:
		repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.12) 0, rgba(255, 255, 255, 0.12) 12px, transparent 12px, transparent 24px),
		repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.12) 0, rgba(255, 255, 255, 0.12) 12px, transparent 12px, transparent 24px);
}

/* Single post page + sidebar backgrounds */
body.pc-single {
	background-color: var(--pc-single-body-bg, var(--pc-bg));
}

.pc-single-columns .widget-area {
	background: var(--pc-single-sidebar-bg, transparent);
}

.pc-single-sidebarbg .pc-single-columns .widget-area {
	padding: 1.25rem;
	border-radius: var(--pc-radius);
}

.pc-single-hero__inner {
	position: relative;
	text-align: center;
}

.pc-single-hero.has-image .pc-breadcrumbs,
.pc-single-hero.has-image .pc-breadcrumbs a,
.pc-single-hero .pc-single-meta,
.pc-single-hero .pc-single-meta a {
	color: rgba(255, 255, 255, 0.9);
}

.pc-single-hero__title {
	color: #fff;
	max-width: 880px;
	margin-inline: auto;
}

.pc-single-hero .pc-breadcrumbs__list,
.pc-single-hero .pc-category-badges,
.pc-single-hero .pc-single-meta {
	justify-content: center;
}

/* -------------------------------------------------------------------------- */
/* 17. TOC, author box, signature, share, related, ads                        */
/* -------------------------------------------------------------------------- */

.pc-toc {
	background: var(--pc-bg-alt);
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	padding: 1rem 1.25rem;
	margin-bottom: 1.75rem;
}

.pc-toc__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.pc-toc__title {
	font-family: var(--pc-font-heading);
	font-weight: 700;
	font-size: 1.05rem;
}

.pc-toc__toggle {
	background: none;
	border: 0;
	cursor: pointer;
	color: inherit;
	display: inline-flex;
	transition: transform 0.2s ease;
}

.pc-toc.is-collapsed .pc-toc__list {
	display: none;
}

.pc-toc__list {
	list-style: none;
	margin: 0.75rem 0 0;
	padding: 0;
}

.pc-toc__item {
	margin: 0.3rem 0;
}

.pc-toc__item--h3 {
	padding-left: 1.25rem;
	font-size: 0.95em;
}

.pc-toc__list a {
	text-decoration: none;
	color: var(--pc-text);
}

.pc-toc__list a:hover {
	color: var(--pc-primary);
}

.pc-author-box {
	display: flex;
	gap: 1.25rem;
	align-items: flex-start;
	background: var(--pc-bg-alt);
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	padding: 1.5rem;
	margin-top: 2rem;
}

.pc-author-box__avatar img {
	border-radius: 50%;
	width: 84px;
	height: 84px;
}

.pc-author-box__eyebrow {
	font-family: var(--pc-font-accent);
	color: var(--pc-secondary);
	font-size: 1.1rem;
}

.pc-author-box__name {
	margin: 0.1rem 0 0.5rem;
}

.pc-author-box__link {
	font-weight: 700;
	text-decoration: none;
	color: var(--pc-secondary);
}

.pc-signature {
	margin: 1.75rem 0;
}

.pc-signature__image {
	max-height: 70px;
	width: auto;
}

.pc-signature__text {
	font-family: var(--pc-font-accent);
	font-size: 2rem;
	color: var(--pc-secondary);
}

.pc-share {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin: 1.75rem 0;
	padding-block: 1rem;
	border-block: 1px solid var(--pc-border);
}

.pc-share__label {
	font-weight: 700;
}

.pc-share__list {
	list-style: none;
	display: flex;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
}

.pc-share__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	color: #fff;
	background: var(--pc-share-color, var(--pc-primary));
	border: 2px solid var(--pc-share-color, var(--pc-primary));
	transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.pc-share__btn:hover {
	transform: translateY(-2px);
	filter: brightness(0.92);
}

.pc-share__btn-label {
	display: none;
}

/* Share button styles */
.pc-share--rounded .pc-share__btn {
	border-radius: var(--pc-radius);
}

.pc-share--square .pc-share__btn {
	border-radius: 0;
}

.pc-share--outline .pc-share__btn {
	background: transparent;
	color: var(--pc-share-color, var(--pc-primary));
}

.pc-share--outline .pc-share__btn:hover {
	background: var(--pc-share-color, var(--pc-primary));
	color: #fff;
}

.pc-share--minimal .pc-share__btn {
	background: none;
	border: 0;
	color: var(--pc-share-color, var(--pc-primary));
	width: auto;
	height: auto;
}

.pc-share--pill .pc-share__btn {
	width: auto;
	height: auto;
	border-radius: 999px;
	padding: 0.4em 1em;
}

.pc-share--pill .pc-share__btn-label {
	display: inline;
	font-size: 0.85rem;
	font-weight: 600;
}

.pc-related {
	margin-top: 2.5rem;
}

.pc-related__title {
	margin-bottom: 1.25rem;
}

.pc-related__track {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

.pc-related--carousel .pc-related__track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	gap: 1.25rem;
	padding-bottom: 0.75rem;
}

.pc-related--carousel .pc-related__card {
	flex: 0 0 70%;
	max-width: 300px;
	scroll-snap-align: start;
}

.pc-related__thumb img {
	border-radius: var(--pc-radius);
	width: 100%;
}

.pc-related__name {
	font-size: 1.05rem;
	margin: 0.6rem 0 0.2rem;
}

.pc-related__name a {
	text-decoration: none;
	color: var(--pc-heading);
}

.pc-related__date {
	font-size: 0.8rem;
	color: var(--pc-muted);
}

@media (max-width: 700px) {
	.pc-related__track {
		grid-template-columns: 1fr 1fr;
	}
}

.pc-incontent-ad,
.pc-belowcontent-ad {
	margin: 1.75rem 0;
	text-align: center;
}

.post-navigation {
	margin: 2rem 0;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.post-navigation .nav-subtitle {
	display: block;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--pc-muted);
}

.post-navigation a {
	text-decoration: none;
	color: var(--pc-heading);
	font-weight: 600;
}

/* -------------------------------------------------------------------------- */
/* 18. Phase 5.1 — extra card styles, bg layouts, hero divider, related        */
/* -------------------------------------------------------------------------- */

/* Card style 5: soft shadow */
.pc-card-shadow .post-card {
	border: 0;
	box-shadow: 0 12px 30px -16px rgba(0, 0, 0, 0.28);
}

/* Card style 6: editorial (title underline accent) */
.pc-card-editorial .post-card {
	border: 0;
	background: transparent;
	border-radius: 0;
}

.pc-card-editorial .post-card__body {
	padding-inline: 0;
}

.pc-card-editorial .entry-title {
	border-bottom: 2px solid var(--pc-accent);
	padding-bottom: 0.5rem;
	display: inline-block;
}

/* Single layouts 7–9: colored page + boxed content */
.pc-single-bg {
	background-color: var(--pc-single-page-bg, var(--pc-bg-alt));
}

.pc-single-bg .pc-single-article {
	background: var(--pc-single-content-bg, var(--pc-surface));
	border-radius: var(--pc-radius);
	padding: clamp(1.5rem, 4vw, 3rem);
}

.pc-single-bg .widget {
	background: var(--pc-single-content-bg, var(--pc-surface));
	border-radius: var(--pc-radius);
	padding: 1.25rem;
}

/* Hero title divider */
.pc-single-hero__divider {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	line-height: 0;
	z-index: 2;
}

.pc-single-hero__divider svg {
	display: block;
	width: 100%;
	height: 56px;
}

.pc-single-hero__divider path {
	fill: var(--pc-hero-divider-color, var(--pc-bg));
}

/* Breadcrumb separator (character) + prefix */
.pc-breadcrumbs__sep--char {
	opacity: 0.5;
}

.pc-breadcrumbs__prefix {
	color: var(--pc-muted);
	font-weight: 600;
	margin-right: 0.25rem;
}

/* Related: head + carousel arrows */
.pc-related__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.25rem;
}

.pc-related__head .pc-related__title {
	margin: 0;
}

.pc-related__nav {
	display: flex;
	gap: 0.4rem;
}

.pc-related__arrow {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid var(--pc-border);
	background: var(--pc-surface);
	color: var(--pc-heading);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.pc-related__arrow:hover {
	background: var(--pc-primary);
	color: #fff;
	border-color: var(--pc-primary);
}

.pc-related__arrow[data-dir="prev"] svg {
	transform: rotate(90deg);
}

.pc-related__arrow[data-dir="next"] svg {
	transform: rotate(-90deg);
}

/* Related list style */
.pc-related--list .pc-related__track {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.pc-related--list .pc-related__card {
	display: flex;
	gap: 1rem;
	align-items: center;
}

.pc-related--list .pc-related__thumb {
	flex: 0 0 90px;
}

.pc-related--list .pc-related__thumb img {
	height: 70px;
	object-fit: cover;
}

/* Related overlay style */
.pc-related--overlay .pc-related__card {
	position: relative;
	border-radius: var(--pc-radius);
	overflow: hidden;
}

.pc-related--overlay .pc-related__thumb img {
	filter: brightness(0.6);
	height: 200px;
	object-fit: cover;
}

.pc-related--overlay .pc-related__body {
	position: absolute;
	inset: auto 0 0 0;
	padding: 1rem;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.78));
}

.pc-related--overlay .pc-related__name a,
.pc-related--overlay .pc-related__date {
	color: #fff;
}

/* -------------------------------------------------------------------------- */
/* 19. Phase 5.2 — read-more & category variants, author social, TOC, titles  */
/* -------------------------------------------------------------------------- */

/* Read More variants */
.pc-card-more {
	text-decoration: none;
	color: var(--pc-secondary);
	font-weight: 700;
}

.pc-card-more--arrow::after {
	content: " →";
}

.pc-card-more--underline {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.pc-card-more--button,
.pc-card-more--pill,
.pc-card-more--outline {
	display: inline-block;
	padding: 0.5em 1.2em;
	color: #fff;
	background: var(--pc-primary);
	border-radius: var(--pc-radius);
}

.pc-card-more--pill {
	border-radius: 999px;
}

.pc-card-more--outline {
	background: transparent;
	color: var(--pc-primary);
	border: 2px solid var(--pc-primary);
}

.pc-card-more--button:hover,
.pc-card-more--pill:hover {
	background: var(--pc-secondary);
	color: #fff;
}

.pc-card-more--outline:hover {
	background: var(--pc-primary);
	color: #fff;
}

/* Category badge variants */
.pc-category-badges--outline .pc-category-badge {
	background: transparent;
	color: var(--pc-secondary);
	border: 1.5px solid var(--pc-secondary);
}

.pc-category-badges--square .pc-category-badge {
	border-radius: 4px;
}

.pc-category-badges--text .pc-category-badge {
	background: transparent;
	color: var(--pc-secondary);
	padding-inline: 0;
}

.pc-category-badges--underline .pc-category-badge {
	background: transparent;
	color: var(--pc-secondary);
	padding-inline: 0;
	border-radius: 0;
	border-bottom: 2px solid var(--pc-accent);
}

.pc-category-badges--soft .pc-category-badge {
	background: color-mix(in srgb, var(--pc-secondary) 16%, transparent);
	color: var(--pc-secondary);
}

/* Author box social */
.pc-author-box__social {
	margin: 0.75rem 0;
}

.pc-author-box__link.button {
	color: #fff;
	text-decoration: none;
}

/* TOC — fix toggle color (escape button-style packs) + variants */
.pc-toc__title {
	color: var(--pc-heading);
}

.pc-toc__toggle.pc-toc__toggle {
	background: none;
	border: 0;
	box-shadow: none;
	padding: 4px;
	color: var(--pc-muted);
}

.pc-toc__toggle.pc-toc__toggle:hover {
	color: var(--pc-primary);
	background: none;
}

.pc-toc-toggle--chevron.is-collapsed .pc-toc__toggle,
.pc-toc-toggle--caret.is-collapsed .pc-toc__toggle,
.pc-toc-toggle--arrow.is-collapsed .pc-toc__toggle {
	transform: rotate(-90deg);
}

/* Plus / minus variant */
.pc-toc__plus {
	position: relative;
	display: inline-block;
	width: 16px;
	height: 16px;
}

.pc-toc__plus::before,
.pc-toc__plus::after {
	content: "";
	position: absolute;
	background: currentColor;
	transition: opacity 0.2s ease;
}

.pc-toc__plus::before {
	top: 7px;
	left: 0;
	width: 16px;
	height: 2px;
}

.pc-toc__plus::after {
	left: 7px;
	top: 0;
	width: 2px;
	height: 16px;
}

.pc-toc-toggle--plus:not(.is-collapsed) .pc-toc__plus::after {
	opacity: 0;
}

/* Related arrows — escape button-style packs */
.pc-related__arrow.pc-related__arrow {
	background: var(--pc-surface);
	color: var(--pc-heading);
	border: 1px solid var(--pc-border);
	box-shadow: none;
	padding: 0;
}

.pc-related__arrow.pc-related__arrow:hover {
	background: var(--pc-primary);
	color: #fff;
	border-color: var(--pc-primary);
}

/* -------------------------------------------------------------------------- */
/* 20. Craft-niche single-post title treatments (per layout)                  */
/* -------------------------------------------------------------------------- */

/* Layout 2 — stitched dashed underline */
.pc-single-layout2 .entry-header .entry-title {
	border-bottom: 4px dotted var(--pc-accent);
	padding-bottom: 0.5rem;
}

/* Layout 3 — centered with a dotted craft divider */
.pc-single-layout3 .entry-header {
	text-align: center;
}

.pc-single-layout3 .entry-header .entry-title::after {
	content: "";
	display: block;
	width: 72px;
	height: 8px;
	margin: 0.75rem auto 0;
	background: radial-gradient(circle, var(--pc-accent) 3px, transparent 3.5px);
	background-size: 14px 8px;
}

/* Layout 5 — wavy underline */
.pc-single-layout5 .entry-header .entry-title {
	text-decoration: underline;
	text-decoration-style: wavy;
	text-decoration-color: var(--pc-accent);
	text-decoration-thickness: 2px;
	text-underline-offset: 8px;
}

/* Layout 6 — highlighter band behind the title */
.pc-single-layout6 .entry-header .entry-title {
	display: inline;
	background-image: linear-gradient(transparent 58%, color-mix(in srgb, var(--pc-accent) 55%, transparent) 58%);
	padding: 0 0.15em;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

/* Layout 7 — washi-tape accent before the title */
.pc-single-layout7 .entry-header .entry-title::before {
	content: "";
	display: inline-block;
	width: 44px;
	height: 18px;
	margin-right: 0.6rem;
	vertical-align: middle;
	background: var(--pc-accent);
	opacity: 0.7;
	transform: rotate(-5deg);
}

/* Layout 8 — centered with washi-tape corners */
.pc-single-layout8 .entry-header {
	text-align: center;
}

.pc-single-layout8 .entry-header .entry-title {
	position: relative;
	display: inline-block;
	padding: 0.4rem 1.75rem;
}

.pc-single-layout8 .entry-header .entry-title::before,
.pc-single-layout8 .entry-header .entry-title::after {
	content: "";
	position: absolute;
	top: -8px;
	width: 38px;
	height: 16px;
	background: var(--pc-accent);
	opacity: 0.6;
}

.pc-single-layout8 .entry-header .entry-title::before {
	left: -8px;
	transform: rotate(-9deg);
}

.pc-single-layout8 .entry-header .entry-title::after {
	right: -8px;
	transform: rotate(9deg);
}

/* Layout 9 — left accent bar */
.pc-single-layout9 .entry-header .entry-title {
	border-left: 6px solid var(--pc-primary);
	padding-left: 1rem;
}

/* -------------------------------------------------------------------------- */
/* 21. Hero / breadcrumb contrast fixes                                       */
/* -------------------------------------------------------------------------- */

.pc-single-hero .pc-breadcrumbs,
.pc-single-hero .pc-breadcrumbs a,
.pc-single-hero .pc-breadcrumbs span,
.pc-single-hero .pc-breadcrumbs__sep,
.pc-single-hero .pc-single-meta,
.pc-single-hero .pc-single-meta a {
	color: rgba(255, 255, 255, 0.92);
}

.pc-single-hero .pc-category-badge {
	background: rgba(255, 255, 255, 0.18);
	color: #fff;
	border-color: rgba(255, 255, 255, 0.4);
}

/* Keep the boxed / colored title layouts readable */
.pc-single-bg .entry-header .entry-title,
.pc-single-bg .entry-header .entry-title a {
	color: var(--pc-heading);
}

/* -------------------------------------------------------------------------- */
/* 22. Title-section alignment + post-meta system                             */
/* -------------------------------------------------------------------------- */

/* Alignment (wins over per-layout center defaults). */
.pc-title-align-left .pc-single-article > .entry-header,
.pc-title-align-left .pc-single-hero__inner {
	text-align: left;
}

.pc-title-align-center .pc-single-article > .entry-header,
.pc-title-align-center .pc-single-hero__inner {
	text-align: center;
}

.pc-title-align-right .pc-single-article > .entry-header,
.pc-title-align-right .pc-single-hero__inner {
	text-align: right;
}

.pc-title-align-center .pc-single-meta,
.pc-title-align-center .pc-category-badges,
.pc-title-align-center .pc-breadcrumbs__list {
	justify-content: center;
}

.pc-title-align-left .pc-single-meta,
.pc-title-align-left .pc-category-badges,
.pc-title-align-left .pc-breadcrumbs__list {
	justify-content: flex-start;
}

.pc-title-align-right .pc-single-meta,
.pc-title-align-right .pc-category-badges,
.pc-title-align-right .pc-breadcrumbs__list {
	justify-content: flex-end;
}

/* Post meta items + separators */
.pc-single-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.55rem;
}

.pc-meta-avatar img {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	vertical-align: middle;
	margin-right: 0.35rem;
}

.pc-meta-sep {
	display: inline-block;
	color: var(--pc-muted);
	opacity: 0.7;
}

.pc-meta-sep--dot .pc-meta-sep::before {
	content: "•";
}

.pc-meta-sep--pipe .pc-meta-sep::before {
	content: "|";
}

.pc-meta-sep--slash .pc-meta-sep::before {
	content: "/";
}

.pc-meta-sep--dash .pc-meta-sep::before {
	content: "–";
}

.pc-meta-sep--space .pc-meta-sep {
	width: 0.4rem;
}

.pc-single-meta a {
	color: inherit;
}

/* -------------------------------------------------------------------------- */
/* 23. Homepage builder                                                       */
/* -------------------------------------------------------------------------- */

.pc-home .site-content__inner {
	display: block;
	max-width: none;
	padding-inline: 0;
	padding-block: 0;
}

.pc-hp-section {
	padding-block: var(--pc-section-space, 64px);
}

.pc-hp-head {
	text-align: center;
	margin-bottom: 2rem;
}

.pc-eyebrow {
	display: block;
	font-family: var(--pc-font-accent);
	color: var(--pc-secondary);
	font-size: 1.5rem;
	line-height: 1;
	margin-bottom: 0.25rem;
}

.pc-hp-title {
	margin: 0;
}

.pc-hp-grid {
	display: grid;
	gap: 1.75rem;
	grid-template-columns: 1fr;
}

@media (min-width: 600px) {
	.pc-hp-grid--2,
	.pc-hp-grid--3,
	.pc-hp-grid--4 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 920px) {
	.pc-hp-grid--3 {
		grid-template-columns: repeat(3, 1fr);
	}
	.pc-hp-grid--4 {
		grid-template-columns: repeat(4, 1fr);
	}
}

.pc-hp-card__thumb {
	display: block;
	border-radius: var(--pc-radius);
	overflow: hidden;
}

.pc-hp-card__thumb img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.pc-hp-card__title {
	font-size: 1.1rem;
	margin: 0.5rem 0 0;
}

.pc-hp-card__title a {
	text-decoration: none;
	color: var(--pc-heading);
}

/* Hero tabs */
.pc-hero-tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
	margin-bottom: 1.75rem;
}

.pc-hero-tab {
	background: var(--pc-bg-alt);
	border: 1px solid var(--pc-border);
	border-radius: 999px;
	padding: 0.4em 1.1em;
	cursor: pointer;
	font: inherit;
	color: var(--pc-text);
}

.pc-hero-tab.is-active {
	background: var(--pc-primary);
	border-color: var(--pc-primary);
	color: #fff;
}

/* Category strip — 7 styles via grid (--pc-cat-cols) */
.pc-cat-strip {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 600px) {
	.pc-cat-strip {
		grid-template-columns: repeat(var(--pc-cat-cols, 6), 1fr);
	}
}

.pc-cat-strip__item a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	text-decoration: none;
	color: var(--pc-heading);
}

.pc-cat-strip__media {
	width: 100%;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: var(--pc-bg-alt);
	border: 2px solid var(--pc-border);
	transition: transform 0.2s ease, border-color 0.2s ease;
}

.pc-cat-strip__item a:hover .pc-cat-strip__media {
	transform: translateY(-3px);
	border-color: var(--pc-primary);
}

.pc-cat-strip__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pc-cat-strip__initial {
	font-family: var(--pc-font-heading);
	font-size: 1.8rem;
	color: var(--pc-primary);
}

.pc-cat-strip__name {
	font-size: 0.85rem;
	font-weight: 600;
	text-align: center;
}

.pc-cat-strip__count {
	color: var(--pc-muted);
	font-weight: 400;
}

/* 1 · Circle */
.pc-cat-strip--circle .pc-cat-strip__media {
	border-radius: 50%;
}

/* 2 · Rounded squares */
.pc-cat-strip--square .pc-cat-strip__media {
	border-radius: 16px;
}

/* 3 · Image cards */
.pc-cat-strip--imagecard .pc-cat-strip__media {
	border-radius: var(--pc-radius);
	aspect-ratio: 3 / 2;
}

/* 4 · Image + name overlay */
.pc-cat-strip--overlay .pc-cat-strip__item a {
	position: relative;
}

.pc-cat-strip--overlay .pc-cat-strip__media {
	aspect-ratio: 3 / 2;
	border-radius: var(--pc-radius);
	border: 0;
}

.pc-cat-strip--overlay .pc-cat-strip__media img {
	filter: brightness(0.65);
}

.pc-cat-strip--overlay .pc-cat-strip__name {
	position: absolute;
	inset: auto 0 0 0;
	color: #fff;
	padding: 0.6rem;
}

/* 5 · Boxed */
.pc-cat-strip--boxed .pc-cat-strip__item a {
	background: var(--pc-surface);
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	padding: 0.9rem;
}

.pc-cat-strip--boxed .pc-cat-strip__media {
	border-radius: var(--pc-radius);
	aspect-ratio: 3 / 2;
	border: 0;
}

/* 6 · Pills (no image) */
.pc-cat-strip--pill {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.pc-cat-strip--pill .pc-cat-strip__media {
	display: none;
}

.pc-cat-strip--pill .pc-cat-strip__item a {
	background: var(--pc-bg-alt);
	border: 1px solid var(--pc-border);
	border-radius: 999px;
	padding: 0.5em 1.2em;
}

.pc-cat-strip--pill .pc-cat-strip__item a:hover {
	background: var(--pc-primary);
	color: #fff;
}

/* 7 · List */
.pc-cat-strip--list {
	grid-template-columns: 1fr;
}

@media (min-width: 600px) {
	.pc-cat-strip--list {
		grid-template-columns: repeat(2, 1fr);
	}
}

.pc-cat-strip--list .pc-cat-strip__item a {
	flex-direction: row;
	align-items: center;
	gap: 0.9rem;
	background: var(--pc-surface);
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	padding: 0.6rem;
}

.pc-cat-strip--list .pc-cat-strip__media {
	width: 60px;
	height: 60px;
	flex: 0 0 60px;
	border-radius: var(--pc-radius);
	aspect-ratio: auto;
}

.pc-cat-strip--list .pc-cat-strip__name {
	text-align: left;
}

/* Featured On */
.pc-hp-featured-on {
	background: var(--pc-bg-alt);
}

.pc-logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 2.5rem;
}

.pc-logos__item {
	max-height: var(--pc-logo-size, 40px);
	width: auto;
	transition: filter 0.2s ease, opacity 0.2s ease;
}

.pc-logos--gray .pc-logos__item {
	filter: grayscale(1);
	opacity: 0.7;
}

.pc-logos--gray .pc-logos__link:hover .pc-logos__item,
.pc-logos--gray .pc-logos__item:hover {
	filter: grayscale(0);
	opacity: 1;
}

/* Meet the author */
.pc-hp-author {
	background: var(--pc-bg-alt);
}

.pc-author-intro {
	display: grid;
	gap: 2.5rem;
	align-items: center;
	grid-template-columns: 1fr;
}

@media (min-width: 760px) {
	.pc-author-intro {
		grid-template-columns: 320px 1fr;
	}
}

.pc-author-intro__media img {
	border-radius: var(--pc-radius);
	width: 100%;
}

.pc-author-intro .pc-hp-head {
	text-align: left;
	margin-bottom: 1rem;
}

/* Top 10 */
.pc-top10 {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 700px) {
	.pc-top10 {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1000px) {
	.pc-top10 {
		grid-template-columns: repeat(5, 1fr);
	}
}

.pc-top10__thumb {
	display: block;
	position: relative;
	border-radius: var(--pc-radius);
	overflow: hidden;
}

.pc-top10__thumb img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.pc-top10__badge {
	position: absolute;
	top: 8px;
	left: 8px;
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--pc-primary);
	color: #fff;
	font-weight: 700;
	font-family: var(--pc-font-heading);
}

.pc-top10__title {
	font-size: 0.95rem;
	margin: 0.5rem 0 0;
}

.pc-top10__title a {
	text-decoration: none;
	color: var(--pc-heading);
}

/* Video */
.pc-video {
	display: grid;
	gap: 2rem;
	grid-template-columns: 1fr;
}

@media (min-width: 860px) {
	.pc-video {
		grid-template-columns: 2fr 1fr;
	}
}

.pc-video__embed {
	position: relative;
	aspect-ratio: 16 / 9;
}

.pc-video__embed iframe {
	width: 100%;
	height: 100%;
	border-radius: var(--pc-radius);
}

.pc-video__playlist {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pc-video__playlist li {
	border-bottom: 1px solid var(--pc-border);
}

.pc-video__playlist a {
	display: block;
	padding: 0.6rem 0;
	text-decoration: none;
	color: var(--pc-heading);
}

/* Holidays */
.pc-holidays {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 600px) {
	.pc-holidays {
		grid-template-columns: repeat(4, 1fr);
	}
}

.pc-holidays__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	text-decoration: none;
	color: var(--pc-heading);
	text-align: center;
}

.pc-holidays__media {
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: var(--pc-radius);
	overflow: hidden;
	background: var(--pc-bg-alt);
}

.pc-holidays__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pc-holidays__label {
	font-weight: 600;
}

/* Newsletter */
.pc-hp-newsletter {
	background: var(--pc-bg-alt);
}

.pc-newsletter {
	max-width: 640px;
	margin-inline: auto;
	text-align: center;
}

.pc-newsletter .pc-hp-head {
	margin-bottom: 1rem;
}

/* CTA */
.pc-hp-cta {
	background: var(--pc-announcement-bg);
	color: #fff;
}

.pc-cta-banner {
	display: grid;
	gap: 2rem;
	align-items: center;
	grid-template-columns: 1fr;
}

@media (min-width: 760px) {
	.pc-cta-banner {
		grid-template-columns: 1fr 1fr;
	}
}

.pc-cta-banner .pc-eyebrow {
	color: rgba(255, 255, 255, 0.85);
}

.pc-cta-banner .pc-hp-title {
	color: #fff;
}

.pc-cta-banner .pc-hp-head {
	text-align: left;
}

.pc-cta-banner__media img {
	border-radius: var(--pc-radius);
	width: 100%;
}

/* -------------------------------------------------------------------------- */
/* 24. Homepage — section dividers, card styles, newsletter form              */
/* -------------------------------------------------------------------------- */

.pc-hp-section {
	position: relative;
}

.pc-hp-divider {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	line-height: 0;
	transform: translateY(-99%);
	pointer-events: none;
}

.pc-hp-divider svg {
	display: block;
	width: 100%;
	height: 60px;
}

.pc-hp-divider path {
	fill: var(--pc-hp-divider-color, var(--pc-bg));
}

/* Card styles (homepage) */
.pc-hp-card__date {
	display: block;
	font-size: 0.8rem;
	color: var(--pc-muted);
	margin-top: 0.25rem;
}

.pc-hp-card--boxed {
	background: var(--pc-surface);
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	overflow: hidden;
}

.pc-hp-card--boxed .pc-hp-card__body {
	padding: 1rem 1.1rem 1.2rem;
}

.pc-hp-card--overlay {
	position: relative;
	border-radius: var(--pc-radius);
	overflow: hidden;
}

.pc-hp-card--overlay .pc-hp-card__thumb img {
	filter: brightness(0.62);
}

.pc-hp-card--overlay .pc-hp-card__body {
	position: absolute;
	inset: auto 0 0 0;
	padding: 1rem;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.78));
}

.pc-hp-card--overlay .pc-hp-card__title a {
	color: #fff;
}

.pc-hp-card--horizontal {
	display: grid;
	grid-template-columns: 40% 1fr;
	gap: 1rem;
	align-items: center;
}

.pc-hp-card--list {
	display: grid;
	grid-template-columns: 84px 1fr;
	gap: 0.9rem;
	align-items: center;
}

.pc-hp-card--list .pc-hp-card__thumb img {
	aspect-ratio: 1 / 1;
}

.pc-hp-card--minimal {
	border-left: 3px solid var(--pc-accent);
	padding-left: 1rem;
}

/* Newsletter form (built-in) */
.pc-subscribe {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
}

.pc-subscribe__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.pc-subscribe input[type="text"],
.pc-subscribe input[type="email"] {
	flex: 1 1 200px;
	min-width: 0;
	padding: 0.7em 1em;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	background: var(--pc-surface);
	color: var(--pc-text);
}

.pc-subscribe__btn {
	flex: 0 0 auto;
}

.pc-subscribe__msg {
	margin-top: 0.75rem;
	text-align: center;
	font-weight: 600;
}

.pc-subscribe__msg--ok {
	color: var(--pc-accent);
}

.pc-subscribe__msg--error {
	color: var(--pc-secondary);
}

@media (max-width: 600px) {
	.pc-hp-card--horizontal {
		grid-template-columns: 1fr;
	}
}

/* -------------------------------------------------------------------------- */
/* 25. Homepage — per-section colors, line dividers, view-more, craft cards    */
/* -------------------------------------------------------------------------- */

/* Per-section color overrides */
.pc-hp-section .pc-eyebrow {
	color: var(--pc-hp-eyebrow-color, var(--pc-secondary));
}

.pc-hp-section .pc-hp-title,
.pc-hp-section .pc-hp-head__text .pc-hp-title {
	color: var(--pc-hp-title-color, var(--pc-heading));
}

.pc-hp-section .pc-hp-card:not(.pc-hp-card--overlay) .pc-hp-card__title a,
.pc-hp-section .pc-hp-card__date {
	color: var(--pc-hp-text-color, var(--pc-heading));
}

/* View-more link + split head */
.pc-hp-head--split {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	text-align: left;
}

.pc-hp-head--split .pc-hp-head__text {
	text-align: left;
}

.pc-hp-more {
	font-weight: 700;
	text-decoration: none;
	color: var(--pc-secondary);
	white-space: nowrap;
}

.pc-hp-head:not(.pc-hp-head--split) .pc-hp-more {
	display: inline-block;
	margin-top: 0.5rem;
}

/* Line dividers */
.pc-hp-line {
	border: 0;
	border-top: 2px solid var(--pc-hp-line-color, var(--pc-border));
	width: min(var(--pc-container, 1140px), 90%);
	margin: 0 auto 2rem;
}

.pc-hp-line--dashline {
	border-top-style: dashed;
}

.pc-hp-line--dotline {
	border-top-style: dotted;
	border-top-width: 4px;
}

/* Craft cards */
.pc-hp-card--polaroid {
	background: #fff;
	padding: 0.6rem 0.6rem 1.1rem;
	border-radius: 2px;
	box-shadow: 0 10px 22px -12px rgba(0, 0, 0, 0.35);
	transform: rotate(-1.5deg);
	transition: transform 0.2s ease;
}

.pc-hp-card--polaroid:hover {
	transform: rotate(0);
}

.pc-hp-card--polaroid .pc-hp-card__title {
	font-family: var(--pc-font-accent);
	font-size: 1.3rem;
	text-align: center;
	margin-top: 0.4rem;
}

.pc-hp-card--tape {
	background: #fff;
	padding: 0.6rem;
	position: relative;
	box-shadow: 0 8px 18px -10px rgba(0, 0, 0, 0.3);
}

.pc-hp-card--tape::before {
	content: "";
	position: absolute;
	top: -11px;
	left: 50%;
	width: 78px;
	height: 22px;
	transform: translateX(-50%) rotate(-4deg);
	background: color-mix(in srgb, var(--pc-accent) 55%, transparent);
}

.pc-hp-card--tag {
	background: var(--pc-bg-alt);
	border: 1px solid var(--pc-border);
	border-radius: 4px 14px 14px 4px;
	padding: 0.75rem 0.9rem 1rem 1.4rem;
	position: relative;
}

.pc-hp-card--tag::before {
	content: "";
	position: absolute;
	top: 14px;
	left: 12px;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	border: 2px solid var(--pc-muted);
}

/* -------------------------------------------------------------------------- */
/* 26. Hero styles                                                            */
/* -------------------------------------------------------------------------- */

.pc-hero-feature {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: 1fr;
}

@media (min-width: 820px) {
	.pc-hero-feature {
		grid-template-columns: 1.6fr 1fr;
		grid-auto-rows: 1fr;
	}
	.pc-hero-feature__big {
		grid-row: span 2;
	}
}

.pc-hero-feature .pc-hp-card--overlay {
	height: 100%;
}

.pc-hero-feature__big .pc-hp-card__thumb,
.pc-hero-feature__big .pc-hp-card__thumb img {
	height: 100%;
	min-height: 320px;
	object-fit: cover;
}

.pc-hero-feature__side .pc-hp-card__thumb img {
	aspect-ratio: 16 / 9;
}

.pc-hero-slider {
	display: flex;
	gap: 1.5rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 0.75rem;
}

.pc-hero-slider .pc-hp-card {
	flex: 0 0 82%;
	max-width: 380px;
	scroll-snap-align: start;
}

@media (min-width: 760px) {
	.pc-hero-slider .pc-hp-card {
		flex-basis: 31%;
	}
}

.pc-hero-split {
	display: grid;
	gap: 2rem;
	align-items: center;
	grid-template-columns: 1fr;
}

@media (min-width: 760px) {
	.pc-hero-split {
		grid-template-columns: 1.2fr 1fr;
	}
}

.pc-hero-split__media img {
	width: 100%;
	border-radius: var(--pc-radius);
}

.pc-hero-split__title {
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	margin: 0.5rem 0;
}

.pc-hero-split__title a {
	text-decoration: none;
	color: var(--pc-heading);
}

.pc-hero-banner {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 380px;
	position: relative;
	background-size: cover;
	background-position: center;
	border-radius: var(--pc-radius);
	overflow: hidden;
	text-align: center;
	text-decoration: none;
}

.pc-hero-banner__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.42);
}

.pc-hero-banner__inner {
	position: relative;
	color: #fff;
	padding: 1.5rem;
	max-width: 820px;
}

.pc-hero-banner__title {
	display: block;
	font-family: var(--pc-font-heading);
	font-size: clamp(1.8rem, 5vw, 3rem);
	color: #fff;
}

.pc-hero-banner .pc-eyebrow {
	color: rgba(255, 255, 255, 0.85);
}

/* -------------------------------------------------------------------------- */
/* 27. Decorations — card hover, title accents, widgets, frames, band texture */
/* -------------------------------------------------------------------------- */

/* Base card transitions */
.post-card,
.pc-hp-card,
.pc-related__card {
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.post-card .post-thumbnail img,
.pc-hp-card__thumb img,
.pc-related__thumb img {
	transition: transform 0.35s ease;
}

.post-card .post-thumbnail,
.pc-hp-card__thumb,
.pc-related__thumb {
	overflow: hidden;
}

/* Lift */
.pc-cardfx-lift .post-card:hover,
.pc-cardfx-lift .pc-hp-card:hover,
.pc-cardfx-lift-zoom .post-card:hover,
.pc-cardfx-lift-zoom .pc-hp-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 36px -20px rgba(0, 0, 0, 0.4);
}

/* Shadow */
.pc-cardfx-shadow .post-card:hover,
.pc-cardfx-shadow .pc-hp-card:hover {
	box-shadow: 0 18px 36px -20px rgba(0, 0, 0, 0.4);
}

/* Zoom */
.pc-cardfx-zoom .post-card:hover .post-thumbnail img,
.pc-cardfx-zoom .pc-hp-card:hover .pc-hp-card__thumb img,
.pc-cardfx-lift-zoom .post-card:hover .post-thumbnail img,
.pc-cardfx-lift-zoom .pc-hp-card:hover .pc-hp-card__thumb img {
	transform: scale(1.07);
}

/* Tilt */
.pc-cardfx-tilt .post-card:hover,
.pc-cardfx-tilt .pc-hp-card:hover {
	transform: rotate(-1.5deg) translateY(-4px);
}

/* Section title accents (homepage titles + entry/page titles) */
.pc-titlefx-underline .pc-hp-title,
.pc-titlefx-wavy .pc-hp-title,
.pc-titlefx-dots .pc-hp-title {
	display: inline-block;
	padding-bottom: 0.35rem;
}

.pc-titlefx-underline .pc-hp-title {
	border-bottom: 4px solid var(--pc-title-decor-color, var(--pc-accent));
}

.pc-titlefx-wavy .pc-hp-title {
	text-decoration: underline;
	text-decoration-style: wavy;
	text-decoration-color: var(--pc-title-decor-color, var(--pc-accent));
	text-decoration-thickness: 2px;
	text-underline-offset: 8px;
}

.pc-titlefx-brush .pc-hp-title {
	display: inline-block;
	background: linear-gradient(var(--pc-title-decor-color, var(--pc-accent)), var(--pc-title-decor-color, var(--pc-accent))) no-repeat left bottom / 100% 8px;
	padding-bottom: 4px;
}

.pc-titlefx-dots .pc-hp-title {
	border-bottom: 4px dotted var(--pc-title-decor-color, var(--pc-accent));
}

.pc-titlefx-highlight .pc-hp-title {
	display: inline;
	background: linear-gradient(transparent 60%, color-mix(in srgb, var(--pc-title-decor-color, var(--pc-accent)) 50%, transparent) 60%);
	padding: 0 0.2em;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

/* Title flourish (glyph above the section head) */
.pc-flourish-scissors .pc-hp-head::before,
.pc-flourish-heart .pc-hp-head::before,
.pc-flourish-star .pc-hp-head::before,
.pc-flourish-flower .pc-hp-head::before,
.pc-flourish-sparkle .pc-hp-head::before {
	display: block;
	font-size: 1.4rem;
	line-height: 1;
	color: var(--pc-title-decor-color, var(--pc-accent));
	margin-bottom: 0.35rem;
}

.pc-flourish-scissors .pc-hp-head--split::before,
.pc-flourish-heart .pc-hp-head--split::before,
.pc-flourish-star .pc-hp-head--split::before,
.pc-flourish-flower .pc-hp-head--split::before,
.pc-flourish-sparkle .pc-hp-head--split::before {
	width: 100%;
	text-align: left;
}

.pc-flourish-scissors .pc-hp-head::before { content: "\2702"; }
.pc-flourish-heart .pc-hp-head::before { content: "\2764"; }
.pc-flourish-star .pc-hp-head::before { content: "\2605"; }
.pc-flourish-flower .pc-hp-head::before { content: "\273F"; }
.pc-flourish-sparkle .pc-hp-head::before { content: "\2726"; }

/* Sidebar widget styling */
.pc-widgetfx-boxed .widget-area .widget {
	background: var(--pc-surface);
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	padding: 1.25rem;
}

.pc-widgetfx-bordered .widget-area .widget {
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	padding: 1.25rem;
}

.pc-widgetfx-underline .widget-area .widget-title {
	border-bottom: 2px solid var(--pc-widget-accent, var(--pc-primary));
	padding-bottom: 0.4rem;
}

.pc-widgetfx-accent .widget-area .widget {
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	overflow: hidden;
	padding: 0 1.25rem 1.25rem;
}

.pc-widgetfx-accent .widget-area .widget-title {
	background: var(--pc-widget-accent, var(--pc-primary));
	color: #fff;
	margin: 0 -1.25rem 1rem;
	padding: 0.7rem 1.25rem;
	font-size: 1rem;
}

/* Featured image frames (cards + single) */
.pc-imgframe-rounded .post-thumbnail img,
.pc-imgframe-rounded .pc-hp-card__thumb img {
	border-radius: 12px;
}

.pc-imgframe-soft .post-thumbnail img,
.pc-imgframe-soft .pc-hp-card__thumb img {
	border-radius: 22px;
}

.pc-imgframe-polaroid .post-card .post-thumbnail,
.pc-imgframe-polaroid .pc-hp-card__thumb {
	background: #fff;
	padding: 8px 8px 16px;
	box-shadow: 0 10px 22px -14px rgba(0, 0, 0, 0.35);
	border-radius: 2px;
}

.pc-imgframe-circle .pc-hp-card--list .pc-hp-card__thumb img,
.pc-imgframe-circle .pc-cat-strip--circle .pc-cat-strip__media {
	border-radius: 50%;
}

/* Colored band texture overlay */
.pc-hp-has-bg {
	position: relative;
}

.pc-bandtex-dots .pc-hp-has-bg::after,
.pc-bandtex-grid .pc-hp-has-bg::after,
.pc-bandtex-confetti .pc-hp-has-bg::after,
.pc-bandtex-diagonal .pc-hp-has-bg::after,
.pc-bandtex-crosshatch .pc-hp-has-bg::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0.35;
	z-index: 0;
}

.pc-hp-has-bg > .papercraft-container {
	position: relative;
	z-index: 1;
}

.pc-bandtex-dots .pc-hp-has-bg::after {
	background-image: radial-gradient(currentColor 1.5px, transparent 1.5px);
	background-size: 18px 18px;
	color: rgba(0, 0, 0, 0.18);
}

.pc-bandtex-grid .pc-hp-has-bg::after {
	background-image:
		linear-gradient(rgba(0, 0, 0, 0.12) 1px, transparent 1px),
		linear-gradient(90deg, rgba(0, 0, 0, 0.12) 1px, transparent 1px);
	background-size: 24px 24px;
}

.pc-bandtex-confetti .pc-hp-has-bg::after {
	background-image:
		radial-gradient(rgba(255, 255, 255, 0.5) 2px, transparent 2px),
		radial-gradient(rgba(0, 0, 0, 0.12) 2px, transparent 2px);
	background-size: 40px 40px, 60px 60px;
	background-position: 0 0, 20px 30px;
}

.pc-bandtex-diagonal .pc-hp-has-bg::after {
	background-image: repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.1) 0, rgba(0, 0, 0, 0.1) 2px, transparent 2px, transparent 16px);
}

.pc-bandtex-crosshatch .pc-hp-has-bg::after {
	background-image:
		repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.08) 0, rgba(0, 0, 0, 0.08) 1px, transparent 1px, transparent 14px),
		repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.08) 0, rgba(0, 0, 0, 0.08) 1px, transparent 1px, transparent 14px);
}

/* -------------------------------------------------------------------------- */
/* 28. Blog craft cards, link animations, captions                           */
/* -------------------------------------------------------------------------- */

/* Blog archive craft cards */
.pc-card-polaroid .post-card {
	background: #fff;
	padding: 0.6rem 0.6rem 1.2rem;
	border-radius: 2px;
	box-shadow: 0 12px 26px -14px rgba(0, 0, 0, 0.35);
	transform: rotate(-1deg);
}

.pc-card-polaroid .post-card:hover {
	transform: rotate(0);
}

.pc-card-polaroid .post-card__body {
	padding-inline: 0;
	text-align: center;
}

.pc-card-polaroid .entry-title {
	font-family: var(--pc-font-accent);
}

.pc-card-tape .post-card {
	background: #fff;
	padding: 0.7rem;
	position: relative;
	box-shadow: 0 10px 22px -12px rgba(0, 0, 0, 0.3);
}

.pc-card-tape .post-card::before {
	content: "";
	position: absolute;
	top: -12px;
	left: 50%;
	width: 92px;
	height: 24px;
	transform: translateX(-50%) rotate(-3deg);
	background: color-mix(in srgb, var(--pc-accent) 55%, transparent);
}

.pc-card-tag .post-card {
	background: var(--pc-bg-alt);
	border: 1px solid var(--pc-border);
	border-radius: 4px 16px 16px 4px;
	position: relative;
}

.pc-card-tag .post-card__body {
	padding-left: 1.6rem;
}

.pc-card-tag .post-card::before {
	content: "";
	position: absolute;
	top: 16px;
	left: 14px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 2px solid var(--pc-muted);
	z-index: 1;
}

/* Link hover animations (content links). Scope = post content, widgets,
   comments and author bio. Uses a background-image underline so it works on
   inline and wrapped links (the old ::after version failed on some). */
.pc-linkfx-underline :is(.entry-content, .widget-area .widget, .comment-content, .pc-author-box__bio) a:not(.button):not(.more-link):not(.wp-block-button__link):not(.pc-card-more) {
	text-decoration: none;
}
.pc-linkfx-underline :is(.entry-content, .widget-area .widget, .comment-content, .pc-author-box__bio) a:not(.button):not(.more-link):not(.wp-block-button__link):not(.pc-card-more):hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.pc-linkfx-slide-left :is(.entry-content, .widget-area .widget, .comment-content, .pc-author-box__bio) a:not(.button):not(.more-link):not(.wp-block-button__link):not(.pc-card-more),
.pc-linkfx-slide-right :is(.entry-content, .widget-area .widget, .comment-content, .pc-author-box__bio) a:not(.button):not(.more-link):not(.wp-block-button__link):not(.pc-card-more),
.pc-linkfx-grow :is(.entry-content, .widget-area .widget, .comment-content, .pc-author-box__bio) a:not(.button):not(.more-link):not(.wp-block-button__link):not(.pc-card-more) {
	text-decoration: none;
	background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-size: 0% 2px;
	transition: background-size 0.28s ease;
	padding-bottom: 2px;
}

.pc-linkfx-slide-left :is(.entry-content, .widget-area .widget, .comment-content, .pc-author-box__bio) a {
	background-position: left bottom;
}
.pc-linkfx-slide-right :is(.entry-content, .widget-area .widget, .comment-content, .pc-author-box__bio) a {
	background-position: right bottom;
}
.pc-linkfx-grow :is(.entry-content, .widget-area .widget, .comment-content, .pc-author-box__bio) a {
	background-position: center bottom;
}

.pc-linkfx-slide-left :is(.entry-content, .widget-area .widget, .comment-content, .pc-author-box__bio) a:not(.button):not(.more-link):not(.wp-block-button__link):not(.pc-card-more):hover,
.pc-linkfx-slide-right :is(.entry-content, .widget-area .widget, .comment-content, .pc-author-box__bio) a:not(.button):not(.more-link):not(.wp-block-button__link):not(.pc-card-more):hover,
.pc-linkfx-grow :is(.entry-content, .widget-area .widget, .comment-content, .pc-author-box__bio) a:not(.button):not(.more-link):not(.wp-block-button__link):not(.pc-card-more):hover {
	background-size: 100% 2px;
}

.pc-linkfx-fade :is(.entry-content, .widget-area .widget, .comment-content, .pc-author-box__bio) a:not(.button):not(.more-link):not(.wp-block-button__link):not(.pc-card-more) {
	text-decoration: none;
	transition: color 0.25s ease;
}
.pc-linkfx-fade :is(.entry-content, .widget-area .widget, .comment-content, .pc-author-box__bio) a:not(.button):not(.more-link):not(.wp-block-button__link):not(.pc-card-more):hover {
	color: var(--pc-primary);
}

.pc-linkfx-highlight :is(.entry-content, .widget-area .widget, .comment-content, .pc-author-box__bio) a:not(.button):not(.more-link):not(.wp-block-button__link):not(.pc-card-more) {
	text-decoration: none;
	background-image: linear-gradient(var(--pc-accent), var(--pc-accent));
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 0% 35%;
	transition: background-size 0.28s ease;
}
.pc-linkfx-highlight :is(.entry-content, .widget-area .widget, .comment-content, .pc-author-box__bio) a:not(.button):not(.more-link):not(.wp-block-button__link):not(.pc-card-more):hover {
	background-size: 100% 35%;
}

.pc-linkfx-thick :is(.entry-content, .widget-area .widget, .comment-content, .pc-author-box__bio) a:not(.button):not(.more-link):not(.wp-block-button__link):not(.pc-card-more) {
	text-decoration: none;
	box-shadow: inset 0 -4px 0 var(--pc-accent);
	transition: box-shadow 0.2s ease;
}
.pc-linkfx-thick :is(.entry-content, .widget-area .widget, .comment-content, .pc-author-box__bio) a:not(.button):not(.more-link):not(.wp-block-button__link):not(.pc-card-more):hover {
	box-shadow: inset 0 -8px 0 var(--pc-accent);
}

.pc-linkfx-dashed :is(.entry-content, .widget-area .widget, .comment-content, .pc-author-box__bio) a:not(.button):not(.more-link):not(.wp-block-button__link):not(.pc-card-more) {
	text-decoration: underline;
	text-decoration-style: dashed;
	text-underline-offset: 3px;
}

/* Captions */
.pc-featured {
	margin: 0 0 1.5rem;
}

.wp-caption-text,
figcaption,
.wp-element-caption,
.pc-featured-caption {
	font-family: var(--pc-caption-font, inherit);
	font-size: var(--pc-caption-size, 14px);
	color: var(--pc-caption-color, var(--pc-muted));
	margin-top: 0.5rem;
	line-height: 1.5;
}

/* Alignment (separate from style) — set on the figure so block AND inline-block
   captions both align. */
.pc-caption-align-center :is(.pc-featured, figure.wp-caption, .wp-block-image figure, .wp-caption) {
	text-align: center;
}
.pc-caption-align-right :is(.pc-featured, figure.wp-caption, .wp-block-image figure, .wp-caption) {
	text-align: right;
}

.pc-caption-italic :is(figcaption, .wp-caption-text, .pc-featured-caption) {
	font-style: italic;
}

.pc-caption-underline :is(figcaption, .wp-caption-text, .pc-featured-caption) {
	text-decoration: underline;
	text-decoration-color: var(--pc-accent);
	text-underline-offset: 3px;
}

/* Boxes/borders/tag hug only the caption text. */
.pc-caption-boxed :is(figcaption, .wp-caption-text, .pc-featured-caption),
.pc-caption-bordered :is(figcaption, .wp-caption-text, .pc-featured-caption),
.pc-caption-tag :is(figcaption, .wp-caption-text, .pc-featured-caption) {
	display: inline-block;
	max-width: 100%;
}

.pc-caption-boxed :is(figcaption, .wp-caption-text, .pc-featured-caption) {
	background: var(--pc-bg-alt);
	padding: 0.45rem 0.75rem;
	border-radius: var(--pc-radius);
}

.pc-caption-accentbar :is(figcaption, .wp-caption-text, .pc-featured-caption) {
	display: inline-block;
	border-left: 3px solid var(--pc-accent);
	padding-left: 0.75rem;
	text-align: left;
}

.pc-caption-script :is(figcaption, .wp-caption-text, .pc-featured-caption) {
	font-family: var(--pc-font-accent);
	font-size: calc(var(--pc-caption-size, 14px) + 5px);
	color: var(--pc-secondary);
}

.pc-caption-uppercase :is(figcaption, .wp-caption-text, .pc-featured-caption) {
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: calc(var(--pc-caption-size, 14px) - 1px);
}

.pc-caption-bordered :is(figcaption, .wp-caption-text, .pc-featured-caption) {
	border: 1px solid var(--pc-border);
	padding: 0.45rem 0.75rem;
	border-radius: var(--pc-radius);
}

.pc-caption-tag :is(figcaption, .wp-caption-text, .pc-featured-caption) {
	background: var(--pc-secondary);
	color: #fff;
	padding: 0.2rem 0.8rem;
	border-radius: 999px;
}

/* -------------------------------------------------------------------------- */
/* 29. Author box styles (9, craft-friendly)                                  */
/* -------------------------------------------------------------------------- */

.pc-author-box__avatar img {
	border-radius: 50%;
	width: 84px;
	height: 84px;
	object-fit: cover;
	display: block;
	max-width: 100%;
}

/* Responsive foundations shared by all 9 author styles.
   Avatar never shrinks (was collapsing to a sliver on mobile); the body can
   shrink and long author names / emails wrap instead of overflowing. */
.pc-author-box {
	flex-wrap: wrap;
}

.pc-author-box__avatar {
	flex: 0 0 auto;
}

.pc-author-box__body {
	flex: 1 1 220px;
	min-width: 0;
}

.pc-author-box__name,
.pc-author-box__eyebrow,
.pc-author-box__bio,
.pc-author-box__link {
	overflow-wrap: anywhere;
	word-break: break-word;
	max-width: 100%;
}

.pc-author-box__link.button {
	display: inline-block;
	max-width: 100%;
}

/* 2 · Centered */
.pc-author-box--centered {
	flex-direction: column;
	text-align: center;
	align-items: center;
}

.pc-author-box--centered .pc-author-box__social .pc-social-list,
.pc-author-box--banner .pc-author-box__social .pc-social-list {
	justify-content: center;
}

/* 3 · Soft card */
.pc-author-box--card {
	background: var(--pc-surface);
	border: 0;
	box-shadow: 0 16px 36px -22px rgba(0, 0, 0, 0.4);
}

/* 4 · Polaroid avatar */
.pc-author-box--polaroid .pc-author-box__avatar {
	background: #fff;
	padding: 8px 8px 18px;
	box-shadow: 0 10px 22px -14px rgba(0, 0, 0, 0.4);
	transform: rotate(-3deg);
}

.pc-author-box--polaroid .pc-author-box__avatar img {
	border-radius: 2px;
}

/* 5 · Postage stamp */
.pc-author-box--stamp {
	background: var(--pc-surface);
	border: 2px dashed var(--pc-secondary);
	border-radius: 0;
}

.pc-author-box--stamp .pc-author-box__avatar img {
	border-radius: 0;
}

/* 6 · Gift tag */
.pc-author-box--tag {
	background: var(--pc-bg-alt);
	border-radius: 6px 22px 22px 6px;
	position: relative;
	padding-left: 2.25rem;
}

.pc-author-box--tag::before {
	content: "";
	position: absolute;
	top: 1.5rem;
	left: 1rem;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	border: 2px solid var(--pc-muted);
}

/* 7 · Accent ring */
.pc-author-box--ring .pc-author-box__avatar img {
	border: 3px solid var(--pc-primary);
	outline: 3px solid var(--pc-bg-alt);
	outline-offset: 2px;
}

/* 8 · Colored banner */
.pc-author-box--banner {
	flex-direction: column;
	text-align: center;
	align-items: center;
	background: var(--pc-announcement-bg);
	color: #fff;
	border: 0;
}

.pc-author-box--banner .pc-author-box__name,
.pc-author-box--banner .pc-author-box__eyebrow,
.pc-author-box--banner .pc-author-box__bio,
.pc-author-box--banner .pc-author-box__link {
	color: #fff;
}

.pc-author-box--banner .pc-author-box__avatar img {
	border: 4px solid rgba(255, 255, 255, 0.6);
}

/* 9 · Minimal inline */
.pc-author-box--minimal {
	background: none;
	border: 0;
	padding: 1rem 0;
	border-top: 1px solid var(--pc-border);
	align-items: center;
	gap: 0.9rem;
}

.pc-author-box--minimal .pc-author-box__avatar img {
	width: 52px;
	height: 52px;
}

.pc-author-box--minimal .pc-author-box__eyebrow,
.pc-author-box--minimal .pc-author-box__bio {
	display: none;
}

.pc-author-box--minimal .pc-author-box__name {
	margin: 0;
	font-size: 1.05rem;
}

/* Tablet: keep the avatar from crowding the text on medium widths. */
@media (max-width: 782px) {
	.pc-author-box {
		gap: 1rem;
		padding: 1.25rem;
	}

	.pc-author-box__avatar img {
		width: 72px;
		height: 72px;
	}
}

/* Mobile: every author style stacks into a centered column so long names,
   emails and buttons never overflow the card. */
@media (max-width: 600px) {
	.pc-author-box {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 0.75rem;
		padding: 1.25rem 1rem;
	}

	.pc-author-box__body {
		flex: 1 1 auto;
		width: 100%;
	}

	.pc-author-box__name {
		font-size: 1.25rem;
	}

	.pc-author-box__social .pc-social-list {
		justify-content: center;
	}

	/* Gift tag: drop the left hole-punch inset and recentre on mobile. */
	.pc-author-box--tag {
		padding-left: 1rem;
	}

	.pc-author-box--tag::before {
		display: none;
	}

	/* Polaroid: straighten so the rotated frame doesn't clip the card edge. */
	.pc-author-box--polaroid .pc-author-box__avatar {
		transform: none;
	}

	/* Minimal stays compact but still centres cleanly. */
	.pc-author-box--minimal {
		padding: 1rem 0;
	}
}

/* -------------------------------------------------------------------------- */
/* 30. Share outline variants + brand colors, Pinterest button, solid bg      */
/* -------------------------------------------------------------------------- */

/* Rounded / square outline share buttons */
.pc-share--rounded-outline .pc-share__btn,
.pc-share--square-outline .pc-share__btn {
	background: transparent;
	color: var(--pc-share-color, var(--pc-primary));
}

.pc-share--rounded-outline .pc-share__btn {
	border-radius: var(--pc-radius);
}

.pc-share--square-outline .pc-share__btn {
	border-radius: 0;
}

.pc-share--rounded-outline .pc-share__btn:hover,
.pc-share--square-outline .pc-share__btn:hover {
	background: var(--pc-share-color, var(--pc-primary));
	color: #fff;
}

/* Official brand colors (set the per-button color var) */
.pc-sharecolor-official .pc-share__btn--facebook  { --pc-share-color: #1877f2; }
.pc-sharecolor-official .pc-share__btn--pinterest { --pc-share-color: #e60023; }
.pc-sharecolor-official .pc-share__btn--twitter   { --pc-share-color: #000000; }
.pc-sharecolor-official .pc-share__btn--linkedin  { --pc-share-color: #0a66c2; }
.pc-sharecolor-official .pc-share__btn--email      { --pc-share-color: #6b7280; }

/* Pinterest save button on article images */
.pc-pin-wrap {
	position: relative;
	display: inline-block;
	max-width: 100%;
	line-height: 0;
}

/* Doubled class beats global button styles + style-packs (.pc-btn-style-X button) */
.pc-pin-btn.pc-pin-btn {
	position: absolute;
	z-index: 3;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	width: var(--pc-pin-size, 44px);
	height: var(--pc-pin-size, 44px);
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: var(--pc-pin-radius, 50px);
	background: var(--pc-pin-color, #e60023);
	color: #fff;
	font-family: inherit;
	line-height: 1;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	opacity: 0;
	transform: scale(0.9);
	transition: opacity 0.2s ease, transform 0.2s ease;
	box-shadow: 0 4px 12px -4px rgba(0, 0, 0, 0.5);
}

.pc-pin-btn.pc-pin-btn svg {
	width: 60%;
	height: 60%;
	max-width: 22px;
	max-height: 22px;
	fill: currentColor;
	flex: 0 0 auto;
}

.pc-pin-btn__text {
	font-size: 0.85rem;
	font-weight: 700;
	color: #fff;
	white-space: nowrap;
}

/* With text the button grows to a pill and the icon shrinks to label size */
.pc-pin-btn.pc-pin-btn--has-text {
	width: auto;
	height: auto;
	padding: 0.5em 1em;
}

.pc-pin-btn.pc-pin-btn--has-text svg {
	width: 1.05em;
	height: 1.05em;
}

/* Hover only reveals/scales — the button keeps its own colour, never changes */
.pc-pin-wrap:hover .pc-pin-btn.pc-pin-btn,
.pc-pin-btn.pc-pin-btn:focus-visible {
	opacity: 1;
	transform: scale(1);
	background: var(--pc-pin-color, #e60023);
	color: #fff;
}

.pc-pin-top-left .pc-pin-btn { top: 12px; left: 12px; }
.pc-pin-top-right .pc-pin-btn { top: 12px; right: 12px; }
.pc-pin-bottom-left .pc-pin-btn { bottom: 12px; left: 12px; }
.pc-pin-bottom-right .pc-pin-btn { bottom: 12px; right: 12px; }
.pc-pin-center .pc-pin-btn { top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.9); }
.pc-pin-center .pc-pin-wrap:hover .pc-pin-btn { transform: translate(-50%, -50%) scale(1); }

/* Solid single backgrounds — suppress the global texture so the area is clean */
body.pc-single-bodybg::before {
	display: none !important;
}

/* -------------------------------------------------------------------------- */
/* 31. Title-focused single layouts (10–13)                                   */
/* -------------------------------------------------------------------------- */

/* 10 · Title in a colored band */
.pc-single-layout10 .entry-header {
	background: var(--pc-single-hero-bg, var(--pc-bg-alt));
	color: var(--pc-heading);
	padding: clamp(1.5rem, 4vw, 2.75rem);
	border-radius: var(--pc-radius);
	text-align: center;
	margin-bottom: 1.5rem;
}

/* 11 · Oversized centered title */
.pc-single-layout11 .entry-header {
	text-align: center;
}

.pc-single-layout11 .entry-title {
	font-size: clamp(2rem, 6vw, 3.4rem);
	line-height: 1.1;
}

/* 12 · Boxed title card */
.pc-single-layout12 .entry-header {
	border: 2px solid var(--pc-border);
	border-radius: var(--pc-radius);
	padding: clamp(1.25rem, 3vw, 2rem);
	margin-bottom: 1.5rem;
}

.pc-single-layout12 .entry-title {
	border-bottom: 3px solid var(--pc-accent);
	display: inline-block;
	padding-bottom: 0.4rem;
}

/* 13 · Editorial title */
.pc-single-layout13 .entry-header {
	border-top: 5px solid var(--pc-primary);
	padding-top: 1rem;
}

.pc-single-layout13 .entry-title {
	font-size: clamp(2rem, 6vw, 3.6rem);
	line-height: 1.05;
}

/* -------------------------------------------------------------------------- */
/* 32. Meet the Team (homepage) — 6 craft-niche card styles                   */
/* -------------------------------------------------------------------------- */

.pc-team {
	display: grid;
	grid-template-columns: repeat(var(--pc-team-cols, 3), 1fr);
	gap: 2rem;
	margin-top: 1.5rem;
}

.pc-team__card {
	text-align: center;
	background: var(--pc-surface, #fff);
	border-radius: var(--pc-radius);
	padding: 1.5rem 1.25rem;
}

.pc-team__photo-wrap {
	margin: 0 auto 1rem;
	width: 140px;
	max-width: 70%;
}

.pc-team__photo {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 50%;
}

.pc-team__name {
	margin: 0 0 0.15rem;
	font-size: 1.2rem;
}

.pc-team__role {
	margin: 0 0 0.6rem;
	font-family: var(--pc-font-accent);
	color: var(--pc-secondary);
	font-size: 1.05rem;
}

.pc-team__bio {
	margin: 0 0 0.8rem;
	font-size: 0.92rem;
	color: var(--pc-text);
	opacity: 0.85;
}

.pc-team__social {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pc-team__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--pc-bg-alt);
	color: var(--pc-primary);
	transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.pc-team__social a:hover {
	transform: translateY(-2px);
	background: var(--pc-primary);
	color: #fff;
}

/* 1 · Polaroid — white frame, tape, slight tilt */
.pc-team--polaroid .pc-team__card {
	background: #fff;
	box-shadow: 0 14px 30px -18px rgba(0, 0, 0, 0.45);
	padding: 1rem 1rem 1.5rem;
	position: relative;
	transform: rotate(-2deg);
	transition: transform 0.25s ease;
}

.pc-team--polaroid .pc-team__card:nth-child(even) {
	transform: rotate(2deg);
}

.pc-team--polaroid .pc-team__card:hover {
	transform: rotate(0);
}

.pc-team--polaroid .pc-team__photo-wrap {
	width: 100%;
	max-width: 100%;
}

.pc-team--polaroid .pc-team__photo {
	border-radius: 2px;
	aspect-ratio: 4 / 5;
}

.pc-team--polaroid .pc-team__card::before {
	content: "";
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%) rotate(-4deg);
	width: 90px;
	height: 26px;
	background: rgba(255, 196, 75, 0.55);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

/* 2 · Postage stamp — perforated dashed border */
.pc-team--stamp .pc-team__card {
	background: var(--pc-surface, #fff);
	border: 2px dashed var(--pc-secondary);
	border-radius: 0;
	box-shadow: inset 0 0 0 6px #fff, 0 8px 20px -16px rgba(0, 0, 0, 0.4);
}

.pc-team--stamp .pc-team__photo {
	border-radius: 0;
}

/* 3 · Craft gift tag — rounded corner + punched hole */
.pc-team--tag .pc-team__card {
	background: var(--pc-bg-alt);
	border-radius: 6px 6px 22px 22px;
	position: relative;
	padding-top: 2.5rem;
}

.pc-team--tag .pc-team__card::before {
	content: "";
	position: absolute;
	top: 14px;
	left: 50%;
	transform: translateX(-50%);
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: 2px solid var(--pc-muted);
	background: var(--pc-bg);
}

/* 4 · Paper cut-out — layered offset shadow */
.pc-team--cutout .pc-team__card {
	background: var(--pc-surface, #fff);
	border-radius: 10px;
	box-shadow: 8px 8px 0 0 var(--pc-primary), 8px 8px 0 2px rgba(0, 0, 0, 0.08);
}

.pc-team--cutout .pc-team__photo {
	border-radius: 10px;
	aspect-ratio: 4 / 4;
}

/* 5 · Confetti circle — round, dotted ring, festive */
.pc-team--circle .pc-team__card {
	background: var(--pc-bg-alt);
	border-radius: 18px;
}

.pc-team--circle .pc-team__photo {
	border: 4px solid #fff;
	outline: 3px dotted var(--pc-primary);
	outline-offset: 3px;
	box-shadow: 0 8px 18px -12px rgba(0, 0, 0, 0.5);
}

/* 6 · Stitched card — sewn dashed inner border */
.pc-team--stitched .pc-team__card {
	background: var(--pc-surface, #fff);
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	box-shadow: inset 0 0 0 4px var(--pc-surface, #fff), inset 0 0 0 5px var(--pc-border);
	position: relative;
}

.pc-team--stitched .pc-team__card::after {
	content: "";
	position: absolute;
	inset: 10px;
	border: 2px dashed var(--pc-muted);
	border-radius: calc(var(--pc-radius) - 6px);
	pointer-events: none;
	opacity: 0.5;
}

.pc-team--stitched .pc-team__photo {
	border: 3px solid var(--pc-bg-alt);
}

@media (max-width: 880px) {
	.pc-team {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
	}
}

@media (max-width: 520px) {
	.pc-team {
		grid-template-columns: 1fr;
	}
}

/* -------------------------------------------------------------------------- */
/* 33. Single-post credits (Written by / Craft made by / Published by)        */
/* -------------------------------------------------------------------------- */

.pc-post-credits {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem 2rem;
	margin: 1rem 0 1.5rem;
	padding: 1rem 1.25rem;
	background: var(--pc-bg-alt);
	border-radius: var(--pc-radius);
}

.pc-credit {
	display: flex;
	align-items: center;
	gap: 0.7rem;
}

.pc-credit__avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
	flex: 0 0 auto;
}

.pc-credit__text {
	display: flex;
	flex-direction: column;
	line-height: 1.25;
}

.pc-credit__label {
	font-size: 0.72rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--pc-muted);
}

.pc-credit__name {
	font-weight: 700;
	color: var(--pc-heading);
	text-decoration: none;
}

.pc-credit__name:hover {
	color: var(--pc-primary);
}

.pc-credit__role {
	font-family: var(--pc-font-accent);
	color: var(--pc-secondary);
	font-size: 0.95rem;
}

/* Alignment */
.pc-credits-align--center {
	justify-content: center;
}

.pc-credits-align--right {
	justify-content: flex-end;
}

/* Avatar shape */
.pc-credits-av--rounded .pc-credit__avatar {
	border-radius: 12px;
}

.pc-credits-av--square .pc-credit__avatar {
	border-radius: 0;
}

/* Style 2 · Plain — no background */
.pc-credits--plain {
	background: none;
	padding: 0.5rem 0;
}

/* Style 3 · Chips / pills */
.pc-credits--chips {
	background: none;
	padding: 0;
	gap: 0.75rem;
}

.pc-credits--chips .pc-credit {
	background: var(--pc-bg-alt);
	border-radius: 999px;
	padding: 0.35rem 1rem 0.35rem 0.35rem;
}

/* Style 4 · Bordered box */
.pc-credits--bordered {
	background: none;
	border: 2px solid var(--pc-border);
}

/* Style 5 · Stacked (centered columns) */
.pc-credits--stacked {
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: none;
	gap: 1.25rem;
}

.pc-credits--stacked .pc-credit {
	flex-direction: column;
	gap: 0.4rem;
}

.pc-credits--stacked .pc-credit__text {
	align-items: center;
}

.pc-credits--stacked .pc-credit__avatar {
	width: 64px;
	height: 64px;
}

/* Style 6 · Minimal line — no avatar, inline label + name */
.pc-credits--minimal {
	background: none;
	padding: 0.25rem 0;
	gap: 0.35rem 1.75rem;
}

.pc-credits--minimal .pc-credit__avatar {
	display: none;
}

.pc-credits--minimal .pc-credit__text {
	flex-direction: row;
	align-items: baseline;
	gap: 0.35rem;
}

@media (max-width: 600px) {
	.pc-post-credits {
		gap: 1rem;
	}

	.pc-credits--stacked {
		gap: 1rem;
	}
}
