/* LTS Widget Studio — front-end design system */
:root {
	--ltsws-gold: #b7822d;
	--ltsws-gold-dark: #8e611d;
	--ltsws-ink: #111a2e;
	--ltsws-copy: #4f5f78;
	--ltsws-line: #dfe4ec;
	--ltsws-surface: #ffffff;
	--ltsws-soft: #f5f6f8;
}
.ltsws-region,
.ltsws-region * {
	box-sizing: border-box;
}
.ltsws-region {
	--ltsws-accent: var(--ltsws-gold);
	--ltsws-region-background: transparent;
	--ltsws-region-text: var(--ltsws-ink);
	--ltsws-component-background: var(--ltsws-surface);
	--ltsws-component-text: var(--ltsws-region-text);
	--ltsws-component-accent: var(--ltsws-accent);
	--ltsws-component-radius: 18px;
	--ltsws-component-padding: clamp(22px, 3vw, 38px);
	position: relative;
	width: min(100%, var(--ltsws-max-width, 960px));
	margin-block: 24px;
	padding: var(--ltsws-padding, 0);
	border-radius: var(--ltsws-radius, 0);
	background: var(--ltsws-region-background);
	color: var(--ltsws-region-text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	line-height: 1.58;
	isolation: isolate;
}
.ltsws-align--center { margin-inline: auto; }
.ltsws-align--left { margin-right: auto; margin-left: 0; }
.ltsws-align--right { margin-right: 0; margin-left: auto; }
.ltsws-align--wide { width: min(100%, 1280px); max-width: 1280px; margin-inline: auto; }
.ltsws-align--full { width: 100%; max-width: none; }
.ltsws-region--sticky { position: sticky; top: var(--ltsws-sticky-offset, 24px); z-index: 20; }
.ltsws-region[hidden] { display: none !important; }
.ltsws-region__inner {
	display: grid;
	grid-template-columns: repeat(var(--ltsws-columns-desktop, 1), minmax(0, 1fr));
	gap: var(--ltsws-gap, 18px);
	align-items: stretch;
}
.ltsws-layout--stack .ltsws-region__inner { grid-template-columns: minmax(0, 1fr); }
.ltsws-region__dismiss {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 4;
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
	border-radius: 999px;
	background: color-mix(in srgb, var(--ltsws-component-background) 90%, transparent);
	color: inherit;
	font: inherit;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	backdrop-filter: blur(8px);
}
.ltsws-region__dismiss:hover { transform: scale(1.05); }
.ltsws-component {
	position: relative;
	min-width: 0;
	padding: var(--ltsws-component-padding);
	border: 1px solid color-mix(in srgb, var(--ltsws-component-text) 12%, transparent);
	border-radius: var(--ltsws-component-radius);
	background: var(--ltsws-component-background);
	color: var(--ltsws-component-text);
	box-shadow: 0 1px 2px rgba(17, 26, 46, 0.04);
	overflow: hidden;
}
.ltsws-component__selection { display: none; }
.ltsws-component > :first-child { margin-top: 0; }
.ltsws-component > :last-child { margin-bottom: 0; }
.ltsws-component p { margin: .65em 0 0; color: color-mix(in srgb, var(--ltsws-component-text) 72%, transparent); }
.ltsws-component a { color: inherit; }
.ltsws-component__title {
	margin: 0;
	color: inherit;
	font: 700 clamp(1.18rem, 2vw, 1.62rem)/1.18 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	letter-spacing: -.025em;
}
.ltsws-component__content > :first-child { margin-top: .7em; }
.ltsws-component__content > :last-child { margin-bottom: 0; }
.ltsws-component__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 18px; font-size: .86rem; }
.ltsws-eyebrow {
	margin-bottom: 9px;
	color: var(--ltsws-component-accent);
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}
.ltsws-pill {
	display: inline-flex;
	align-items: center;
	min-height: 27px;
	padding: 3px 10px;
	border: 1px solid color-mix(in srgb, var(--ltsws-component-text) 12%, transparent);
	border-radius: 999px;
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
}
.ltsws-pill--accent { border: 0; background: color-mix(in srgb, var(--ltsws-component-accent) 14%, transparent); color: var(--ltsws-component-accent); }
.ltsws-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 22px; }
.ltsws-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 18px;
	border: 1px solid transparent;
	border-radius: 9px;
	font-size: .88rem;
	font-weight: 750;
	line-height: 1.2;
	text-decoration: none !important;
	transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.ltsws-button:hover { transform: translateY(-1px); }
