/* ==========================================================================
   Bot It — BLUEPRINT design pass (2026-09-15)
   Loaded after main.css and botit-hero.css. Drafting-table genre: pale
   blue-grey paper with a faint grid, ink-blue line work, hard corners,
   hairline rules, monospace labels. One accent (ink blue), one annotation
   color (drafting red) used sparingly.
   ========================================================================== */

:root {
  /* paper + ink */
  --bi-bg:      #EDF2F7;          /* paper */
  --bi-surface: #FFFFFF;          /* sheet */
  --bi-text:    #0E2B4E;          /* ink */
  --bi-muted:   #4F627A;          /* secondary ink */
  --bi-border:  rgba(14,43,78,0.28);
  --bp-rule:    rgba(14,43,78,0.16);
  --bp-grid:    rgba(14,43,78,0.075);
  --bp-grid-major: rgba(14,43,78,0.14);
  /* the three old accents all collapse to ink blue so nothing turns neon */
  --bi-cyan:    #1B4F9C;
  --bi-violet:  #1B4F9C;
  --bi-pink:    #1B4F9C;
  --bp-accent:  #1B4F9C;          /* ink blue */
  --bp-mark:    #C8451F;          /* drafting red — annotations only */
  /* gradients and glows become flat / none */
  --bi-grad-primary: linear-gradient(#1B4F9C, #1B4F9C);
  --bi-grad-warm:    linear-gradient(#1B4F9C, #1B4F9C);
  --bi-grad-full:    linear-gradient(#1B4F9C, #1B4F9C);
  --bi-grad-bg:      #EDF2F7;
  --bi-glow-cyan:   none;
  --bi-glow-violet: none;
  --bi-glow-pink:   none;
  --bp-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --bp-sans: 'IBM Plex Sans', 'Inter', system-ui, sans-serif;
}

/* ---- Paper + grid ------------------------------------------------------ */
html { background: var(--bi-bg); }
body {
  font-family: var(--bp-sans);
  color: var(--bi-text);
  background-color: var(--bi-bg);
  background-image:
    linear-gradient(var(--bp-grid-major) 1px, transparent 1px),
    linear-gradient(90deg, var(--bp-grid-major) 1px, transparent 1px),
    linear-gradient(var(--bp-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--bp-grid) 1px, transparent 1px);
  background-size: 120px 120px, 120px 120px, 24px 24px, 24px 24px;
  background-position: -1px -1px;
}
h1, h2, h3, h4, h5, h6 { font-family: var(--bp-sans); color: var(--bi-text); letter-spacing: -0.015em; }
a { color: var(--bp-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--bi-text); }
.botit-gradient-text { background: none; -webkit-text-fill-color: currentColor; color: var(--bp-accent); }
strong { color: var(--bi-text); }
code, .botit-mono { font-family: var(--bp-mono); font-size: 0.9em; }
.entry-content code, code { background: rgba(14,43,78,0.06); border: 1px solid var(--bp-rule); border-radius: 0; padding: 0.05em 0.35em; color: var(--bi-text); }

/* Kill the rounded-corner language site-wide, then re-allow circles where needed. */
*, *::before, *::after { border-radius: 0 !important; }
.botit-timeline-marker, .botit-flow-dot, .botit-social-link, .top-button, .botit-mockup-product-img { border-radius: 0 !important; }
.form-check-input[type="radio"] { border-radius: 50% !important; }

/* Drop glows, shimmer, pulse, hover-lift everywhere. */
[class*="botit-"], .btn { box-shadow: none !important; animation: none !important; text-shadow: none; }
.botit-feature-card:hover, .botit-pricing-card:hover, .botit-usecase-card:hover, .botit-post-card:hover,
.btn-botit-primary:hover, .botit-step-card:hover, .botit-flow-node:hover { transform: none !important; }
.botit-feature-card::after, .botit-announcement-bar::after { display: none !important; }

/* Section rhythm: sheets separated by hairline rules rather than color blocks. */
.py-section { padding: 5rem 0; border-top: 1px solid var(--bp-rule); }
.py-section:first-child { border-top: 0; }
section[style*="var(--bi-surface)"] { background: rgba(255,255,255,0.55) !important; }
.botit-section-headline { font-weight: 600; font-size: clamp(1.6rem, 2.6vw, 2.2rem); }
.botit-section-sub { color: var(--bi-muted); }

/* ---- Header ------------------------------------------------------------ */
.botit-header { background: rgba(237,242,247,0.92) !important; backdrop-filter: blur(6px); border-bottom: 1px solid var(--bi-text); }
.botit-scrolled .botit-header { background: rgba(237,242,247,0.98) !important; }
.botit-brand-name, .botit-wordmark { color: var(--bi-text); font-family: var(--bp-mono); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; font-size: 1rem; }
.botit-wordmark-dot { color: var(--bp-mark); filter: none; }
#nav-main .navbar-nav .nav-link { color: var(--bi-muted); font-family: var(--bp-mono); font-size: 0.8rem; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; }
#nav-main .navbar-nav .nav-link:hover, #nav-main .navbar-nav .current-menu-item > .nav-link { color: var(--bi-text); }
#nav-main .navbar-nav .current-menu-item > .nav-link { border-bottom: 2px solid var(--bp-mark); }
.botit-announcement-bar { background: var(--bi-text); color: #EDF2F7; font-family: var(--bp-mono); font-size: 0.78rem; letter-spacing: 0.03em; }
.botit-announcement-bar a { color: #fff; text-decoration: underline; }
.botit-mobile-nav, .botit-mobile-nav-body, .offcanvas { background: var(--bi-bg) !important; color: var(--bi-text); }
.botit-mobile-nav .navbar-nav .nav-link { color: var(--bi-text); }
.nav-toggler, .botit-mobile-nav-header .btn-close { color: var(--bi-text); filter: none; }

/* ---- Buttons ----------------------------------------------------------- */
.btn-botit-primary, .btn-botit-ghost {
  font-family: var(--bp-mono); font-weight: 600; font-size: 0.82rem; letter-spacing: 0.06em; text-transform: uppercase;
  padding: 0.7rem 1.25rem; text-decoration: none; transition: background 0.15s, color 0.15s;
}
.btn-botit-primary { background: var(--bi-text); color: #fff; border: 1px solid var(--bi-text); }
.btn-botit-primary:hover { background: var(--bp-accent); border-color: var(--bp-accent); color: #fff; }
.btn-botit-ghost { background: transparent; color: var(--bi-text); border: 1px solid var(--bi-text); }
.btn-botit-ghost:hover { background: var(--bi-text); color: #fff; }
.btn-lg.btn-botit-primary, .btn-lg.btn-botit-ghost { padding: 0.9rem 1.6rem; font-size: 0.88rem; }

/* ---- Labels (was: pills / badges) -------------------------------------- */
.botit-badge-pill, .botit-hero-badge, .botit-pricing-badge, .botit-agent-badge, .botit-metric-badge, .botit-flow-node-badge, .botit-mockup-card--badge {
  font-family: var(--bp-mono); font-size: 0.72rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase;
  background: transparent; color: var(--bi-text); border: 1px solid var(--bi-text); padding: 0.25rem 0.6rem;
}
.botit-badge-pill::before, .botit-hero-badge::before { content: "// "; color: var(--bp-mark); }
.botit-pricing-badge { background: var(--bi-text); color: #fff; }
.botit-agent-badge { color: var(--bi-muted); border-color: var(--bp-rule); }

/* ---- Sheets (was: cards) ----------------------------------------------- */
.botit-feature-card, .botit-usecase-card, .botit-step-card, .botit-pricing-card, .botit-post-card,
.botit-flow-node, .botit-chart-container, .botit-alt-feature-mockup, .botit-accordion .accordion-item, .botit-stat-card {
  background: var(--bi-surface); border: 1px solid var(--bi-text); position: relative;
}
/* drafting-sheet corner ticks */
.botit-feature-card::before, .botit-usecase-card::before, .botit-pricing-card::before, .botit-step-card::before, .botit-post-card::before {
  content: ""; position: absolute; top: 6px; left: 6px; right: 6px; bottom: 6px; pointer-events: none;
  background:
    linear-gradient(var(--bp-rule), var(--bp-rule)) top left / 10px 1px no-repeat,
    linear-gradient(var(--bp-rule), var(--bp-rule)) top left / 1px 10px no-repeat,
    linear-gradient(var(--bp-rule), var(--bp-rule)) top right / 10px 1px no-repeat,
    linear-gradient(var(--bp-rule), var(--bp-rule)) top right / 1px 10px no-repeat,
    linear-gradient(var(--bp-rule), var(--bp-rule)) bottom left / 10px 1px no-repeat,
    linear-gradient(var(--bp-rule), var(--bp-rule)) bottom left / 1px 10px no-repeat,
    linear-gradient(var(--bp-rule), var(--bp-rule)) bottom right / 10px 1px no-repeat,
    linear-gradient(var(--bp-rule), var(--bp-rule)) bottom right / 1px 10px no-repeat;
  opacity: 0.9;
}
.botit-feature-card:hover, .botit-usecase-card:hover, .botit-post-card:hover, .botit-step-card:hover { border-color: var(--bp-accent); }
.botit-feature-icon, .botit-alt-feature-icon, .botit-usecase-icon {
  color: var(--bi-text) !important; font-size: 1.1rem !important; width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--bi-text); margin-bottom: 1rem;
}
.botit-usecase-icon { width: 44px; height: 44px; font-size: 1.4rem !important; margin: 0 auto 1rem; }
.botit-feature-title, .botit-usecase-title, .botit-timeline-title, .botit-step-card h3, .botit-post-title { font-weight: 600; }
.botit-feature-desc, .botit-usecase-desc, .botit-timeline-desc, .botit-step-card p { color: var(--bi-muted); }
.botit-feature-card--cyan, .botit-feature-card--violet, .botit-feature-card--pink { border-color: var(--bi-text); }

/* pricing */
.botit-pricing-card--featured { border: 2px solid var(--bi-text); background: var(--bi-surface); }
.botit-pricing-price { font-family: var(--bp-mono); font-weight: 600; }
.botit-pricing-plan { font-family: var(--bp-mono); color: var(--bi-muted); }
.botit-pricing-features li::before { content: "—"; color: var(--bp-accent); }
.botit-pricing-divider { border-top: 1px solid var(--bp-rule); }
.botit-comparison-table { border: 1px solid var(--bi-text); background: var(--bi-surface); }
.botit-comparison-table th { font-family: var(--bp-mono); font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--bi-muted); border-bottom: 1px solid var(--bi-text) !important; background: transparent !important; }
.botit-comparison-table td, .botit-comparison-table th { border-color: var(--bp-rule) !important; color: var(--bi-text); }
.botit-comparison-table .bi-featured { background: rgba(27,79,156,0.06) !important; }
.botit-comparison-table .bi-check { color: var(--bp-accent); }
.botit-comparison-table .bi-no { color: var(--bp-rule); }

/* stats */
.botit-stats-section { background: transparent !important; border-top: 1px solid var(--bi-text); border-bottom: 1px solid var(--bi-text); }
.botit-stat-card { border: 0; border-left: 1px solid var(--bp-rule); background: transparent; }
.botit-stat-number { font-family: var(--bp-mono); font-weight: 600; color: var(--bi-text) !important; font-size: 3rem; }
.botit-stat-label { color: var(--bi-muted); font-size: 0.9rem; }
.botit-stat-source { font-family: var(--bp-mono); font-size: 0.7rem; color: var(--bp-mark); display: block; margin-top: 0.35rem; letter-spacing: 0.04em; }

/* flow diagram / timeline: dimension-line language */
.botit-flow-node { border: 1px solid var(--bi-text); background: var(--bi-surface); }
.botit-flow-node--center { border-width: 2px; }
.botit-flow-icon { color: var(--bi-text) !important; }
.botit-flow-line, .botit-timeline::before { background: var(--bi-text) !important; width: 1px; }
.botit-flow-dot { background: var(--bp-mark) !important; }
.botit-timeline-marker { background: var(--bi-surface) !important; border: 1px solid var(--bi-text); color: var(--bi-text) !important; font-family: var(--bp-mono); }
.botit-flow-title, .botit-flow-desc { color: var(--bi-text); }
.botit-flow-desc { color: var(--bi-muted); }

/* accordion */
.botit-accordion .accordion-button { background: var(--bi-surface) !important; color: var(--bi-text) !important; font-weight: 600; }
.botit-accordion .accordion-button::after { filter: none; }
.botit-accordion .accordion-body { color: var(--bi-muted); background: var(--bi-surface); border-top: 1px solid var(--bp-rule); }

/* CTA + footer */
.botit-cta-section, .botit-footer-cta { background: var(--bi-text) !important; color: #EDF2F7; }
.botit-cta-section h2, .botit-cta-inner h2, .botit-footer-cta-headline, .botit-cta-section p, .botit-cta-inner p { color: #EDF2F7 !important; }
.botit-cta-section .botit-gradient-text { color: #9DC0F0; }
.botit-cta-section .btn-botit-primary { background: #EDF2F7; color: var(--bi-text); border-color: #EDF2F7; }
.botit-cta-section .btn-botit-ghost { color: #EDF2F7; border-color: #EDF2F7; }
.botit-cta-section .btn-botit-ghost:hover { background: #EDF2F7; color: var(--bi-text); }
.botit-footer { background: var(--bi-bg) !important; border-top: 1px solid var(--bi-text); }
.botit-footer-agents { background: transparent !important; border-bottom: 1px solid var(--bp-rule); }
.botit-footer-links a, .botit-footer-legal a { color: var(--bi-muted); text-decoration: none; }
.botit-footer-links a:hover, .botit-footer-legal a:hover { color: var(--bi-text); text-decoration: underline; }
.botit-footer h5, .botit-footer h6, .botit-footer-heading { font-family: var(--bp-mono); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--bi-text); }
.botit-social-link { border: 1px solid var(--bi-text); color: var(--bi-text) !important; background: transparent !important; }
.top-button { background: var(--bi-text) !important; color: #fff !important; }
.botit-cookie-bar { background: var(--bi-surface) !important; border-top: 1px solid var(--bi-text); color: var(--bi-text); }

/* ---- Hero (overrides botit-hero.css) ----------------------------------- */
.botit-hero { background: transparent; padding: 6rem 0 5rem; border-bottom: 1px solid var(--bi-text); }
.botit-hero::before { display: none; }
.botit-hero-headline { font-family: var(--bp-sans); font-weight: 600; letter-spacing: -0.02em; color: var(--bi-text); }
.botit-hero-headline .botit-gradient-text { color: var(--bp-accent); }
.botit-hero-sub { color: var(--bi-muted); }
.botit-hero-sub strong { color: var(--bi-text); }
.botit-mockup-card { background: var(--bi-surface); border: 1px solid var(--bi-text); backdrop-filter: none; -webkit-backdrop-filter: none; }
.botit-mockup-label, .botit-mockup-stat-label, .botit-score-label { font-family: var(--bp-mono); color: var(--bi-muted); }
.botit-mockup-label::before { content: "FIG. 01  "; color: var(--bp-mark); }
.botit-mockup-product-img { background: repeating-linear-gradient(45deg, rgba(14,43,78,0.18) 0 2px, transparent 2px 8px); border: 1px solid var(--bi-text); opacity: 1; }
.botit-mockup-line { background: rgba(14,43,78,0.14); }
.botit-mockup-line--title { background: rgba(14,43,78,0.32); }
.botit-mockup-score { background: transparent; border: 1px dashed var(--bi-text); }
.botit-score-value { color: var(--bp-accent); }
.botit-mockup-stat-value { background: none; -webkit-text-fill-color: currentColor; color: var(--bi-text); font-family: var(--bp-mono); }
.botit-mockup-card--badge { background: var(--bi-surface); }
.botit-mockup-badge-icon { color: var(--bp-mark); }

/* chart */
.botit-chart-container { padding: 1rem; }

/* legal / entry content */
.entry-content, .entry-content p, .entry-content li { color: var(--bi-text); }
.entry-content h2, .entry-content h3 { color: var(--bi-text); }
blockquote { border-left: 2px solid var(--bp-mark); color: var(--bi-muted); }
nav[aria-label="breadcrumb"] { background: transparent; }
.breadcrumb-item a { color: var(--bi-muted); }

@media (max-width: 767.98px) {
  body { background-size: 96px 96px, 96px 96px, 24px 24px, 24px 24px; }
}

/* ---- Flow diagram fixes (feedback 2026-09-15) ------------------------- */
/* Labels get a solid paper fill so the drafting grid never runs through them. */
.botit-badge-pill, .botit-hero-badge, .botit-agent-badge, .botit-metric-badge, .botit-flow-connector-label {
  background: var(--bi-bg);
}
.botit-flow-node-badge {
  top: -0.7rem; z-index: 2;
  background: var(--bi-surface); color: var(--bi-text); border: 1px solid var(--bi-text);
  padding: 0.15rem 0.6rem; line-height: 1.4;
}
.botit-flow-node-badge::before { content: "// "; color: var(--bp-mark); }
.botit-flow-connector { width: 150px; gap: 8px; }
.botit-flow-connector-label {
  font-family: var(--bp-mono); font-size: 0.66rem; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--bi-muted); padding: 0.1rem 0.4rem; border: 1px solid var(--bp-rule);
}
/* the connector is a 1px ink dimension line with an arrowhead */
.botit-flow-line { height: 1px !important; background: var(--bi-text) !important; overflow: visible; }
.botit-flow-line::after {
  content: ""; position: absolute; right: -1px; top: -4px;
  border-left: 7px solid var(--bi-text); border-top: 4px solid transparent; border-bottom: 4px solid transparent;
}
/* keep the travelling marker (motion is welcome), drawn as a small red diamond */
.botit-flow-dot {
  width: 7px !important; height: 7px !important; top: -3px; left: 0;
  background: var(--bp-mark) !important; transform: rotate(45deg);
  animation: travel 2.4s linear infinite !important;
}
@media (prefers-reduced-motion: reduce) { .botit-flow-dot { animation: none !important; left: 50%; } }

/* ---- Feedback round 2: type scale, label size, hero sheet composition --- */
:root { --bp-label: 0.82rem; }
html { font-size: 17px; }
body { line-height: 1.65; }
p, li { font-size: 1.02rem; }
.botit-section-sub { font-size: 1.15rem; max-width: 620px; }
.botit-hero-sub { font-size: 1.22rem; max-width: 44rem; }
.botit-feature-desc, .botit-usecase-desc, .botit-timeline-desc, .botit-step-card p, .botit-post-card p { font-size: 1rem; line-height: 1.65; }
.botit-feature-title, .botit-usecase-title, .botit-timeline-title, .botit-step-card h3 { font-size: 1.15rem; }
.botit-flow-desc { font-size: 0.95rem; }
.botit-flow-title { font-size: 1.05rem; }
.botit-pricing-features li { font-size: 1rem; }
.botit-stat-label { font-size: 1rem; }
.botit-accordion .accordion-button { font-size: 1.05rem; }
.botit-accordion .accordion-body { font-size: 1rem; }
.botit-comparison-table td, .botit-comparison-table th { font-size: 0.98rem; }
.botit-comparison-table th { font-size: 0.8rem; }

/* labels: one size everywhere, no more 0.65rem specks */
.botit-badge-pill, .botit-hero-badge, .botit-pricing-badge, .botit-agent-badge, .botit-metric-badge,
.botit-flow-node-badge, .botit-flow-connector-label, .botit-mockup-card--badge, .botit-mockup-label,
.botit-mockup-stat-label, .botit-score-label, .botit-stat-source {
  font-size: var(--bp-label) !important; padding: 0.3rem 0.7rem; line-height: 1.4;
}
.botit-flow-node-badge { top: -0.95rem; }
.botit-flow-connector { width: 190px; }
.botit-flow-line { height: 1.5px !important; }
.botit-flow-node { max-width: 250px; padding: 2rem 1.5rem; }
#nav-main .navbar-nav .nav-link { font-size: 0.9rem; }
.btn-botit-primary, .btn-botit-ghost { font-size: 0.9rem; }
.btn-lg.btn-botit-primary, .btn-lg.btn-botit-ghost { font-size: 0.95rem; }

/* hero mockup: one composed drawing sheet, tabs attached to its edges */
.botit-hero-mockup { min-height: 0; padding: 1.5rem 0 2.5rem 0; }
.botit-mockup-card--main { padding: 1.75rem; }
.botit-mockup-label { padding: 0; margin-bottom: 1.25rem; }
.botit-mockup-line { height: 14px; margin-bottom: 0.75rem; }
.botit-mockup-line--title { height: 16px; width: 85%; }
.botit-mockup-line--sub { width: 60%; }
.botit-mockup-product-img { width: 96px; height: 96px; }
.botit-mockup-score { margin-top: 1rem; padding: 0.6rem 0.9rem; }
.botit-score-label { padding: 0; }
.botit-mockup-card--badge {
  top: -1.1rem; right: 1.25rem; left: auto; bottom: auto;
  padding: 0.3rem 0.75rem; gap: 0.5rem;
}
.botit-mockup-card--stat {
  bottom: -1.6rem; left: 1.25rem; right: auto; top: auto;
  padding: 0.9rem 1.25rem; min-width: 190px;
}
.botit-mockup-stat-value { font-size: 1.6rem; line-height: 1.1; }
.botit-mockup-stat-label { padding: 0; margin-top: 0.15rem; }

/* ---- Feedback round 3: quieter grid ------------------------------------ */
:root {
  --bp-grid: rgba(14,43,78,0.045);
  --bp-grid-major: rgba(14,43,78,0.085);
}
/* Long-form reading surfaces sit on plain paper: no grid behind body text. */
.entry-content, .botit-accordion, .botit-comparison-table, .single .entry-content, .page-template-default .entry-content {
  background: var(--bi-bg);
}
.single main, .archive main, .page-template-default main { background: rgba(237,242,247,0.85); }

/* ---- Feedback round 4: grid halfway between rounds 2 and 3 ------------- */
:root {
  --bp-grid: rgba(14,43,78,0.06);
  --bp-grid-major: rgba(14,43,78,0.11);
}

/* ---- Feedback round 5: grid back up, just under the original ----------- */
:root {
  --bp-grid: rgba(14,43,78,0.07);
  --bp-grid-major: rgba(14,43,78,0.13);
}
/* let the grid show through reading pages again, only slightly veiled */
.single main, .archive main, .page-template-default main { background: rgba(237,242,247,0.5); }

/* ---- Feedback round 6: flow connectors — spacing and arrowheads -------- */
.botit-flow-diagram { gap: 0; padding: 2.5rem 0; }
.botit-flow-node { max-width: 240px; min-width: 200px; }
.botit-flow-connector {
  position: relative; z-index: 3;          /* paint above the following card */
  width: 210px; padding: 0 1rem; gap: 10px;
}
.botit-flow-line { height: 2px !important; background: var(--bi-text) !important; }
.botit-flow-line::after {
  right: 0; top: -5px;
  border-left: 9px solid var(--bi-text); border-top: 6px solid transparent; border-bottom: 6px solid transparent;
}
.botit-flow-dot { top: -3px; }
.botit-flow-connector-label {
  font-size: 0.74rem !important; letter-spacing: 0.04em; padding: 0.2rem 0.45rem;
  max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
@media (max-width: 1199.98px) {
  .botit-flow-connector { width: 170px; }
  .botit-flow-connector-label { font-size: 0.68rem !important; }
}
@media (max-width: 991.98px) {
  .botit-flow-diagram { flex-direction: column; }
  .botit-flow-node { max-width: 100%; width: 100%; }
  .botit-flow-connector { width: 100%; padding: 0.5rem 0; }
  .botit-flow-line { width: 2px !important; height: 40px !important; }
  .botit-flow-line::after {
    right: -5px; top: auto; bottom: 0;
    border-top: 9px solid var(--bi-text); border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 0;
  }
  .botit-flow-dot { display: none; }
}

/* ---- Feedback round 7: full-width flow section, line restored ---------- */
.botit-flow-section .container { max-width: 1360px; }
.botit-flow-section .botit-flow-diagram { justify-content: space-between; padding: 2.5rem 0 3rem; }
.botit-flow-node { max-width: 300px; min-width: 240px; flex: 0 1 300px; }
.botit-flow-connector { flex: 1 1 auto; width: auto; min-width: 200px; padding: 0 1.25rem; }
.botit-flow-line { width: 100% !important; height: 2px !important; }
.botit-flow-connector-label {
  font-size: 0.8rem !important; letter-spacing: 0.06em; padding: 0.25rem 0.6rem;
  overflow: visible; text-overflow: clip; max-width: none;
}
@media (max-width: 1199.98px) {
  .botit-flow-connector { min-width: 150px; }
  .botit-flow-connector-label { font-size: 0.72rem !important; }
}
@media (max-width: 991.98px) {
  .botit-flow-node { flex-basis: auto; }
  .botit-flow-line { width: 2px !important; }
}

/* ---- Feedback round 8: pricing cards align ----------------------------- */
.botit-pricing-card { display: flex; flex-direction: column; }
.botit-pricing-card .botit-pricing-features { flex: 1 1 auto; }
.botit-pricing-card > .btn { margin-top: auto; }
.botit-pricing-note {
  font-family: var(--bp-mono); font-size: var(--bp-label); letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--bp-accent); font-weight: 600; margin-bottom: 1rem; min-height: 1.4em;
}

/* ---- Feedback round 9: footer CTA contrast, wordmark dot, tagline ------ */
.botit-footer-cta .btn-botit-primary { background: #EDF2F7; color: var(--bi-text); border-color: #EDF2F7; }
.botit-footer-cta .btn-botit-primary:hover { background: #9DC0F0; border-color: #9DC0F0; color: var(--bi-text); }
.botit-footer-cta .btn-botit-ghost { color: #EDF2F7; border-color: #EDF2F7; }
.botit-footer-cta p { color: #C9D6E6; }
/* wordmark: BOT IT with a small drafting-red square marker, not a bullet glued between the words */
.botit-wordmark { display: inline-flex; align-items: center; gap: 0.35em; font-size: 1.05rem; }
.botit-wordmark-dot { font-size: 0; width: 0.45em; height: 0.45em; background: var(--bp-mark); display: inline-block; }
.botit-footer-tagline { max-width: 340px; font-size: 0.98rem; color: var(--bi-muted); }

/* ---- Mobile pass 1: stacked flow diagram spacing ----------------------- */
@media (max-width: 991.98px) {
  .botit-flow-diagram { padding: 1.5rem 0 2rem; }
  .botit-flow-node { margin: 0; }
  .botit-flow-node--center { margin-top: 0.5rem; }          /* room for the // YOU ARE HERE tag */
  .botit-flow-connector { padding: 0.75rem 0 1.9rem; gap: 0.6rem; min-width: 0; }
  .botit-flow-line { height: 36px !important; }
  .botit-flow-connector-label { margin-top: 0.1rem; }
}

/* ---- Sticky header ----------------------------------------------------- */
/* overflow-x:hidden on body/#page turns them into scroll containers and
   defeats position:sticky; clip keeps the horizontal clamp without that. */
html, body, #page { overflow-x: clip !important; overflow-y: visible !important; }
.botit-header.sticky-top { position: sticky; top: 0; z-index: 1030; }

/* ---- Mobile pass 2: hamburger + drawer in ink --------------------------- */
.nav-toggler, .btn-outline-secondary.nav-toggler {
  border: 1px solid var(--bi-text) !important; color: var(--bi-text) !important; background: transparent !important;
  padding: 0.4rem 0.6rem;
}
.nav-toggler:hover, .nav-toggler:focus, .nav-toggler:active { background: var(--bi-text) !important; color: #EDF2F7 !important; box-shadow: none !important; }
.botit-mobile-nav { border-left: 1px solid var(--bi-text); }
.botit-mobile-nav-header { border-bottom: 1px solid var(--bp-rule); }
.botit-mobile-nav .navbar-nav .nav-link { font-family: var(--bp-mono); font-size: 0.95rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--bi-text); text-decoration: none; border-bottom: 1px solid var(--bp-rule); padding: 0.9rem 0; }
.botit-mobile-nav .navbar-nav .current-menu-item > .nav-link { color: var(--bp-accent); }
.botit-mobile-nav .btn-close { filter: none; opacity: 1; }

/* ---- How It Works vertical connectors: ink line, red diamond marker ---- */
.botit-vflow-line { background: var(--bi-text) !important; width: 1.5px !important; height: 34px !important; }
.botit-vflow-dot {
  width: 7px !important; height: 7px !important; left: -2.75px !important;
  background: var(--bp-mark) !important; box-shadow: none !important; border-radius: 0 !important;
  transform: rotate(45deg); animation: travel-v 2.4s linear infinite !important;
}
@media (prefers-reduced-motion: reduce) { .botit-vflow-dot { animation: none !important; top: 50% !important; } }

/* ---- Inline plan tags inside headings (Pro) ---------------------------- */
h1 .botit-badge-pill, h2 .botit-badge-pill, h3 .botit-badge-pill, .botit-feature-title .botit-badge-pill {
  display: inline-block; vertical-align: 0.15em; margin: 0 0 0 0.5rem !important;
  font-size: 0.7rem !important; letter-spacing: 0.12em; padding: 0.15rem 0.45rem; line-height: 1.3;
  background: var(--bi-text); color: #EDF2F7; border-color: var(--bi-text); white-space: nowrap;
}
h1 .botit-badge-pill::before, h2 .botit-badge-pill::before, h3 .botit-badge-pill::before, .botit-feature-title .botit-badge-pill::before { content: none; }

/* ---- Bootstrap light mode + comparison table on paper ------------------ */
:root, [data-bs-theme="light"], [data-bs-theme="dark"] {
  --bs-body-bg: #EDF2F7; --bs-body-color: #0E2B4E; --bs-border-color: rgba(14,43,78,0.28);
  --bs-table-bg: transparent; --bs-table-color: #0E2B4E; --bs-table-border-color: rgba(14,43,78,0.16);
  --bs-table-striped-bg: rgba(14,43,78,0.03); --bs-table-hover-bg: rgba(27,79,156,0.05);
  --bs-secondary-color: #4F627A; --bs-tertiary-bg: #FFFFFF; --bs-emphasis-color: #0E2B4E;
}
.botit-comparison-table, .botit-comparison-table thead, .botit-comparison-table tbody, .botit-comparison-table tr,
.botit-comparison-table th, .botit-comparison-table td {
  background: var(--bi-surface) !important; color: var(--bi-text) !important; box-shadow: none !important;
}
.botit-comparison-table td { border-bottom: 1px solid var(--bp-rule) !important; color: var(--bi-text) !important; }
.botit-comparison-table th { background: rgba(14,43,78,0.04) !important; }
.botit-comparison-table th.bi-featured, .botit-comparison-table td.bi-featured { background: rgba(27,79,156,0.07) !important; }
.botit-comparison-table th.bi-featured { color: var(--bp-accent) !important; }
.botit-comparison-table .bi-no { color: var(--bi-muted) !important; opacity: 0.45; }
/* keep the first column readable on small screens: scroll the table, don't wrap every word */
.table-responsive .botit-comparison-table { min-width: 720px; }
.botit-comparison-table td:first-child, .botit-comparison-table th:first-child { min-width: 260px; }

/* ---- Inline plan tag inside list items --------------------------------- */
.botit-pricing-features li { flex-wrap: wrap; }
.botit-pricing-features li .botit-inline-tag {
  display: inline-block; margin: 0 0 0 0.35rem !important; vertical-align: 0.1em;
  font-size: 0.68rem !important; letter-spacing: 0.12em; padding: 0.1rem 0.4rem; line-height: 1.3;
  background: var(--bi-text); color: #EDF2F7; border-color: var(--bi-text); white-space: nowrap;
}
.botit-pricing-features li .botit-inline-tag::before { content: none; }

/* ---- Nav: one active indicator, not two -------------------------------- */
#nav-main .navbar-nav .nav-link::after, #nav-main .navbar-nav .current-menu-item > .nav-link::after { display: none !important; content: none !important; }
#nav-main .navbar-nav .nav-link { border-bottom: 2px solid transparent; padding-bottom: 0.35rem; }
#nav-main .navbar-nav .current-menu-item > .nav-link { border-bottom-color: var(--bp-mark); color: var(--bi-text); }
#nav-main .navbar-nav .nav-link:hover { border-bottom-color: var(--bp-rule); }

/* ---- Reading pages: breathing room inside the veiled sheet ------------- */
.single main, .archive main, .page-template-default main { padding-left: 2rem; padding-right: 2rem; }
.single .entry-content, .page-template-default .entry-content { padding: 0.5rem 1.5rem 2rem; }
@media (max-width: 767.98px) {
  .single main, .archive main, .page-template-default main { padding-left: 1rem; padding-right: 1rem; }
  .single .entry-content, .page-template-default .entry-content { padding: 0.5rem 0.75rem 1.5rem; }
}

/* ---- Paper lightened for copy contrast (2026-09-16) -------------------- */
:root { --bi-bg: #F5F8FB; --bi-grad-bg: #F5F8FB; --bs-body-bg: #F5F8FB; --bp-grid: rgba(14,43,78,0.065); --bp-grid-major: rgba(14,43,78,0.12); }
html, body { background-color: #F5F8FB; }
.botit-header { background: rgba(245,248,251,0.94) !important; }
.botit-scrolled .botit-header { background: rgba(245,248,251,0.98) !important; }
.botit-mobile-nav, .botit-mobile-nav-body, .offcanvas { background: #F5F8FB !important; }
.single main, .archive main, .page-template-default main { background: rgba(245,248,251,0.55); }
.entry-content, .botit-accordion, .botit-comparison-table { background: transparent; }
.botit-footer { background: #F5F8FB !important; }
.botit-footer-cta .btn-botit-primary, .botit-cta-section .btn-botit-primary { background: #F5F8FB; border-color: #F5F8FB; }

/* ---- Sidebar lists (recent posts, categories, archives) --------------- */
.list-group, .list-group-item {
  --bs-list-group-bg: transparent; --bs-list-group-color: var(--bi-text); --bs-list-group-border-color: var(--bp-rule);
  --bs-list-group-action-hover-bg: rgba(27,79,156,0.06); --bs-list-group-action-hover-color: var(--bi-text);
  --bs-list-group-action-active-bg: rgba(27,79,156,0.1); --bs-list-group-action-active-color: var(--bi-text);
}
.list-group-item { background: transparent !important; color: var(--bi-text) !important; border-color: var(--bp-rule) !important; }
.list-group-item a { color: var(--bp-accent) !important; text-decoration: none; }
.list-group-item:hover, .list-group-item-action:hover, .list-group-item-action:focus {
  background: rgba(27,79,156,0.06) !important; color: var(--bi-text) !important; border-left: 2px solid var(--bp-mark);
}
.list-group-item:hover a, .list-group-item-action:hover a { color: var(--bi-text) !important; text-decoration: underline; }
.widget-title, .sidebar h2, .sidebar h3 { font-family: var(--bp-mono); font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--bi-muted); }
