/* Structural styles for btc/* blocks. Colours and fonts come from the active theme's presets, with fallbacks. */
.btc-placeholder { padding: 1rem; border: 1px dashed currentColor; opacity: .7; font-size: .9rem; }
.btc-muted { opacity: .75; }
.btc-eyebrow { font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; color: var(--wp--preset--color--primary, #7a1f2b); margin: 0 0 .25rem; }
.btc-scripture { font-style: italic; margin: 0 0 .5rem; color: var(--wp--preset--color--primary, #7a1f2b); }
.btc-button { display: inline-block; padding: .7em 1.3em; border-radius: 999px; background: var(--wp--preset--color--primary, #7a1f2b); color: var(--wp--preset--color--base, #fff) !important; text-decoration: none; font-weight: 600; }
.btc-button--outline { background: transparent; color: inherit !important; border: 1.5px solid currentColor; }
.btc-button:focus-visible { outline: 3px solid var(--wp--preset--color--accent, #b8860b); outline-offset: 2px; }

/* Language pill */
.btc-lang { display: inline-flex; border: 1.5px solid currentColor; border-radius: 999px; padding: 2px; gap: 2px; font-size: .9rem; line-height: 1; }
.btc-lang__item { padding: .45em .8em; border-radius: 999px; text-decoration: none; color: inherit; min-width: 2.75em; text-align: center; }
.btc-lang__item.is-current { background: var(--wp--preset--color--primary, #7a1f2b); color: var(--wp--preset--color--base, #fff); font-weight: 700; }
.btc-lang__item:not(.is-current):hover { background: rgba(0,0,0,.08); }

/* Machine-translation banner (rendered on wp_body_open) */
.btc-mt-banner { background: var(--wp--preset--color--accent-soft, #f6e7c1); color: var(--wp--preset--color--contrast, #2a1a12); padding: .75rem 1rem; text-align: center; font-size: .95rem; }
.btc-mt-banner p { margin: 0; }
.btc-mt-banner a { font-weight: 700; color: inherit; }

/* Service strip */
.btc-strip { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .35rem 1.25rem; font-size: .95rem; }
.btc-strip__link { color: inherit; font-weight: 600; }

/* Notices */
.btc-notice { margin: 0; text-align: center; font-weight: 600; }
.btc-notice a { color: inherit; }

/* Devotion calendar */
.btc-cal { width: 100%; max-width: 28rem; border-collapse: separate; border-spacing: 4px; margin-inline: auto; }
.btc-cal caption { font-family: var(--wp--preset--font-family--heading, serif); font-size: 1.4rem; margin-bottom: .5rem; }
.btc-cal th { font-size: .8rem; font-weight: 600; opacity: .7; padding: .25rem 0; }
.btc-cal td { text-align: center; aspect-ratio: 1; border-radius: 8px; padding: 0; vertical-align: middle; }
.btc-cal td > a, .btc-cal td > span { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 2.5rem; border-radius: 8px; text-decoration: none; color: inherit; }
.btc-cal td.has-devotion > a { background: var(--wp--preset--color--accent-soft, #f6e7c1); font-weight: 700; }
.btc-cal td.has-devotion > a:hover, .btc-cal td.has-devotion > a:focus-visible { background: var(--wp--preset--color--primary, #7a1f2b); color: var(--wp--preset--color--base, #fff); }
.btc-cal td.is-today > * { outline: 2px solid var(--wp--preset--color--primary, #7a1f2b); }
.btc-cal td.is-future { opacity: .4; }

/* Cards: YouTube feed */
.btc-yt__grid { list-style: none; padding: 0; margin: 0 0 1.5rem; display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); }
.btc-card a { color: inherit; text-decoration: none; display: block; }
.btc-card img { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; border-radius: 12px; display: block; }
.btc-card__title { display: block; font-weight: 600; margin-top: .6rem; line-height: 1.35; }
.btc-card__meta { display: block; font-size: .85rem; opacity: .75; margin: .25rem 0 0; }

/* Events */
.btc-events__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; }
.btc-event { display: flex; gap: 1rem; align-items: center; }
.btc-event__date { flex: none; width: 4rem; height: 4rem; border-radius: 12px; background: var(--wp--preset--color--primary, #7a1f2b); color: var(--wp--preset--color--base, #fff); display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.1; }
.btc-event__date span { font-size: .75rem; text-transform: uppercase; }
.btc-event__date strong { font-size: 1.4rem; }
.btc-event__title { margin: 0; font-size: 1.15rem; }
.btc-event__title a { color: inherit; }

/* People */
.btc-people { list-style: none; padding: 0; margin: 0; display: grid; gap: 2rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); }
.btc-person { text-align: center; }
.btc-person__photo { width: 10rem; height: 10rem; border-radius: 50%; object-fit: cover; display: block; margin: 0 auto 1rem; }
.btc-person__photo--empty { background: var(--wp--preset--color--accent-soft, #f6e7c1); }
.btc-person__name { margin: 0; font-size: 1.15rem; }
.btc-person__role { margin: .25rem 0 0; opacity: .8; }

/* Entry details */
.btc-video { aspect-ratio: 16/9; margin-bottom: 1.5rem; }
.btc-video iframe { width: 100%; height: 100%; border: 0; border-radius: 12px; }
.btc-details { display: flex; flex-wrap: wrap; gap: .5rem 2rem; margin: 0; }
.btc-details dt { font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; opacity: .7; }
.btc-details dd { margin: 0; font-weight: 600; }
.btc-prayer { margin-top: 2rem; padding: 1.25rem 1.5rem; border-left: 4px solid var(--wp--preset--color--accent, #b8860b); background: var(--wp--preset--color--accent-soft, #f6e7c1); border-radius: 0 12px 12px 0; }
.btc-prayer h2 { font-size: 1.1rem; margin: 0 0 .5rem; }
.btc-transcript summary { cursor: pointer; font-weight: 600; }

/* Footer bits */
.btc-contact__line { margin: 0 0 .35rem; }
.btc-contact a { color: inherit; }
.btc-social { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.btc-social a { color: inherit; }

@media (prefers-reduced-motion: reduce) { .btc-card img, .btc-button { transition: none !important; } }

/* Social links as round icons (e.g. under the home hero buttons) */
.btc-social--icons { gap: .75rem; justify-content: center; }
.btc-social--icons a { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; border: 1.5px solid currentColor; transition: background-color .2s ease, color .2s ease; }
.btc-social--icons a:hover { background: var(--wp--preset--color--white, #fff); color: var(--wp--preset--color--primary, #751428); }
.btc-social--icons .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
