/**
 * Church of Beer — theme styling.
 *
 * Built on tokens.css. Sections cover GeneratePress' own structure plus the
 * front-end markup rendered by the church-of-beer plugin (ordination form,
 * share links, prayer, troubleshooting table, 410 page).
 */

/* -----------------------------------------------------------------------
 * Base
 * -------------------------------------------------------------------- */

body {
	background: var( --surface-page );
	color: var( --text-body );
	font: var( --type-body );
}

.site {
	background: var( --surface-page );
}

h1, h2, h3, h4, h5, h6 {
	font-family: var( --font-display );
	font-weight: var( --weight-regular );
	line-height: var( --leading-heading );
	color: var( --text-heading );
	letter-spacing: var( --tracking-display );
}

h1 { font-size: clamp( 36px, 6vw, var( --text-6xl ) ); line-height: var( --leading-tight ); }
h2 { font-size: var( --text-4xl ); }
h3 { font-size: var( --text-3xl ); }
h4 { font-size: var( --text-2xl ); font-family: var( --font-body ); font-weight: var( --weight-bold ); }
h5 { font-size: var( --text-xl ); font-family: var( --font-body ); font-weight: var( --weight-bold ); }
h6 {
	font: var( --type-label );
	letter-spacing: var( --tracking-eyebrow );
	text-transform: uppercase;
	color: var( --text-faint );
}

p { max-width: var( --measure ); }

a {
	color: var( --text-link );
	transition: var( --transition-control );
}

a:hover,
a:focus {
	color: var( --text-link-hover );
}

blockquote {
	font: var( --type-scripture );
	color: var( --text-scripture );
	border-left: var( --border-width-rule ) solid var( --border-gold );
	margin: var( --space-6 ) 0;
	padding: var( --space-2 ) 0 var( --space-2 ) var( --space-6 );
}

code, pre, kbd, samp {
	font: var( --type-mono );
	color: var( --text-heading );
}

pre {
	background: var( --surface-sunken );
	border: var( --border-width ) solid var( --border-hairline );
	border-radius: var( --radius-sm );
	padding: var( --space-4 );
}

hr {
	border: none;
	border-top: var( --border-width ) solid var( --border-hairline );
	margin: var( --space-8 ) 0;
}

:focus-visible {
	outline: var( --focus-outline );
	outline-offset: var( --focus-offset );
}

::selection {
	background: var( --gold-400 );
	color: var( --oak-900 );
}

/* -----------------------------------------------------------------------
 * Buttons & form controls (site-wide — WP core markup, GP forms, plugin forms)
 * -------------------------------------------------------------------- */

button,
.button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.cob-form button[type="submit"],
.cob-share-copy-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var( --space-2 );
	font: var( --weight-bold ) var( --text-sm )/1 var( --font-body );
	letter-spacing: var( --tracking-wide );
	text-transform: none;
	color: var( --text-on-accent );
	background: var( --copper-500 );
	border: var( --border-width ) solid var( --copper-600 );
	border-radius: var( --radius-sm );
	padding: var( --space-3 ) var( --space-5 );
	cursor: pointer;
	transition: var( --transition-control );
	box-shadow: var( --shadow-xs );
}

button:hover,
.button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.cob-form button[type="submit"]:hover,
.cob-share-copy-button:hover {
	background: var( --copper-600 );
	border-color: var( --copper-700 );
	color: var( --text-on-accent );
}

button:active,
.button:active,
input[type="submit"]:active,
.cob-form button[type="submit"]:active {
	box-shadow: var( --shadow-press );
}

button:focus-visible,
.button:focus-visible,
input[type="submit"]:focus-visible {
	outline: var( --focus-outline );
	outline-offset: var( --focus-offset );
}

button:disabled,
.button:disabled,
input:disabled {
	background: var( --parchment-300 );
	border-color: var( --border-hairline );
	color: var( --text-faint );
	cursor: not-allowed;
	box-shadow: none;
}

/* Secondary / ghost variants, for template use */
.button.secondary {
	background: transparent;
	color: var( --copper-600 );
	border-color: var( --copper-500 );
}

.button.secondary:hover {
	background: var( --surface-accent-soft );
	color: var( --copper-700 );
}

.button.ghost {
	background: transparent;
	color: var( --text-link );
	border-color: transparent;
	box-shadow: none;
}

.button.ghost:hover {
	background: var( --surface-sunken );
	color: var( --text-link-hover );
}

