/* ==========================================================================
   BDAW WP Site — the content model: the sections a content package carries.

   Hooks (class names a package puts on core blocks; no theme class in the content):
   section · section--default · --light · --white · --tight · --stats · --capabilities ·
   --platforms · --film · --closer (groups) · hero · hero--sub · hero--video · object (covers) ·
   eyebrow · lede · stat-value · stat-label · more (paragraphs) · actions (buttons) · cards ·
   specs · contacts · index · tiles · split · stats (columns) · certs · chips · ticks (lists) ·
   gallery · film (video) · site-form (form) · form-note · tables in a section.

   Colors, type and spacing: the theme's presets, so Styles and light/dark follow. A cover with
   words over a picture takes the dark set, a paper section (section--white) the light set
   (inc/mode.php). The look per theme: the tokens below.
   ========================================================================== */
:root {
	--bdaw-c-col: var(--wp--style--global--content-size, 1180px);
	--bdaw-c-gutter: var(--wp--style--root--padding-left, clamp(18px, 4vw, 64px));
	--bdaw-c-pad: clamp(64px, 9vw, 128px);
	--bdaw-c-pad-tight: clamp(40px, 5vw, 72px);
	--bdaw-c-block-gap: clamp(36px, 4.5vw, 64px);
	--bdaw-c-grid-gap: clamp(18px, 2.4vw, 32px);
	--bdaw-c-gallery-gap: 10px;
	--bdaw-c-alt: var(--wp--preset--color--base-2);
	--bdaw-c-eyebrow-font: var(--wp--preset--font-family--heading);
	--bdaw-c-eyebrow-size: var(--wp--preset--font-size--x-small);
	--bdaw-c-eyebrow-weight: 600;
	--bdaw-c-eyebrow-track: 0.3em;
	--bdaw-c-eyebrow-color: var(--wp--preset--color--accent-2);
	--bdaw-c-eyebrow-on-media: rgba(255, 255, 255, .86);
	--bdaw-c-lede-color: var(--wp--preset--color--muted);
	--bdaw-c-lede-measure: 60ch;
	--bdaw-c-h2-measure: 22ch;
	--bdaw-c-h2-after: 22px;
	--bdaw-c-more-color: var(--wp--preset--color--contrast);
	--bdaw-c-more-track: 0.02em;
	--bdaw-c-more-case: none;
	--bdaw-c-h1: var(--wp--preset--font-size--xx-large);
	--bdaw-c-h1-sub: var(--wp--preset--font-size--x-large);
	--bdaw-c-h1-measure: 17ch;
	--bdaw-c-h3: var(--wp--preset--font-size--large);
	--bdaw-c-on-media: #ffffff;
	--bdaw-c-hero-min: 78vh;
	--bdaw-c-hero-sub-min: 54vh;
	--bdaw-c-object-min: 86vh;
	--bdaw-c-hero-top: clamp(120px, 18vh, 190px);
	--bdaw-c-hero-bottom: clamp(48px, 9vh, 104px);
	--bdaw-c-shade: linear-gradient(90deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,0) 62%), linear-gradient(180deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.1) 38%, rgba(0,0,0,.18) 60%, rgba(0,0,0,.82) 100%);
	--bdaw-c-media-filter: none;
	--bdaw-c-figure-font: var(--wp--preset--font-family--heading);
	--bdaw-c-figure-size: var(--wp--preset--font-size--xx-large);
	--bdaw-c-figure-weight: 700;
	--bdaw-c-figure-style: normal;
	--bdaw-c-figure-track: 0;
	--bdaw-c-figure-color: var(--wp--preset--color--contrast);
	--bdaw-c-figure-case: none;
	--bdaw-c-figure-pad: clamp(16px, 2.4vw, 32px);
	--bdaw-c-spec-size: var(--wp--preset--font-size--x-large);
	--bdaw-c-number-color: var(--wp--preset--color--accent);
	--bdaw-c-index-rule: 1px solid var(--wp--preset--color--line);
	--bdaw-c-card-bg: var(--wp--preset--color--base-2);
	--bdaw-c-card-border: 1px solid var(--wp--preset--color--line);
	--bdaw-c-card-pad: clamp(24px, 2.4vw, 34px);
	--bdaw-c-card-clip: none;
	--bdaw-c-card-shadow: none;
	--bdaw-c-badge-border: 1px solid var(--wp--preset--color--line);
	--bdaw-c-badge-bg: var(--wp--preset--color--base);
	--bdaw-c-badge-font: var(--wp--preset--font-family--heading);
	--bdaw-c-badge-size: var(--wp--preset--font-size--large);
	--bdaw-c-badge-track: 0.02em;
	--bdaw-c-badge-case: uppercase;
	--bdaw-c-badge-weight: 600;
	--bdaw-c-chip-radius: 0;
	--bdaw-c-chip-bg: transparent;
	--bdaw-c-film-align: left;
	--bdaw-c-film-border: 0;
	--bdaw-c-closer-bg: var(--wp--preset--color--base);
	--bdaw-c-closer-size: var(--wp--preset--font-size--xx-large);
	--bdaw-c-field-bg: var(--wp--preset--color--base-2);
	--bdaw-c-field-radius: 0;
	--bdaw-c-button-font: var(--wp--preset--font-family--heading);
	--bdaw-c-button-size: var(--wp--preset--font-size--small);
	--bdaw-c-button-track: 0.12em;
}

