/*
Theme Name: Knect
Theme URI: https://knectbiz.com/
Author: Knect
Description: Editable block theme for Knect. Bold black-and-white palette, horizontal Knect wordmark, native Site Editor header, footer and global styles.
Version: 1.0.3
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bdc-ocean
*/

/* Knect monochrome palette. Existing WordPress preset slugs stay intact so copied blocks update globally. */
:root {
	--wp--preset--color--navy: #050505;
	--wp--preset--color--ocean-teal: #FFFFFF;
	--wp--preset--color--dark-teal: #111111;
	--wp--preset--color--hover-teal: #2A2A2A;
	--wp--preset--color--pale-teal: #F2F2F0;
	--wp--preset--color--cool-neutral: #F7F7F5;
	--wp--preset--color--white: #FFFFFF;
	--wp--preset--color--black: #000000;
	--wp--preset--color--ink: #252525;
	--wp--preset--shadow--card: 0 1px 2px rgba(0,0,0,.08), 0 10px 28px rgba(0,0,0,.10);
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
img, svg { max-width: 100%; height: auto; }
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid #050505; outline-offset: 3px; border-radius: 2px;
}
.has-navy-background-color :where(a, button, summary):focus-visible { outline-color: #FFFFFF; }
.bdc-main { margin-top: 0 !important; }
.bdc-main > .wp-block-post-content { margin-top: 0; }
.bdc-pad { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.skip-link:focus { z-index: 100000; }

/* ---------- Header ---------- */
.bdc-site-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .bdc-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .bdc-site-header { top: 0; position: relative; } }
.bdc-topbar { padding-top: .4rem; padding-bottom: .4rem; }
.bdc-topbar p { margin: 0; }
.bdc-topbar a { color: #fff; text-decoration: none; }
.bdc-topbar a:hover { color: #D7D7D2; }
.bdc-header { border-bottom: 1px solid #D7D7D2; padding-top: .55rem; padding-bottom: .55rem; box-shadow: 0 2px 14px rgba(0,0,0,.06); }
.bdc-header > .wp-block-group { gap: 1rem; }
.bdc-brand { gap: .65rem; align-items: center; }
.bdc-brand .wp-block-site-logo img { width: 180px; max-width: 180px; height: auto; display: block; }
.bdc-brand .wp-block-site-title { display: none; margin: 0; line-height: 1.1; max-width: 9.5rem; }
.bdc-header-right { gap: 1.25rem; align-items: center; }
.bdc-header .wp-block-navigation { gap: 1.35rem; }
.bdc-header .wp-block-navigation-item__content { color: #050505; padding: .35rem 0; border-bottom: 2px solid transparent; }
.bdc-header .wp-block-navigation-item__content:hover,
.bdc-header .current-menu-item > .wp-block-navigation-item__content,
.bdc-header .wp-block-navigation-item__content[aria-current="page"] { color: #050505; border-bottom-color: #050505; }
.bdc-header-cta { flex-shrink: 0; }
.bdc-header-cta .wp-block-button__link { padding: .6rem 1.1rem; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { color: #050505; }
.wp-block-navigation__responsive-container-open svg { width: 30px; height: 30px; }
.wp-block-navigation__responsive-container.is-menu-open { background: #fff !important; padding: 1.25rem 1.5rem 2rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.35rem; padding: .55rem 0; color: #050505; }
@media (max-width: 960px) and (min-width: 600px) {
	.bdc-header .wp-block-navigation { gap: .9rem; }
	.bdc-header .wp-block-navigation-item__content { font-size: .9rem; }
	.bdc-brand .wp-block-site-title { display: none; }
}
@media (max-width: 599px) {
	.bdc-topbar p:first-child { display: none; }
	.bdc-topbar .wp-block-group { justify-content: center !important; }
	.bdc-brand .wp-block-site-logo img { width: 125px; max-width: 125px; }
	.bdc-brand .wp-block-site-title { font-size: .95rem; max-width: 8rem; }
	.bdc-header-right { gap: .6rem; }
	.bdc-header-cta .wp-block-button__link { padding: .5rem .85rem; font-size: .85rem !important; }
}
@media (max-width: 370px) { .bdc-brand .wp-block-site-title { display: none; } }

/* ---------- Breadcrumbs ---------- */
.bdc-breadcrumbs { background: #F7F7F5; border-bottom: 1px solid #D7D7D2; font-size: .9rem; padding: .6rem clamp(1rem, 4vw, 2rem); margin: 0 !important; max-width: none !important; }
.bdc-breadcrumbs ol { list-style: none; margin: 0 auto; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; max-width: 1180px; }
.bdc-breadcrumbs li + li::before { content: "/"; margin-right: .4rem; color: #6B6B68; }
.bdc-breadcrumbs a { color: #111111; }
.bdc-breadcrumbs [aria-current] { color: #252525; }

/* ---------- Sections ---------- */
.bdc-section { padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--70); }
.wp-block-post-content > .alignfull { margin-top: 0; margin-bottom: 0; }
.wp-block-post-content > * + .alignfull, .wp-block-post-content > .alignfull + * { margin-top: 0; }
.bdc-section-head { max-width: 760px; margin-bottom: var(--wp--preset--spacing--50); }
.bdc-section-head.has-text-align-center, .bdc-center { margin-left: auto !important; margin-right: auto !important; text-align: center; }
.bdc-center .wp-block-buttons { justify-content: center; }
.bdc-lede { font-size: var(--wp--preset--font-size--large); color: #252525; }
.has-navy-background-color .bdc-lede, .has-navy-background-color p { color: #EDEDEA; }
.has-navy-background-color :where(h1, h2, h3, h4) { color: #fff; }
.has-navy-background-color a:where(:not(.wp-element-button)) { color: #FFFFFF; }

/* Ocean background (group style) */
.is-style-ocean {
	background-color: #050505;
	background-image:
		radial-gradient(circle at 85% 10%, rgba(255,255,255,.08), transparent 45%),
		radial-gradient(circle at 5% 95%, rgba(255,255,255,.04), transparent 40%),
		linear-gradient(135deg, #050505 0%, #161616 100%);
	color: #fff;
}
.bdc-hero { padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--70); }
.bdc-hero h1 { color: #fff; margin-top: .5rem; }
.bdc-hero .wp-block-columns { gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.bdc-hero .wp-block-image img { border-radius: 8px; box-shadow: 0 30px 60px rgba(0,0,0,.35); }

/* Eyebrow (paragraph style) */
.is-style-eyebrow {
	font-family: var(--wp--preset--font-family--heading);
	font-size: .8rem !important; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
	color: #111111; margin-bottom: .25rem !important;
}
.has-navy-background-color .is-style-eyebrow, .is-style-ocean .is-style-eyebrow { color: #FFFFFF; }

/* Cards (group style) */
.is-style-card, .is-style-card-accent {
	background: #fff; color: #252525; border: 1px solid #D7D7D2; border-radius: 6px;
	padding: clamp(1.25rem, 3vw, 1.75rem);
	box-shadow: var(--wp--preset--shadow--card);
}
.is-style-card > *, .is-style-card-accent > * { margin-block-start: 0; }
.is-style-card > * + *, .is-style-card-accent > * + * { margin-block-start: .7rem; }
.is-style-card h3, .is-style-card-accent h3 { margin-bottom: .2rem; }
.is-style-card :where(h1,h2,h3,h4), .is-style-card-accent :where(h1,h2,h3,h4) { color: #050505; }
.has-navy-background-color :is(.is-style-card, .is-style-card-accent) p { color: #252525; }
.has-navy-background-color :is(.is-style-card, .is-style-card-accent) :where(h1,h2,h3,h4) { color: #050505; }
.has-navy-background-color :is(.is-style-card, .is-style-card-accent) .is-style-eyebrow { color: #111111; }
.has-navy-background-color :is(.is-style-card, .is-style-card-accent) a:where(:not(.wp-element-button)) { color: #111111; }
.wp-block-image img { display: block; width: 100%; height: auto; }
.is-style-card-accent .wp-block-image img, .is-style-card .wp-block-image img { border-radius: 4px; }
.is-style-card.has-navy-background-color { border-color: rgba(255,255,255,.38); }
.is-style-card-accent { border-top: 4px solid #050505; }
.wp-block-group.is-layout-grid > :is(.is-style-card, .is-style-card-accent) { height: auto; }
.is-layout-grid { align-items: stretch; }
a.bdc-more, .bdc-more a { font-weight: 700; font-family: var(--wp--preset--font-family--heading); text-decoration: none; }
.bdc-more a::after { content: " →"; }

/* Step numbers */
.bdc-step-num { font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: 2rem !important; color: #111111; line-height: 1; margin-bottom: .2rem !important; }
.has-navy-background-color .bdc-step-num { color: #FFFFFF; }

/* Lists */
ul.is-style-checks { list-style: none; padding-left: 0; }
ul.is-style-checks > li { position: relative; padding-left: 1.9rem; margin-bottom: .55rem; }
ul.is-style-checks > li::before {
	content: ""; position: absolute; left: 0; top: .3em; width: 1.2rem; height: 1.2rem; border-radius: 50%;
	background: #F2F2F0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 70% no-repeat;
}
.has-navy-background-color ul.is-style-checks > li::before, .is-style-ocean ul.is-style-checks > li::before {
	background-color: rgba(255,255,255,.16);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}
ul.is-style-checks.bdc-two-col { columns: 2 18rem; column-gap: 2rem; }
ul.is-style-checks.bdc-two-col > li { break-inside: avoid; }
ol.is-style-numbered { padding-left: 0; list-style: none; counter-reset: bdc; }
ol.is-style-numbered > li { counter-increment: bdc; position: relative; padding-left: 2.6rem; margin-bottom: .75rem; }
ol.is-style-numbered > li::before { content: counter(bdc); position: absolute; left: 0; top: .05em; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: #111111; color: #fff; font: 800 .85rem/1.8rem var(--wp--preset--font-family--heading); text-align: center; }
.bdc-plain-list { list-style: none; padding-left: 0 !important; }
.bdc-plain-list li { margin-bottom: .45rem; }
.bdc-chips { list-style: none; padding-left: 0 !important; display: flex; flex-wrap: wrap; gap: .5rem; }
.bdc-chips li { background: #F2F2F0; color: #050505; border-radius: 3px; padding: .35rem .9rem; font-size: .92rem; font-weight: 600; }
.has-navy-background-color .bdc-chips li, .is-style-ocean .bdc-chips li { background: rgba(255,255,255,.12); color: #fff; }

/* Buttons */
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: #111111; border: 2px solid #111111; padding: calc(.85rem - 2px) calc(1.5rem - 2px); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #111111; color: #fff; }
.wp-block-button.is-style-on-dark > .wp-block-button__link { background: #FFFFFF; color: #050505; }
.wp-block-button.is-style-on-dark > .wp-block-button__link:hover, .wp-block-button.is-style-on-dark > .wp-block-button__link:focus { background: #fff; color: #050505; }
.wp-block-button.is-style-outline-light > .wp-block-button__link { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.7); padding: calc(.85rem - 2px) calc(1.5rem - 2px); }
.wp-block-button.is-style-outline-light > .wp-block-button__link:hover { background: #fff; color: #050505; border-color: #fff; }
.wp-element-button { border-radius: 3px !important; font-weight: 800; letter-spacing: .01em; transition: background-color .15s ease, color .15s ease, transform .15s ease; }
.wp-element-button:hover { transform: translateY(-1px); }

/* Stat tiles */
.bdc-stat strong, .bdc-stat-num { display: block; font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: clamp(1.6rem, 3vw, 2.2rem) !important; line-height: 1.1; color: #050505; margin-bottom: .2rem !important; }
.has-navy-background-color .bdc-stat-num { color: #FFFFFF; }

/* FAQ */
.wp-block-details { margin-bottom: .75rem !important; }
.wp-block-details summary { font-family: var(--wp--preset--font-family--heading); font-weight: 700; color: #050505; cursor: pointer; list-style: none; position: relative; padding-right: 2rem; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: 0; top: -.15em; font-size: 1.5rem; color: #111111; font-weight: 600; }
.wp-block-details[open] summary::after { content: "–"; }
.wp-block-details[open] summary { margin-bottom: .6rem; }

/* Tables */
.wp-block-table table { border-collapse: collapse; width: 100%; background: #fff; font-size: .95rem; }
.wp-block-table th, .wp-block-table td { border: 1px solid #D7D7D2; padding: .6rem .75rem; text-align: left; }
.wp-block-table thead th { background: #050505; color: #fff; }
.wp-block-table figcaption { font-size: .88rem; color: #555552; }

/* Footer */
.bdc-footer { padding-top: var(--wp--preset--spacing--60); padding-bottom: 1.5rem; margin-top: 0 !important; }
.bdc-footer p, .bdc-footer li { color: #D7D7D2; font-size: .96rem; }
.bdc-footer a { color: #fff; text-decoration: none; }
.bdc-footer a:hover { color: #D7D7D2; text-decoration: underline; }
.bdc-footer-logo { gap: .6rem; align-items: center; }
.bdc-footer-logo .wp-block-site-logo { background: #fff; border-radius: 4px; padding: .35rem .5rem; }
.bdc-footer-logo .wp-block-site-logo img { width: 150px; max-width: 150px; display: block; }
.bdc-footer .wp-block-site-title { display: none; }\n.bdc-footer .wp-block-site-title a { color: #fff; }
.bdc-footer-heading { font-size: .82rem !important; letter-spacing: .12em; text-transform: uppercase; color: #FFFFFF !important; margin-bottom: .8rem; }
.bdc-footer-bottom { border-top: 1px solid rgba(255,255,255,.14); margin-top: var(--wp--preset--spacing--50); padding-top: 1.25rem; }
.bdc-footer-bottom p { margin: 0; color: #B0B0AB; }

/* ---------- Contact form ---------- */
.bdc-form { display: grid; gap: 1rem; }
.bdc-form .bdc-row { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
@media (max-width: 640px) { .bdc-form .bdc-row { grid-template-columns: 1fr; } }
.bdc-form label, .bdc-form legend { display: block; font-weight: 700; color: #050505; font-size: .95rem; margin-bottom: .35rem; font-family: var(--wp--preset--font-family--heading); }
.bdc-form .bdc-req { color: #111111; }
.bdc-form input[type=text], .bdc-form input[type=email], .bdc-form input[type=tel], .bdc-form input[type=url], .bdc-form select, .bdc-form textarea {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; color: #050505;
	border: 1.5px solid #BEBEB9; border-radius: 4px; padding: .75rem .9rem; background: #fff;
}
.bdc-form textarea { min-height: 8rem; resize: vertical; }
.bdc-form input:focus, .bdc-form select:focus, .bdc-form textarea:focus { border-color: #111111; outline: 3px solid rgba(0,0,0,.28); outline-offset: 1px; }
.bdc-form [aria-invalid="true"] { border-color: #B42318; }
.bdc-form fieldset { border: 0; padding: 0; margin: 0; }
.bdc-chipset { display: flex; flex-wrap: wrap; gap: .5rem; }
.bdc-chipset label { display: inline-flex; align-items: center; gap: .45rem; font-weight: 600; font-family: inherit; background: #F7F7F5; border: 1.5px solid #D0D0CC; border-radius: 3px; padding: .4rem .85rem; margin: 0; cursor: pointer; }
.bdc-chipset input { width: 1.05rem; height: 1.05rem; accent-color: #111111; }
.bdc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.bdc-form button[type=submit] {
	justify-self: start; border: 0; cursor: pointer; background: #111111; color: #fff; border-radius: 3px;
	padding: .9rem 1.6rem; font: 700 1rem var(--wp--preset--font-family--heading);
}
.bdc-form button[type=submit]:hover, .bdc-form button[type=submit]:focus { background: #2A2A2A; }
.bdc-form button[disabled] { opacity: .7; cursor: wait; }
.bdc-form-status { margin: 0; padding: .8rem 1rem; border-radius: 4px; background: #F2F2F0; color: #050505; font-weight: 600; }
.bdc-form-status.is-error { background: #FDECEC; color: #7A1A12; }
.bdc-form-fine { font-size: .88rem; color: #555552; margin: 0; }
.bdc-form-placeholder { border: 2px dashed #999995; border-radius: 6px; padding: 1.5rem; background: #F7F7F5; color: #050505; }

/* ---------- Responsive ---------- */
@media (max-width: 781px) {
	.bdc-hero .wp-block-columns { gap: 2rem; }
	.wp-block-columns.bdc-reverse-mobile { flex-direction: column-reverse; }
	.bdc-footer-cols { gap: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.wp-element-button { transition: none; }
	.wp-element-button:hover { transform: none; }
}

/* Keep full-width sections flush (no white stripes between bands). */
.wp-site-blocks > main, .wp-site-blocks > footer, .wp-site-blocks > .bdc-main { margin-block-start: 0; }
.wp-site-blocks > header + * { margin-block-start: 0; }
.bdc-main > .bdc-breadcrumbs + .wp-block-post-content { margin-block-start: 0; }

/* Layout helpers used by the starter pages */
.bdc-narrow { max-width: 820px; margin-left: auto !important; margin-right: auto !important; }
.bdc-narrow-wide { max-width: 1000px; margin-left: auto !important; margin-right: auto !important; }
.bdc-hero-narrow { max-width: 820px; }
.bdc-hero-short { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.bdc-slim { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.bdc-chip-row .bdc-chips, .bdc-center .bdc-chips { justify-content: center; }
.bdc-chip-row p { margin-bottom: .6rem !important; }
.bdc-chips a { color: inherit; text-decoration: none; }
.bdc-chips a:hover { text-decoration: underline; }
.bdc-facts { gap: 1rem 1.5rem; }
.bdc-facts p { margin: 0; font-size: .96rem; }
.bdc-facts strong { color: #111111; font-family: var(--wp--preset--font-family--heading); font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; }
.bdc-section > * + * { margin-block-start: var(--wp--preset--spacing--40); }
.bdc-section-head + * { margin-block-start: 0 !important; }
.bdc-step h3 { color: #fff; }
.bdc-founder h2 { font-size: var(--wp--preset--font-size--x-large); }
.bdc-form-card h2 { font-size: var(--wp--preset--font-size--x-large); }
.bdc-hero .wp-block-buttons { margin-top: 1.5rem; }
.bdc-hero ul.is-style-checks { margin-top: 1.25rem; display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; }
.bdc-hero ul.is-style-checks > li { margin-bottom: 0; }

/* Mobile menu: left-aligned, large tap targets, with the checkup button. */
.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-item { width: 100%; border-bottom: 1px solid #E8E8E5; }
.bdc-topbar.has-navy-background-color a:where(:not(.wp-element-button)) { color: #fff; text-decoration: none; }
.bdc-topbar.has-navy-background-color a:hover { color: #D7D7D2; text-decoration: underline; }

.wp-block-column > :is(.is-style-card, .is-style-card-accent) + :is(.is-style-card, .is-style-card-accent) { margin-top: 1.25rem; }
/* Breadcrumb bar runs edge to edge. */
.bdc-main > .bdc-breadcrumbs { margin-left: calc(-1 * var(--wp--style--root--padding-left, 0px)) !important; margin-right: calc(-1 * var(--wp--style--root--padding-right, 0px)) !important; }
/* Short heroes line up with the wide content edge. */
.bdc-hero-narrow { max-width: 1180px !important; }
.bdc-hero-narrow > * { max-width: 820px; margin-left: 0 !important; }

/* Approved horizontal wordmark in native image blocks. */
.bdc-brand > .wp-block-image { margin: 0; width: 180px; flex: 0 0 auto; }
.bdc-brand > .wp-block-image img { width: 180px !important; height: auto; border-radius: 0; }
.knect-footer-wordmark { margin: 0; width: 180px; }
.knect-footer-wordmark img { width: 180px !important; height: auto; border-radius: 0; filter: invert(1); }
@media (max-width: 599px) {
	.bdc-brand > .wp-block-image, .bdc-brand > .wp-block-image img { width: 125px !important; }
}
/* Knect final image and white-wordmark treatment. */
.wp-block-post-content .wp-block-image img { filter: grayscale(1); }
.bdc-footer .knect-footer-wordmark img { filter: none !important; }