/* Gold — reserved for giving */
.button.gold {
	background: var( --gold-500 );
	border-color: var( --gold-600 );
	color: var( --oak-900 );
}

.button.gold:hover {
	background: var( --gold-600 );
	border-color: var( --copper-700 );
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
select,
textarea {
	font: var( --type-body-sm );
	color: var( --text-body );
	background: var( --surface-raised );
	border: var( --border-width ) solid var( --border-default );
	border-radius: var( --radius-sm );
	padding: var( --space-2 ) var( --space-3 );
	width: 100%;
	transition: var( --transition-control );
}

input:focus,
select:focus,
textarea:focus {
	border-color: var( --gold-500 );
	outline: none;
	box-shadow: var( --shadow-halo );
}

label {
	display: block;
	font: var( --type-label );
	letter-spacing: var( --tracking-eyebrow );
	text-transform: uppercase;
	color: var( --text-muted );
	margin-bottom: var( --space-1 );
}

/* -----------------------------------------------------------------------
 * Utility
 * -------------------------------------------------------------------- */

.eyebrow {
	display: block;
	font: var( --type-label );
	letter-spacing: var( --tracking-eyebrow );
	text-transform: uppercase;
	color: var( --gold-400 );
	margin: 0 0 var( --space-3 );
}

/* -----------------------------------------------------------------------
 * Marketing section utilities, shared by the homepage sections below.
 * -------------------------------------------------------------------- */

.cob-section {
	padding: var( --section-y ) var( --gutter-inline );
}

.cob-section--dark {
	background: var( --oak-800 );
}

.cob-container {
	max-width: var( --container );
	margin: 0 auto;
}

.cob-container-narrow {
	max-width: var( --container-narrow );
	margin: 0 auto;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var( --space-8 );
}

.cob-card {
	background: var( --surface-card );
	border: var( --border-width ) solid var( --border-hairline );
	border-radius: var( --radius-md );
	box-shadow: var( --shadow-sm );
	padding: var( --space-8 );
}

.cob-card h3 {
	font: var( --type-title );
	font-size: var( --text-xl );
	margin: var( --space-3 ) 0 var( --space-2 );
}

.cob-card p {
	font: var( --type-body-sm );
	color: var( --text-muted );
	max-width: none;
}

/* -----------------------------------------------------------------------
 * Homepage hero (functions.php: gpcob_homepage_hero)
 * -------------------------------------------------------------------- */

.cob-hero {
	position: relative;
	background: var( --oak-900 );
	padding: var( --section-y ) var( --gutter-inline );
	overflow: hidden;
	border-bottom: 3px solid var( --gold-500 );
}

.cob-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var( --texture-rays );
	pointer-events: none;
}

.cob-hero-grid {
	position: relative;
	max-width: var( --container );
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 320px, 1fr ) );
	gap: var( --space-16 );
	align-items: center;
}

.cob-hero-copy {
	display: flex;
	flex-direction: column;
	gap: var( --space-6 );
	animation: cobRise var( --duration-slow ) var( --ease-out ) both;
}

.cob-hero .eyebrow {
	color: var( --gold-400 );
	margin: 0;
}

.cob-hero h1 {
	color: var( --parchment-100 );
	margin: 0;
	font-size: clamp( 44px, 7vw, var( --text-7xl ) );
}

.cob-hero-tagline {
	font: var( --type-body );
	font-size: var( --text-lg );
	line-height: var( --leading-relaxed );
	color: var( --text-on-dark-muted );
	max-width: 52ch;
	margin: 0;
}

.cob-hero-actions {
	display: flex;
	gap: var( --space-4 );
	align-items: center;
	flex-wrap: wrap;
}

.cob-hero-stats {
	display: flex;
	flex-wrap: wrap;
	gap: var( --space-8 );
	padding-top: var( --space-3 );
}

.cob-hero-stat {
	display: flex;
	flex-direction: column;
	gap: var( --space-1 );
}

.cob-hero-stat-num {
	font: var( --weight-regular ) var( --text-2xl )/1 var( --font-display );
	color: var( --gold-400 );
}

.cob-hero-stat-label {
	font: var( --type-mono );
	letter-spacing: var( --tracking-mono );
	text-transform: uppercase;
	color: var( --oak-300 );
}