/* ---- A page that opens on a cover: the cover carries the title ----------------------------------------------- */
main:has(> .wp-block-post-content > .wp-block-cover:first-child) > .wp-block-group { display: none; }
main:has(> .wp-block-post-content > .wp-block-cover:first-child) { margin-top: 0; padding-top: 0; }
main:has(> .wp-block-post-content > .wp-block-cover:first-child) > .wp-block-post-content { margin-top: 0; padding-top: 0; }
.wp-block-post-content > .wp-block-group.section, .wp-block-post-content > .wp-block-cover.hero, .wp-block-post-content > .wp-block-cover.object { margin-block: 0; }
/* A page that closes on a section: the footer follows at once. */
.wp-block-post-content:has(> .wp-block-group.section:last-child) { padding-bottom: 0; margin-bottom: 0; }
main:has(> .wp-block-post-content > .wp-block-group.section:last-child) { padding-bottom: 0; margin-bottom: 0; }
main:has(> .wp-block-post-content > .wp-block-group.section:last-child) + * { margin-top: 0; }

/* ---- Text column: words sit on the left edge of the content width ------------------------------------------- */
:is(.wp-block-group.section, .wp-block-cover.hero, .wp-block-cover.object) { --bdaw-c-left: max(0px, calc((100% - var(--bdaw-c-col)) / 2)); }
:is(.wp-block-group.section, .wp-block-cover.hero > .wp-block-cover__inner-container, .wp-block-cover.object > .wp-block-cover__inner-container) > :is(h1, h2, h3, p, .wp-block-buttons, .wp-block-list):not(.alignfull):not(.alignwide) { margin-left: var(--bdaw-c-left) !important; margin-right: auto !important; }

