/*
Theme Name: Breast Cancer Fitness Nordic
Theme URI: https://breastcancerfitness.org.uk/
Description: A calm, content-first Nordic block theme for Breast Cancer Fitness: self-hosted fonts, accessible colours, and styles for the site's summary, safety and guided-plan boxes, tables and references.
Version: 1.0.1
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Author: Breast Cancer Fitness
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bcf-nordic
*/

/* ---------- Basics ---------- */
html { -webkit-text-size-adjust: 100%; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
:where(a) { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
:where(a:hover) { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--wp--preset--color--clay); outline-offset: 2px; border-radius: 2px; }
::selection { background: var(--wp--preset--color--mist); }
strong, b { font-weight: 600; }
sup { line-height: 0; }
sup a { text-decoration: none; font-weight: 600; font-size: 0.75em; padding: 0 0.1em; }

/* ---------- Top strip ---------- */
.bcf-topstrip { border-bottom: 1px solid var(--wp--preset--color--line); }
.bcf-topstrip p { margin: 0; }
.bcf-topstrip a { white-space: nowrap; }

/* ---------- Header ---------- */
.bcf-header { border-bottom: 1px solid var(--wp--preset--color--line); }
.bcf-logo img { display: block; height: auto; }
.bcf-header .wp-block-navigation a { text-decoration: none; color: var(--wp--preset--color--ink); padding: 0.6rem 0; }
.bcf-header .wp-block-navigation a:hover { color: var(--wp--preset--color--pine); text-decoration: underline; }
.bcf-header .wp-block-navigation .current-menu-item > a { color: var(--wp--preset--color--pine); text-decoration: underline; text-decoration-thickness: 2px; }
.bcf-header .wp-block-search__button { background: transparent; color: var(--wp--preset--color--ink); border: 1px solid var(--wp--preset--color--line); border-radius: 999px; min-width: 44px; min-height: 44px; padding: 0.5rem; }
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem 1.5rem 2rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0 !important; width: 100%; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--wp--preset--color--line); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a { font-family: var(--wp--preset--font-family--serif); font-size: 1.5rem; padding: 0.85rem 0; display: block; width: 100%; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }

/* ---------- Page heading ---------- */
.bcf-page-title { margin-top: 0; }

/* ---------- Content boxes (from the content batches) ---------- */
.bcf-box { border: 1px solid rgba(30, 35, 32, 0.06); }
.bcf-box > *:first-child { margin-top: 0; }
.bcf-box > *:last-child { margin-bottom: 0; }
.bcf-box .bcf-box__title { font-size: var(--wp--preset--font-size--small); letter-spacing: 0.02em; margin-bottom: 0.5rem; }
.bcf-box ul, .bcf-box ol { padding-left: 1.25rem; }
.bcf-box li + li { margin-top: 0.35rem; }
.bcf-box--summary .bcf-box__title { color: var(--wp--preset--color--pine); text-transform: uppercase; }
.bcf-box--warn { border-color: rgba(180, 101, 74, 0.35); }
.bcf-box--warn .bcf-box__title { color: #8A4430; }
.bcf-box--cta { border-color: rgba(47, 93, 80, 0.25); }
.bcf-box--cta .bcf-box__title { color: var(--wp--preset--color--pine); font-size: var(--wp--preset--font-size--medium); }

/* ---------- Lists, tables, images ---------- */
.entry-content li + li, .wp-block-post-content li + li { margin-top: 0.3rem; }
.wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.wp-block-table table { border-collapse: collapse; width: 100%; background: var(--wp--preset--color--white); }
.wp-block-table table:has(tr > :nth-child(3)) { min-width: 520px; }
.wp-block-table th, .wp-block-table td { border: 1px solid var(--wp--preset--color--line); padding: 0.65rem 0.8rem; vertical-align: top; text-align: left; }
.wp-block-table thead { border-bottom: 2px solid var(--wp--preset--color--ink); }
.wp-block-table thead th { background: var(--wp--preset--color--mist); font-weight: 600; }
.wp-block-image img { border-radius: 14px; }
.wp-block-quote { border-left: 0; background: var(--wp--preset--color--white); border-radius: 12px; }
.wp-block-quote p { margin: 0.75rem 0; }

/* ---------- References ---------- */
h2#references { font-family: var(--wp--preset--font-family--sans); font-size: var(--wp--preset--font-size--small); font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--wp--preset--color--muted); border-top: 1px solid var(--wp--preset--color--line); padding-top: 1.5rem; margin-top: 3rem; }
h2#references + ol { font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--muted); line-height: 1.55; padding-left: 1.25rem; }
h2#references + ol a { word-break: break-word; color: var(--wp--preset--color--muted); }

/* ---------- Footer ---------- */
.bcf-footer { margin-top: var(--wp--preset--spacing--60); }
.bcf-footer a { color: var(--wp--preset--color--white); }
.bcf-footer a:hover { color: var(--wp--preset--color--white); text-decoration-thickness: 2px; }
.bcf-footer ul { list-style: none; padding-left: 0; margin: 0; }
.bcf-footer li + li { margin-top: 0.4rem; }
.bcf-footer h2 { font-family: var(--wp--preset--font-family--sans); font-size: var(--wp--preset--font-size--small); font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: #CFE0D8; margin: 0 0 0.75rem; }
.bcf-footer .bcf-footer__legal { border-top: 1px solid rgba(255, 255, 255, 0.2); }
.bcf-footer :focus-visible { outline-color: #F6F4EF; }

/* ---------- Mobile ---------- */
@media (max-width: 781px) {
	.bcf-topstrip .bcf-topstrip__intro { display: none; }
	.bcf-topstrip p { text-align: center !important; }
	.bcf-logo img { width: 210px !important; }
}

/* ---------- Print ---------- */
@media print {
	.bcf-topstrip, .bcf-header .wp-block-navigation, .bcf-header .wp-block-search, .bcf-footer .wp-block-columns { display: none !important; }
	a { color: inherit; }
	.bcf-box { break-inside: avoid; }
}