.cob-hero-altar {
	position: relative;
	width: 100%;
	max-width: 340px;
	margin: 0 auto;
	aspect-ratio: 3 / 4;
	border-radius: var( --radius-arch );
	background: var( --gradient-altar );
	border: var( --border-width ) solid var( --border-on-dark );
	box-shadow: var( --shadow-lg );
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	gap: var( --space-3 );
	padding: var( --space-8 ) var( --space-6 );
	text-align: center;
	overflow: hidden;
}

.cob-hero-altar-glyph {
	position: absolute;
	top: var( --space-8 );
	left: 50%;
	transform: translateX( -50% );
	width: 104px;
	height: 104px;
	border-radius: var( --radius-pill );
	border: 3px solid rgba( 254, 250, 241, .5 );
	display: flex;
	align-items: center;
	justify-content: center;
	font: var( --weight-regular ) 46px/1 var( --font-display );
	color: var( --parchment-50 );
}

.cob-hero-altar-quote {
	font: var( --type-scripture );
	font-size: var( --text-lg );
	color: var( --parchment-50 );
	margin: 0;
	max-width: none;
}

.cob-hero-altar-ref {
	font: var( --type-label );
	letter-spacing: var( --tracking-eyebrow );
	text-transform: uppercase;
	color: var( --gold-200 );
}

@keyframes cobRise {
	from { opacity: 0; transform: translateY( 10px ); }
	to { opacity: 1; transform: none; }
}

/* -----------------------------------------------------------------------
 * "Why join" feature cards (functions.php: gpcob_homepage_features)
 * -------------------------------------------------------------------- */

.cob-features {
	background: var( --parchment-100 );
}

.cob-features-grid {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 260px, 1fr ) );
	gap: var( --space-6 );
}

/* -----------------------------------------------------------------------
 * Ordination section (functions.php: gpcob_homepage_ordain)
 * -------------------------------------------------------------------- */

.cob-ordain-grid {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 320px, 1fr ) );
	gap: var( --space-16 );
	align-items: start;
}

.cob-ordain-copy {
	display: flex;
	flex-direction: column;
	gap: var( --space-6 );
	color: var( --text-on-dark );
}

.cob-ordain-copy .eyebrow {
	color: var( --gold-400 );
	margin: 0;
}

.cob-ordain-copy h2 {
	color: var( --parchment-100 );
	margin: 0;
	font-size: clamp( 34px, 4.4vw, var( --text-5xl ) );
}

.cob-ordain-copy p {
	color: var( --text-on-dark-muted );
	max-width: 46ch;
	margin: 0;
}

.cob-tenets {
	margin: 0;
	padding: 0 0 0 var( --space-6 );
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: var( --space-5 );
	border-left: var( --border-width-rule ) solid var( --gold-500 );
}

.cob-tenets li {
	display: flex;
	flex-direction: column;
	gap: var( --space-1 );
}

.cob-tenets li span:last-child {
	font: var( --type-body );
	color: var( --parchment-100 );
}

.cob-tenet-label {
	font: var( --type-mono );
	letter-spacing: var( --tracking-mono );
	text-transform: uppercase;
	color: var( --gold-400 );
}

.cob-ordain-form-wrap {
	background: var( --surface-card );
	border-radius: var( --radius-md );
	box-shadow: var( --shadow-lg );
	padding: var( --space-8 );
}

.cob-ordain-form-wrap h3 {
	margin: 0 0 var( --space-1 );
	font: var( --type-title );
	font-size: var( --text-2xl );
}

.cob-ordain-form-note {
	font: var( --type-body-sm );
	color: var( --text-muted );
	margin: 0 0 var( --space-5 );
}

.cob-ordain-form-wrap .cob-ordination-form {
	margin: 0;
	padding: 0;
	max-width: none;
}

/* -----------------------------------------------------------------------
 * Credential showcase (functions.php: gpcob_homepage_credential)
 * -------------------------------------------------------------------- */

.cob-credential {
	background: var( --parchment-50 );
}

.cob-credential-grid {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 320px, 1fr ) );
	gap: var( --space-16 );
	align-items: center;
}

.cob-credential-copy {
	display: flex;
	flex-direction: column;
	gap: var( --space-5 );
}

.cob-credential-copy .eyebrow {
	color: var( --copper-600 );
	margin: 0;
}

.cob-credential-copy h2 {
	margin: 0;
	font-size: clamp( 32px, 4vw, var( --text-4xl ) );
}

.cob-credential-copy p {
	margin: 0;
	max-width: 48ch;
}