/* ---- Sections ------------------------------------------------------------------------------------------------- */
.wp-block-group.section { padding-top: var(--bdaw-c-pad); padding-bottom: var(--bdaw-c-pad); background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); }
.wp-block-group.section--tight { padding-top: var(--bdaw-c-pad-tight); padding-bottom: var(--bdaw-c-pad-tight); }
.wp-block-group.section--light { background: var(--bdaw-c-alt); }
.wp-block-group.section--white { background: var(--bdaw-paper, var(--wp--preset--color--base)); }
.wp-block-group.section--stats { background: var(--bdaw-c-alt); padding-top: var(--bdaw-c-pad-tight); padding-bottom: var(--bdaw-c-pad-tight); border-top: 1px solid var(--wp--preset--color--line); border-bottom: 1px solid var(--wp--preset--color--line); }
.wp-block-group.section + .wp-block-group.section--default, .wp-block-group.section--default + .wp-block-group.section--default { border-top: 1px solid var(--wp--preset--color--line); }
.wp-block-group.section > h2 { max-width: min(var(--bdaw-c-h2-measure), var(--bdaw-c-col)); margin-top: 0; text-wrap: balance; }
.wp-block-group.section > h2:not(:last-child) { margin-bottom: var(--bdaw-c-h2-after); }
.wp-block-group.section > p:not(.eyebrow):not(.lede):not(.more) { max-width: min(68ch, var(--bdaw-c-col)); }
.wp-block-group.section > .wp-block-columns { margin-top: var(--bdaw-c-block-gap); }
.wp-block-group.section > .wp-block-columns:first-child { margin-top: 0; }
.wp-block-group.section > :is(.wp-block-table, .wp-block-gallery, .wp-block-video) { margin-top: var(--bdaw-c-block-gap); }

/* ---- Words ---------------------------------------------------------------------------------------------------- */
p.eyebrow { font-family: var(--bdaw-c-eyebrow-font); font-size: var(--bdaw-c-eyebrow-size); font-weight: var(--bdaw-c-eyebrow-weight); letter-spacing: var(--bdaw-c-eyebrow-track); text-transform: uppercase; line-height: 1.4; color: var(--bdaw-c-eyebrow-color); margin-top: 0; margin-bottom: 14px; }
p.eyebrow + p.eyebrow { margin-top: -8px; color: var(--wp--preset--color--muted); }
p.eyebrow + :is(h1, h2, h3) { margin-top: 0; }
p.lede { font-size: var(--wp--preset--font-size--large); line-height: 1.6; color: var(--bdaw-c-lede-color); max-width: min(var(--bdaw-c-lede-measure), var(--bdaw-c-col)); }
p.lede + p.lede { margin-top: 0.6em; }
p.more { margin-top: auto; padding-top: 14px; font-size: var(--wp--preset--font-size--small); font-weight: 600; letter-spacing: var(--bdaw-c-more-track); text-transform: var(--bdaw-c-more-case); }
p.more a { color: var(--bdaw-c-more-color); text-decoration: none; border-bottom: 1px solid color-mix(in srgb, var(--bdaw-c-more-color) 35%, transparent); padding-bottom: 2px; transition: border-color .2s, color .2s; }
p.more a:hover { border-bottom-color: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); }
.wp-block-buttons.actions { margin-top: 28px; gap: 12px 16px; }

/* ---- Covers: hero, page hero, video hero, object --------------------------------------------------------------- */
.wp-block-cover:is(.hero, .object) { min-height: var(--bdaw-c-hero-min); padding: var(--bdaw-c-hero-top) var(--bdaw-c-gutter) var(--bdaw-c-hero-bottom); align-items: flex-end; color: var(--wp--preset--color--contrast); }
.wp-block-cover.hero--sub { min-height: var(--bdaw-c-hero-sub-min); }
.wp-block-cover.hero--video { min-height: 100vh; min-height: 100svh; }
.wp-block-cover.object { min-height: var(--bdaw-c-object-min); }
.wp-block-cover:is(.hero, .object) > .wp-block-cover__background { background: var(--bdaw-c-shade) !important; opacity: 1 !important; }
.wp-block-cover:is(.hero, .object) > :is(.wp-block-cover__image-background, .wp-block-cover__video-background) { filter: var(--bdaw-c-media-filter); }
.wp-block-cover:is(.hero, .object) > .wp-block-cover__inner-container { width: 100%; }
.wp-block-cover:is(.hero, .object) h1 { font-size: var(--bdaw-c-h1); max-width: min(var(--bdaw-c-h1-measure), var(--bdaw-c-col)); color: var(--bdaw-c-on-media); margin: 0; text-wrap: balance; }
.wp-block-cover.hero--sub h1 { font-size: var(--bdaw-c-h1-sub); }
.wp-block-cover.object h2 { font-size: var(--bdaw-c-h1-sub); max-width: min(18ch, var(--bdaw-c-col)); color: var(--bdaw-c-on-media); margin: 0; }
.wp-block-cover:is(.hero, .object) p.eyebrow { color: var(--bdaw-c-eyebrow-on-media); }
.wp-block-cover:is(.hero, .object) > .wp-block-cover__inner-container { text-shadow: 0 1px 18px rgba(0, 0, 0, .35); }
.wp-block-cover:is(.hero, .object) p.lede { color: color-mix(in srgb, var(--bdaw-c-on-media) 86%, transparent); margin-top: 22px; max-width: min(56ch, var(--bdaw-c-col)); }
.wp-block-cover:is(.hero, .object) p.more { padding-top: 22px; }
.wp-block-cover:is(.hero, .object) p.more a { color: var(--bdaw-c-on-media); }