.ltsws-button--primary { background: var(--ltsws-component-accent); color: #fff !important; box-shadow: 0 9px 22px color-mix(in srgb, var(--ltsws-component-accent) 24%, transparent); }
.ltsws-button--secondary { border-color: color-mix(in srgb, var(--ltsws-component-text) 18%, transparent); background: transparent; color: inherit !important; }
.ltsws-shadow--soft { box-shadow: 0 12px 30px rgba(17, 26, 46, .08); }
.ltsws-shadow--medium { box-shadow: 0 20px 50px rgba(17, 26, 46, .13); }
.ltsws-shadow--dramatic { box-shadow: 0 30px 80px rgba(17, 26, 46, .22); }
.ltsws-region.ltsws-shadow--soft { box-shadow: 0 12px 30px rgba(17, 26, 46, .08); }
.ltsws-region.ltsws-shadow--medium { box-shadow: 0 20px 50px rgba(17, 26, 46, .13); }
.ltsws-region.ltsws-shadow--dramatic { box-shadow: 0 30px 80px rgba(17, 26, 46, .22); }

/* Scripture */
.ltsws-component--scripture { border-left: 4px solid var(--ltsws-component-accent); }
.ltsws-scripture { position: relative; }
.ltsws-scripture__text { margin: 0; padding: 0 48px 0 0; border: 0; color: inherit; font: 400 clamp(1.2rem, 2.25vw, 1.72rem)/1.55 Georgia, "Times New Roman", serif; }
.ltsws-scripture__note { margin-top: 20px; padding-top: 18px; border-top: 1px solid color-mix(in srgb, var(--ltsws-component-text) 13%, transparent); }
.ltsws-scripture__note > :first-child { margin-top: 0; }
.ltsws-scripture__note > :last-child { margin-bottom: 0; }
.ltsws-scripture__mark { position: absolute; top: -17px; right: 0; color: color-mix(in srgb, var(--ltsws-component-accent) 24%, transparent); font: 400 4rem/1 Georgia, serif; }

/* Word study */
.ltsws-word-study__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.ltsws-word-study__lemma { color: inherit; font: 400 clamp(2rem, 6vw, 3.4rem)/1.05 Georgia, "Times New Roman", serif; letter-spacing: -.04em; }
.ltsws-word-study__transliteration { margin-top: 8px; color: var(--ltsws-component-accent); font-size: .72rem; font-weight: 800; letter-spacing: .14em; }
.ltsws-word-study__morphology { margin-top: 22px; color: color-mix(in srgb, var(--ltsws-component-text) 68%, transparent); font-size: .86rem; font-weight: 650; }
.ltsws-word-study__gloss { margin-top: 7px; font-size: 1rem; font-weight: 750; }
.ltsws-word-study__explanation { margin-top: 14px; }
.ltsws-word-study__explanation > :first-child { margin-top: 0; }
.ltsws-word-study__explanation > :last-child { margin-bottom: 0; }

/* Sermon */
.ltsws-component--sermon { padding: 0; }
.ltsws-sermon { display: grid; grid-template-columns: minmax(180px, .72fr) minmax(0, 1fr); min-height: 250px; }
.ltsws-sermon__media { min-height: 230px; background: var(--ltsws-soft); }
.ltsws-sermon__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ltsws-sermon__body { align-self: center; padding: var(--ltsws-component-padding); }

/* Posts */
.ltsws-post-list__items { display: grid; gap: 0; margin-top: 16px; }
.ltsws-post-list__item { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: center; padding: 15px 0; border-top: 1px solid color-mix(in srgb, var(--ltsws-component-text) 11%, transparent); }
.ltsws-post-list__item:first-child { border-top: 0; }
.ltsws-post-list__item h4 { margin: 0; font-size: 1rem; line-height: 1.3; }
.ltsws-post-list__item h4 a { text-decoration: none; }
.ltsws-post-list__item p { margin-top: 5px; font-size: .88rem; }
.ltsws-post-list__thumb { width: 72px; aspect-ratio: 1; border-radius: 10px; overflow: hidden; background: var(--ltsws-soft); }
.ltsws-post-list__thumb img { width: 100%; height: 100%; object-fit: cover; }
.ltsws-post-list--grid .ltsws-post-list__items { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ltsws-post-list--grid .ltsws-post-list__item { display: block; padding: 14px; border: 1px solid color-mix(in srgb, var(--ltsws-component-text) 11%, transparent); border-radius: 12px; }
.ltsws-post-list--grid .ltsws-post-list__thumb { display: block; width: 100%; aspect-ratio: 16/9; margin-bottom: 12px; }

/* Media and resources */
.ltsws-video__frame { position: relative; margin-top: 16px; aspect-ratio: 16/9; border-radius: 12px; overflow: hidden; background: #0d1119; }
.ltsws-video__frame iframe, .ltsws-video__frame video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ltsws-video__fallback { display: grid; place-items: center; height: 100%; min-height: 220px; color: #fff !important; }
.ltsws-video__caption { font-size: .85rem; }
.ltsws-download { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; align-items: start; }
.ltsws-download__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 13px; background: color-mix(in srgb, var(--ltsws-component-accent) 13%, transparent); color: var(--ltsws-component-accent); font-size: 1.3rem; font-weight: 800; }
.ltsws-download__actions { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.ltsws-file-meta { color: color-mix(in srgb, var(--ltsws-component-text) 62%, transparent); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

/* Event, quote, announcement, CTA */
.ltsws-event__date { display: block; margin-bottom: 10px; color: var(--ltsws-component-accent); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ltsws-event__location { font-weight: 700; }
.ltsws-quote { margin: 0; }
.ltsws-quote blockquote { margin: 0; padding: 0; border: 0; font: 400 clamp(1.3rem, 3vw, 2rem)/1.42 Georgia, "Times New Roman", serif; }
.ltsws-quote figcaption { margin-top: 18px; color: color-mix(in srgb, var(--ltsws-component-text) 68%, transparent); font-size: .88rem; font-weight: 700; }
.ltsws-announcement { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.ltsws-announcement .ltsws-actions { flex: 0 0 auto; margin-top: 0; }
.ltsws-cta { text-align: center; }
.ltsws-cta .ltsws-actions { justify-content: center; }

/* Newsletter */
.ltsws-newsletter { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .8fr); gap: 28px; align-items: center; }
.ltsws-newsletter__form { display: flex; gap: 9px; }
.ltsws-newsletter__form input[type="email"] { min-width: 0; flex: 1; min-height: 46px; padding: 10px 13px; border: 1px solid color-mix(in srgb, var(--ltsws-component-text) 18%, transparent); border-radius: 9px; background: color-mix(in srgb, var(--ltsws-component-background) 90%, white); color: inherit; font: inherit; }
.ltsws-newsletter__privacy { grid-column: 2; margin-top: -18px !important; font-size: .76rem; }

/* Author */
.ltsws-author { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 22px; align-items: center; }
.ltsws-author__image, .ltsws-author__placeholder { width: 92px; height: 92px; border-radius: 50%; object-fit: cover; }
.ltsws-author__placeholder { display: grid; place-items: center; background: color-mix(in srgb, var(--ltsws-component-accent) 14%, transparent); color: var(--ltsws-component-accent); font: 400 2.2rem/1 Georgia, serif; }
.ltsws-author__role { margin-top: 4px !important; color: var(--ltsws-component-accent) !important; font-size: .8rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }

/* Accordion */
.ltsws-accordion__item { border-top: 1px solid color-mix(in srgb, var(--ltsws-component-text) 13%, transparent); }
.ltsws-accordion__item:first-of-type { margin-top: 15px; }
.ltsws-accordion__item h4 { margin: 0; }
.ltsws-accordion__button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 0; border: 0; background: transparent; color: inherit; font: 700 1rem/1.35 inherit; text-align: left; cursor: pointer; }
.ltsws-accordion__button span:last-child { font-size: 1.35rem; transition: transform .18s ease; }
.ltsws-accordion__button[aria-expanded="true"] span:last-child { transform: rotate(45deg); }
.ltsws-accordion__panel { padding: 0 30px 17px 0; }
.ltsws-accordion__panel p { margin: 0; }

/* Kits */
.ltsws-kit--editorial { --ltsws-accent: #9a6422; --ltsws-component-radius: 4px; }
.ltsws-kit--editorial .ltsws-component__title { font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
.ltsws-kit--scholar { --ltsws-accent: #ad7729; --ltsws-component-radius: 18px; }
.ltsws-kit--scholar .ltsws-component { background-image: linear-gradient(145deg, transparent 72%, color-mix(in srgb, var(--ltsws-component-accent) 5%, transparent)); }
.ltsws-kit--broadcast { --ltsws-accent: #cf4b25; --ltsws-component-radius: 14px; }
.ltsws-kit--broadcast .ltsws-component { border-width: 0; box-shadow: 0 18px 45px rgba(17, 26, 46, .12); }
.ltsws-kit--minimal { --ltsws-accent: #111827; --ltsws-component-radius: 0; }
.ltsws-kit--minimal .ltsws-component { border-width: 0 0 1px; padding-inline: 0; box-shadow: none; }
.ltsws-kit--glass { --ltsws-accent: #7c5ccf; --ltsws-component-background: rgba(255, 255, 255, .72); }
.ltsws-kit--glass .ltsws-component { backdrop-filter: blur(18px); box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 20px 50px rgba(17,26,46,.1); }
.ltsws-kit--dark { --ltsws-accent: #d2a252; --ltsws-region-text: #f7f3ea; --ltsws-component-text: #f7f3ea; --ltsws-component-background: #151b29; --ltsws-soft: #0c111c; }
.ltsws-kit--dark .ltsws-component { border-color: rgba(255,255,255,.1); box-shadow: 0 22px 60px rgba(0,0,0,.26); }
.ltsws-kit--dark .ltsws-button--primary { color: #121722 !important; }

/* Preview and empty state */
.ltsws-region--preview .ltsws-component { cursor: pointer; }
.ltsws-region--preview .ltsws-component:hover { outline: 2px solid color-mix(in srgb, var(--ltsws-accent) 72%, white); outline-offset: 3px; }
.ltsws-region--preview .ltsws-component.is-selected { outline: 3px solid var(--ltsws-accent); outline-offset: 3px; }
.ltsws-empty-canvas { display: grid; place-items: center; gap: 5px; min-height: 280px; border: 1px dashed #b8c0ce; border-radius: 18px; color: #66738a; text-align: center; }
.ltsws-empty-canvas strong { color: #182238; font-size: 1.1rem; }
.ltsws-empty { color: color-mix(in srgb, var(--ltsws-component-text) 62%, transparent); font-style: italic; }

/* Animation */
.ltsws-animate--fade, .ltsws-animate--rise, .ltsws-animate--scale { opacity: 0; transition: opacity .5s ease, transform .5s ease; }
.ltsws-animate--rise { transform: translateY(18px); }
.ltsws-animate--scale { transform: scale(.975); }
.ltsws-is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.ltsws-animate--fade, .ltsws-animate--rise, .ltsws-animate--scale { opacity: 1; transform: none; transition: none; }
	.ltsws-button, .ltsws-region__dismiss, .ltsws-accordion__button span:last-child { transition: none; }
}
@media (max-width: 767px) {
	.ltsws-region { margin-block: 18px; }
	.ltsws-component { --ltsws-component-padding: 20px; }
	.ltsws-sermon { grid-template-columns: 1fr; }
	.ltsws-sermon__media { min-height: 190px; aspect-ratio: 16/9; }
	.ltsws-announcement, .ltsws-newsletter { display: block; }
	.ltsws-announcement .ltsws-actions { margin-top: 18px; }
	.ltsws-newsletter__form { margin-top: 18px; }
	.ltsws-newsletter__privacy { margin-top: 7px !important; }
	.ltsws-post-list--grid .ltsws-post-list__items { grid-template-columns: 1fr; }
	.ltsws-scripture__text { padding-right: 22px; }
}
@media (max-width: 480px) {
	.ltsws-newsletter__form { flex-direction: column; }
	.ltsws-newsletter__form .ltsws-button { width: 100%; }
	.ltsws-download, .ltsws-author { grid-template-columns: 1fr; }
	.ltsws-author__image, .ltsws-author__placeholder { width: 74px; height: 74px; }
}
.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
/* Advanced classic-widget controls */
.ltsws-advanced-widget { width: var(--ltsws-widget-width-desktop, auto); max-width: 100%; }
.ltsws-advanced-widget--sticky { position: sticky; top: var(--ltsws-widget-sticky-offset, 24px); z-index: 20; }
.ltsws-widget-align-desktop-left { margin-right: auto; text-align: left; }
.ltsws-widget-align-desktop-center { margin-inline: auto; text-align: center; }
.ltsws-widget-align-desktop-right { margin-left: auto; text-align: right; }
@media (min-width: 768px) and (max-width: 1024px) {
	.ltsws-advanced-widget { width: var(--ltsws-widget-width-tablet, auto); }
	.ltsws-widget-align-tablet-left { margin-right: auto; margin-left: 0; text-align: left; }
	.ltsws-widget-align-tablet-center { margin-inline: auto; text-align: center; }
	.ltsws-widget-align-tablet-right { margin-right: 0; margin-left: auto; text-align: right; }
}
@media (max-width: 767px) {
	.ltsws-advanced-widget { width: var(--ltsws-widget-width-mobile, 100%); }
	.ltsws-widget-align-mobile-left { margin-right: auto; margin-left: 0; text-align: left; }
	.ltsws-widget-align-mobile-center { margin-inline: auto; text-align: center; }
	.ltsws-widget-align-mobile-right { margin-right: 0; margin-left: auto; text-align: right; }
}
.ltsws-block-control--sticky { position: sticky; top: 24px; z-index: 20; }

/* Gutenberg block and classic-widget presentation controls */
.ltsws-block-control,.ltsws-widget-control{box-sizing:border-box;max-width:100%}
.ltsws-block-control{width:var(--ltsws-block-width-desktop,100%)}
.ltsws-widget-control{width:var(--ltsws-widget-width-desktop,100%)}
.ltsws-block-control--sticky{position:sticky;top:var(--ltsws-block-sticky-offset,24px);z-index:20}
.ltsws-widget-control--sticky{position:sticky;top:var(--ltsws-widget-sticky-offset,24px);z-index:20}
.ltsws-block-align--left,.ltsws-widget-align-desktop--left{margin-right:auto;margin-left:0;text-align:left}
.ltsws-block-align--center,.ltsws-widget-align-desktop--center{margin-inline:auto;text-align:center}
.ltsws-block-align--right,.ltsws-widget-align-desktop--right{margin-right:0;margin-left:auto;text-align:right}

/* 1.0.5: A single surviving component must fill the complete region grid. */
.ltsws-layout--grid .ltsws-region__inner > .ltsws-component:only-child {
	grid-column: 1 / -1;
}