.cob-credential-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: var( --space-3 );
	font: var( --type-body-sm );
}

.cob-credential-list li::before {
	content: "\2726";
	color: var( --copper-500 );
	margin-right: var( --space-2 );
}

.cob-certificate {
	max-width: 380px;
	margin: 0 auto;
	background: var( --parchment-50 );
	border: 2px solid var( --gold-500 );
	box-shadow: var( --shadow-lg ), var( --shadow-inset );
	padding: var( --space-8 ) var( --space-6 );
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: var( --space-3 );
}

.cob-certificate .eyebrow {
	color: var( --copper-600 );
	font-size: var( --text-2xs );
	margin: 0;
}

.cob-certificate-kicker {
	font: var( --type-mono );
	font-size: var( --text-2xs );
	letter-spacing: var( --tracking-mono );
	text-transform: uppercase;
	color: var( --text-faint );
}

.cob-certificate-line {
	font: var( --type-body-sm );
	font-size: var( --text-xs );
	color: var( --text-muted );
	max-width: 30ch;
}

.cob-certificate-name {
	font: var( --weight-regular ) clamp( 24px, 4.6vw, 34px )/1.06 var( --font-display );
	color: var( --text-heading );
}

.cob-certificate-glyph {
	width: 58px;
	height: 58px;
	border-radius: var( --radius-pill );
	background: var( --gradient-pour );
	border: 2px solid var( --gold-600 );
	display: flex;
	align-items: center;
	justify-content: center;
	font: var( --weight-regular ) 24px/1 var( --font-display );
	color: var( --oak-900 );
	margin-top: var( --space-2 );
}

.cob-certificate-foot {
	font: var( --type-mono );
	font-size: var( --text-2xs );
	letter-spacing: var( --tracking-mono );
	text-transform: uppercase;
	color: var( --text-faint );
	border-top: var( --border-width ) solid var( --border-hairline );
	padding-top: var( --space-3 );
	width: 100%;
}

/* -----------------------------------------------------------------------
 * Indulgences (functions.php: gpcob_homepage_indulgences)
 * -------------------------------------------------------------------- */

.cob-indulgences > .cob-container > p {
	max-width: 62ch;
}

.cob-indulgences-grid {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 300px, 1fr ) );
	gap: var( --space-6 );
	margin-top: var( --space-8 );
}

.cob-card--indulgence {
	display: flex;
	flex-direction: column;
	gap: var( --space-4 );
}

.cob-card--indulgence h3 {
	margin: 0;
}

.cob-card--indulgence p {
	flex: 1;
}

.cob-card--indulgence .button {
	align-self: flex-start;
}

.cob-card--featured {
	border-color: var( --gold-500 );
	box-shadow: var( --shadow-md );
}

.cob-tag {
	display: inline-flex;
	align-self: flex-start;
	font: var( --weight-bold ) var( --text-xs )/1 var( --font-body );
	letter-spacing: var( --tracking-wide );
	text-transform: uppercase;
	padding: var( --space-1 ) var( --space-3 );
	border-radius: var( --radius-pill );
}

.cob-tag--ruby {
	background: var( --ruby-200 );
	color: var( --ruby-600 );
}

.cob-tag--gold {
	background: var( --gold-200 );
	color: var( --gold-600 );
}

/* -----------------------------------------------------------------------
 * Closing scripture CTA (functions.php: gpcob_homepage_scripture_cta)
 * -------------------------------------------------------------------- */

.cob-scripture-cta {
	background: var( --oak-900 );
	text-align: center;
}

.cob-scripture-quote {
	border: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var( --space-3 );
}

.cob-scripture-quote p {
	font: var( --type-scripture );
	font-size: var( --text-xl );
	color: var( --parchment-100 );
	max-width: none;
	margin: 0;
}

.cob-scripture-quote cite {
	font: var( --type-label );
	letter-spacing: var( --tracking-eyebrow );
	text-transform: uppercase;
	color: var( --gold-400 );
	font-style: normal;
}

.button.ghost-on-dark {
	background: transparent;
	border-color: var( --border-on-dark );
	color: var( --text-on-dark );
	box-shadow: none;
}

.button.ghost-on-dark:hover {
	background: rgba( 243, 227, 195, .12 );
	color: var( --gold-400 );
	border-color: var( --gold-400 );
}