/* ---- Figures: stats and specs ----------------------------------------------------------------------------------- */
.wp-block-columns:is(.stats, .specs) { gap: 0 !important; }
.wp-block-columns:is(.stats, .specs) > .wp-block-column { box-sizing: border-box; padding: 6px var(--bdaw-c-figure-pad) 6px; border-left: 1px solid var(--wp--preset--color--line); }
.wp-block-columns:is(.stats, .specs) > .wp-block-column:first-child { border-left: 0; padding-left: 0; }
:is(p, h3).stat-value { font-family: var(--bdaw-c-figure-font); font-size: var(--bdaw-c-figure-size); font-weight: var(--bdaw-c-figure-weight); font-style: var(--bdaw-c-figure-style); letter-spacing: var(--bdaw-c-figure-track); line-height: 1; color: var(--bdaw-c-figure-color); margin: 0; text-transform: var(--bdaw-c-figure-case); }
.wp-block-columns:is(.specs, .contacts) h3.stat-value { font-size: var(--bdaw-c-spec-size); }
p.stat-label { margin: 12px 0 0; font-size: var(--wp--preset--font-size--small); line-height: 1.45; color: var(--wp--preset--color--muted); max-width: 26ch; }
.wp-block-columns.specs p.eyebrow, .wp-block-columns.contacts p.eyebrow { margin-bottom: 12px; }

/* ---- Rows and tiles: index (capabilities), tiles (products), cards, contacts -------------------------------------- */
.wp-block-columns:is(.index, .tiles, .cards, .contacts) { gap: var(--bdaw-c-grid-gap); }
.wp-block-columns:is(.index, .tiles, .cards, .contacts) > .wp-block-column { display: flex; flex-direction: column; box-sizing: border-box; }
.wp-block-columns.index > .wp-block-column { border-top: var(--bdaw-c-index-rule); padding-top: 22px; }
.wp-block-columns.index > .wp-block-column:hover { border-top-color: var(--wp--preset--color--accent); }
.wp-block-columns:is(.index, .tiles, .cards) h3 { font-size: var(--bdaw-c-h3); margin: 0 0 10px; }
.wp-block-columns:is(.index, .tiles) h3 a { color: inherit; text-decoration: none; }
.wp-block-columns:is(.index, .tiles) h3 a:hover { color: var(--wp--preset--color--accent); }
.wp-block-columns:is(.index, .cards, .contacts) p:not(.eyebrow):not(.more):not(.stat-label) { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); line-height: 1.65; margin: 0; }
.wp-block-columns.index p.eyebrow, .wp-block-columns.cards p.eyebrow { color: var(--bdaw-c-number-color); }
.wp-block-columns.tiles .wp-block-image { margin: 0 0 18px; overflow: hidden; }
.wp-block-columns.tiles .wp-block-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.wp-block-columns.tiles > .wp-block-column:hover .wp-block-image img { transform: scale(1.035); }
.wp-block-columns.tiles p.eyebrow { order: -1; margin-bottom: 8px; color: var(--wp--preset--color--muted); }
.wp-block-columns.tiles .wp-block-image { order: -2; }
.wp-block-columns:is(.cards, .contacts) > .wp-block-column { background: var(--bdaw-c-card-bg); border: var(--bdaw-c-card-border); box-shadow: var(--bdaw-c-card-shadow); padding: var(--bdaw-c-card-pad); clip-path: var(--bdaw-c-card-clip); }
.wp-block-columns.contacts p a { color: var(--wp--preset--color--contrast); }

/* ---- Split: words beside a picture or a list --------------------------------------------------------------------- */
.wp-block-columns.split { gap: clamp(32px, 5vw, 80px); align-items: center; }
.wp-block-columns.split .wp-block-image { margin: 0; }
.wp-block-columns.split .wp-block-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.wp-block-columns.split h2 { margin-top: 0; }
.wp-block-columns.split p:not(.eyebrow) { color: var(--wp--preset--color--muted); }

/* ---- Lists: certifications, chips, ticks ---------------------------------------------------------------------------- */
ul.wp-block-list:is(.certs, .chips, .ticks) { list-style: none; padding: 0; }
ul.certs { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
ul.certs li { margin: 0; padding: 14px 18px; border: var(--bdaw-c-badge-border); background: var(--bdaw-c-badge-bg); font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); clip-path: var(--bdaw-c-card-clip); }
ul.certs li strong { display: block; font-family: var(--bdaw-c-badge-font); font-size: var(--bdaw-c-badge-size); letter-spacing: var(--bdaw-c-badge-track); text-transform: var(--bdaw-c-badge-case); color: var(--wp--preset--color--contrast); font-weight: var(--bdaw-c-badge-weight); margin-bottom: 4px; }
ul.certs li a { color: inherit; text-decoration: none; }
ul.certs li a:hover { color: var(--wp--preset--color--accent); }
ul.chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
ul.chips li { margin: 0; padding: 6px 12px; border: 1px solid var(--wp--preset--color--line); border-radius: var(--bdaw-c-chip-radius); font-size: var(--wp--preset--font-size--small); line-height: 1.3; color: var(--wp--preset--color--contrast); background: var(--bdaw-c-chip-bg); }
ul.ticks { margin-top: 22px; display: grid; gap: 10px; }
ul.ticks li { position: relative; margin: 0; padding-left: 30px; line-height: 1.55; }
ul.ticks li::before { content: ""; position: absolute; left: 2px; top: 0.42em; width: 12px; height: 6px; border-left: 2px solid var(--wp--preset--color--accent); border-bottom: 2px solid var(--wp--preset--color--accent); transform: rotate(-45deg); }

/* ---- Gallery, film ----------------------------------------------------------------------------------------------------- */
.wp-block-gallery.gallery { gap: var(--bdaw-c-gallery-gap) !important; }
.wp-block-gallery.gallery .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; }
.wp-block-group.section--film { text-align: var(--bdaw-c-film-align); }
.wp-block-video.film { margin-top: var(--bdaw-c-block-gap); }
.wp-block-video.film video { width: 100%; aspect-ratio: 16 / 9; background: #000; display: block; border: var(--bdaw-c-film-border); }

/* ---- Closer: the last line on a page ------------------------------------------------------------------------------------ */
.wp-block-group.section--closer { background: var(--bdaw-c-closer-bg); border-top: 1px solid var(--wp--preset--color--line); }
.wp-block-group.section--closer > h2 { font-size: var(--bdaw-c-closer-size); max-width: min(16ch, var(--bdaw-c-col)); line-height: 0.98; }
.wp-block-group.section--closer > p { color: var(--wp--preset--color--muted); }

/* ---- Tables in a section --------------------------------------------------------------------------------------------- */
.wp-block-group.section .wp-block-table { display: flex; flex-direction: column-reverse; overflow-x: auto; }
.wp-block-group.section .wp-block-table + .wp-block-table { margin-top: 36px; }
.wp-block-group.section .wp-block-table figcaption { margin: 0 0 12px; text-align: left; font-family: var(--bdaw-c-eyebrow-font); font-size: var(--bdaw-c-eyebrow-size); font-weight: 600; letter-spacing: var(--bdaw-c-eyebrow-track); text-transform: uppercase; color: var(--wp--preset--color--accent); }
.wp-block-group.section .wp-block-table table { width: 100%; border-collapse: collapse; font-size: var(--wp--preset--font-size--small); }
.wp-block-group.section .wp-block-table :is(th, td) { border: 0; border-bottom: 1px solid var(--wp--preset--color--line); padding: 12px 14px 12px 0; text-align: left; vertical-align: top; }
.wp-block-group.section .wp-block-table thead { border-bottom: 0; }
.wp-block-group.section .wp-block-table th { font-size: var(--wp--preset--font-size--x-small); font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wp--preset--color--muted); border-bottom-color: var(--wp--preset--color--contrast); }
.wp-block-group.section .wp-block-table :is(th, td):first-child { width: 4.5em; }
.wp-block-group.section .wp-block-table td:first-child { font-variant-numeric: tabular-nums; color: var(--wp--preset--color--muted); }