/* -----------------------------------------------------------------------
 * Site branding — a CSS-drawn mark stands in for a logo until one exists
 * -------------------------------------------------------------------- */

.site-branding {
	display: flex;
	align-items: center;
	gap: var( --space-3 );
}

.site-branding::before {
	content: "";
	width: 34px;
	height: 34px;
	flex: 0 0 auto;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B4532A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h11v10a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V8z'/%3E%3Cpath d='M16 10h2a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-2'/%3E%3Cpath d='M8 3v3M11 3v3M14 3v3'/%3E%3C/svg%3E");
}

/* -----------------------------------------------------------------------
 * GeneratePress navigation
 * -------------------------------------------------------------------- */

.site-header {
	position: sticky;
	top: 0;
	z-index: 40;
}

.main-navigation,
#site-navigation {
	background: var( --surface-inverse );
	min-height: 72px;
}

.cob-nav-cta {
	display: flex;
	align-items: center;
	margin-left: var( --space-2 );
	padding: 0 !important;
}

.cob-nav-cta .button {
	padding: var( --space-2 ) var( --space-4 );
}

#ordain {
	scroll-margin-top: 88px;
}

.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle {
	font: var( --weight-bold ) var( --text-sm )/1 var( --font-body );
	letter-spacing: var( --tracking-wide );
	color: var( --text-on-dark );
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a {
	color: var( --gold-400 );
	box-shadow: inset 0 -3px 0 var( --gold-500 );
}

.main-navigation .main-nav ul ul {
	background: var( --oak-800 );
	border: var( --border-width ) solid var( --border-on-dark );
}

.inside-header,
.site-header {
	background: var( --surface-page );
}

.site-title a {
	font-family: var( --font-display );
	color: var( --text-heading );
}

.site-description {
	font: var( --type-body-sm );
	color: var( --text-muted );
}

/* -----------------------------------------------------------------------
 * Footer
 * -------------------------------------------------------------------- */

.site-footer,
.site-info {
	background: var( --surface-inverse );
	color: var( --text-on-dark-muted );
}

.site-footer a {
	color: var( --text-on-dark );
}

.site-footer a:hover {
	color: var( --gold-400 );
}

.cob-footer-blessing {
	text-align: center;
	padding: var( --space-10 ) var( --gutter-inline ) var( --space-6 );
}

.cob-footer-tagline {
	font: var( --type-scripture );
	color: var( --text-on-dark );
	max-width: none;
	margin: 0 0 var( --space-4 );
}

.cob-footer-nav-list {
	list-style: none;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: var( --space-2 ) var( --space-5 );
	margin: 0;
	padding: 0;
}

.cob-footer-nav-list a {
	font: var( --weight-bold ) var( --text-sm )/1 var( --font-body );
	letter-spacing: var( --tracking-wide );
	color: var( --text-on-dark-muted );
}

.cob-footer-nav-list a:hover {
	color: var( --gold-400 );
}

.cob-footer-note {
	margin: var( --space-6 ) 0 0;
	font: var( --type-body-sm );
	font-size: var( --text-xs );
	color: var( --oak-400 );
	max-width: none;
}

/* -----------------------------------------------------------------------
 * Ordination form (class-cob-form.php, templates/parts/ordination-form.php)
 * -------------------------------------------------------------------- */

.cob-ordination-form {
	max-width: var( --container-narrow );
	margin: var( --space-8 ) auto;
	padding: 0 var( --gutter-inline );
}

.cob-form-errors {
	background: var( --status-danger-soft );
	border: var( --border-width ) solid var( --status-danger );
	border-radius: var( --radius-sm );
	color: var( --oak-900 );
	padding: var( --space-4 ) var( --space-5 );
	margin-bottom: var( --space-6 );
}

.cob-form-errors ul {
	margin: var( --space-2 ) 0 0;
	padding-left: var( --space-5 );
}

.cob-form {
	background: var( --surface-card );
	border: var( --border-width ) solid var( --border-hairline );
	border-radius: var( --radius-md );
	box-shadow: var( --shadow-sm );
	padding: var( --space-8 );
}

.cob-field {
	margin: 0 0 var( --space-5 );
}

.cob-field--honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.cob-field--submit {
	margin-top: var( --space-8 );
	margin-bottom: 0;
}

.cob-field--submit button {
	background: var( --gold-500 );
	border-color: var( --gold-600 );
	color: var( --oak-900 );
	width: 100%;
	padding: var( --space-4 ) var( --space-5 );
	font-size: var( --text-base );
}

.cob-field--submit button:hover {
	background: var( --gold-600 );
}

/* -----------------------------------------------------------------------
 * Share links (templates/parts/share-links.php)
 * -------------------------------------------------------------------- */

.cob-share-links {
	background: var( --surface-inverse-alt );
	color: var( --text-on-dark );
	border-radius: var( --radius-md );
	padding: var( --space-6 ) var( --space-8 );
	margin: var( --space-8 ) 0;
}

.cob-share-intro {
	font: var( --type-label );
	letter-spacing: var( --tracking-eyebrow );
	text-transform: uppercase;
	color: var( --gold-400 );
	margin: 0 0 var( --space-3 );
}

.cob-share-list {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: var( --space-3 );
	margin: 0 0 var( --space-4 );
	padding: 0;
}

.cob-share-list a {
	display: inline-block;
	color: var( --text-on-dark );
	background: rgba( 243, 227, 195, .08 );
	border: var( --border-width ) solid var( --border-on-dark );
	border-radius: var( --radius-pill );
	padding: var( --space-2 ) var( --space-4 );
	font: var( --weight-bold ) var( --text-sm )/1 var( --font-body );
	text-decoration: none;
}

.cob-share-list a:hover {
	color: var( --oak-900 );
	background: var( --gold-500 );
	border-color: var( --gold-500 );
}

.cob-share-copy {
	display: flex;
	align-items: center;
	gap: var( --space-3 );
	margin: 0;
}

.cob-share-copy-button {
	background: var( --gold-500 );
	border-color: var( --gold-600 );
	color: var( --oak-900 );
}

.cob-share-copy-button:hover {
	background: var( --gold-600 );
}

.cob-share-copy-status {
	font: var( --type-body-sm );
	color: var( --text-on-dark-muted );
}

/* -----------------------------------------------------------------------
 * Prayer ([cob_prayer])
 * -------------------------------------------------------------------- */

.cob-prayer {
	max-width: var( --container-narrow );
	margin: var( --section-y-sm ) auto;
	padding: var( --space-8 ) var( --gutter-inline );
	text-align: center;
}

.cob-prayer-text {
	font: var( --type-scripture );
	color: var( --text-scripture );
	max-width: none;
}

.cob-prayer-signature {
	margin-top: var( --space-4 );
	font: var( --type-body-sm );
	color: var( --text-muted );
}

/* -----------------------------------------------------------------------
 * Troubleshooting table (templates/parts/troubleshooting-table.php)
 * -------------------------------------------------------------------- */

.cob-troubleshooting-wrap {
	overflow-x: auto;
	margin: var( --space-8 ) 0;
}

.cob-troubleshooting-table {
	width: 100%;
	border-collapse: collapse;
	background: var( --surface-card );
	border: var( --border-width ) solid var( --border-hairline );
	border-radius: var( --radius-md );
	overflow: hidden;
}

.cob-troubleshooting-table caption {
	font: var( --type-label );
	letter-spacing: var( --tracking-eyebrow );
	text-transform: uppercase;
	color: var( --text-faint );
	text-align: left;
	padding: 0 0 var( --space-3 );
}

.cob-troubleshooting-table th,
.cob-troubleshooting-table td {
	text-align: left;
	padding: var( --space-3 ) var( --space-4 );
	border-bottom: var( --border-width ) solid var( --border-hairline );
	font: var( --type-body-sm );
}

.cob-troubleshooting-table th {
	background: var( --surface-sunken );
	font: var( --weight-bold ) var( --text-xs )/1.2 var( --font-body );
	letter-spacing: var( --tracking-wide );
	text-transform: uppercase;
	color: var( --text-muted );
}

.cob-troubleshooting-table tr:last-child td {
	border-bottom: none;
}

.cob-troubleshooting-symptom {
	font-weight: var( --weight-bold );
	color: var( --text-heading );
}

/* -----------------------------------------------------------------------
 * 410 Gone page (class-cob-redirects.php)
 * -------------------------------------------------------------------- */

.cob-gone {
	max-width: var( --container-narrow );
	margin: var( --section-y ) auto;
	padding: 0 var( --gutter-inline );
	text-align: center;
}

.cob-gone h1 {
	color: var( --text-heading );
}

.cob-gone p {
	max-width: none;
	color: var( --text-muted );
	font: var( --type-body );
}