/* ---- A form in a section (site-form) ------------------------------------------------------------------------------------- */
form.site-form { display: grid; gap: 18px; max-width: min(760px, var(--bdaw-c-col)); margin-left: var(--bdaw-c-left, 0); margin-top: 8px; }
.wp-block-group.section > :is(.wp-block-html, form.site-form) { margin-left: var(--bdaw-c-left) !important; }
form.site-form > div:has(> div + div) { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
form.site-form label { display: block; margin-bottom: 6px; font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--wp--preset--color--contrast); }
form.site-form label span { color: var(--wp--preset--color--accent); }
form.site-form :is(input, select, textarea) { width: 100%; box-sizing: border-box; padding: 13px 14px; font: inherit; color: var(--wp--preset--color--contrast); background: var(--bdaw-c-field-bg); border: 1px solid var(--wp--preset--color--line); border-radius: var(--bdaw-c-field-radius); }
form.site-form :is(input, select, textarea):focus { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 1px; border-color: var(--wp--preset--color--accent); }
form.site-form textarea { min-height: 170px; resize: vertical; }
form.site-form button { font: inherit; font-family: var(--bdaw-c-button-font); font-size: var(--bdaw-c-button-size); font-weight: 700; letter-spacing: var(--bdaw-c-button-track); text-transform: uppercase; padding: 15px 28px; border: 0; background: var(--wp--preset--color--accent); color: #fff; cursor: pointer; clip-path: var(--bdaw-c-card-clip); }
form.site-form button:hover { background: color-mix(in srgb, var(--wp--preset--color--accent) 78%, #000); }
form.site-form p, p.form-note { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); margin: 0; }
form.site-form p a, p.form-note a { color: var(--wp--preset--color--contrast); }

/* ---- Narrow screens --------------------------------------------------------------------------------------------------- */
@media (max-width: 781px) {
	.wp-block-group.section .wp-block-columns:is(.stats, .specs) { flex-wrap: wrap !important; row-gap: 26px !important; }
	.wp-block-group.section .wp-block-columns:is(.stats, .specs) > .wp-block-column { flex-basis: 50% !important; padding: 0 16px 0 0; border-left: 0; }
	.wp-block-columns.index > .wp-block-column, .wp-block-columns.tiles > .wp-block-column { flex-basis: 100% !important; }
	form.site-form > div:has(> div + div) { grid-template-columns: 1fr; }
	.wp-block-cover:is(.hero, .object) { padding-top: calc(var(--bdaw-c-hero-top) * .8); }
}
@media (prefers-reduced-motion: reduce) { .wp-block-columns.tiles .wp-block-image img { transition: none; } }

/* ---- Editor: the same look, nothing hidden -------------------------------------------------------------------------- */
.editor-styles-wrapper .wp-block-cover.hero--video { min-height: 70vh; }
