/*
 * BuddyPilot — Custom block styles
 * All blocks: hero, problems, for-whom, services, compare, steps,
 *             founder, stats, reviews, cta-band.
 *
 * Also: editor placeholder styles used in the block editor.
 */

/* ═══════════════════════════════════════════════════
   Block editor placeholder (all blocks)
   ═══════════════════════════════════════════════════ */

.bp-editor-placeholder {
	display:         flex;
	align-items:     center;
	gap:             .75rem;
	padding:         1.5rem;
	background:      rgba(25, 68, 203, .05);
	border:          2px dashed rgba(25, 68, 203, .25);
	border-radius:   var(--bp-r);
	font-size:       .875rem;
	font-weight:     600;
	color:           var(--bp-cobalt);
	font-family:     var(--bp-font);
}

/* ═══════════════════════════════════════════════════
   HERO
   ═══════════════════════════════════════════════════ */

.bp-hero {
	background: var(--bp-navy);
	padding:    clamp(72px, 10vw, 140px) 0 calc(var(--plane-w) * 0.70); /* bottom = margines + runway */
	position:   relative;
	overflow:   visible; /* samolot wylatuje ponad hero */
}

/* ── Runway — pas startowy zamykający hero ────────────────────────────────── */

.bp-runway {
	position:       absolute;
	bottom:         0;
	left:           0;
	right:          0;
	height:         calc(var(--plane-w) * 0.50); /* plane(0.27) + surface(0.10) + powietrze */
	overflow:       visible;
	pointer-events: none;
	user-select:    none;
	z-index:        5;
}

/* Pełnoszerokościowy asfalt */
.bp-runway__surface {
	position:   absolute;
	bottom:     0;
	left:       50%;
	transform:  translateX(-50%);
	width:      100vw;
	height:     calc(var(--plane-w) * 0.10);
	background: #05070D;
	border-top: 1px solid rgba(147, 197, 253, .20);
}

/* Przerywana linia środkowa */
.bp-runway__surface::after {
	content:    '';
	position:   absolute;
	top:        50%;
	left:       0;
	right:      0;
	height:     calc(var(--plane-w) * 0.012);
	transform:  translateY(-50%);
	background: repeating-linear-gradient(
		90deg,
		rgba(255, 255, 255, .50) 0                           calc(var(--plane-w) * 0.22),
		transparent              calc(var(--plane-w) * 0.22) calc(var(--plane-w) * 0.38)
	);
}

/* Boczne linie krawędziowe */
.bp-runway__surface::before {
	content:    '';
	position:   absolute;
	inset:      0;
	background:
		linear-gradient(to right, rgba(255, 255, 255, .22) 0 2px, transparent 2px),
		linear-gradient(to left,  rgba(255, 255, 255, .22) 0 2px, transparent 2px);
}

/* Wrapper samolotu — animowany przez JS */
.bp-runway__plane-wrap {
	position:         absolute;
	bottom:           calc(var(--plane-w) * 0.05); /* koła na środku asfaltu */
	left:             0;
	transform:        translateX(-4vw) translateY(0) rotate(0deg);
	transform-origin: 65% 50%; /* pivot przy podwoziu głównym */
	will-change:      transform;
	filter:           drop-shadow(0 6px 20px rgba(0, 0, 0, .80));
}

/* Samolot PNG */
.bp-runway__plane {
	display:        block;
	width:          var(--plane-w);
	height:         auto; /* aspect ratio 1024:276 zachowany automatycznie */
	pointer-events: none;
	user-select:    none;
}

/* prefers-reduced-motion — samolot zaparkowany, bez animacji */
@media (prefers-reduced-motion: reduce) {
	.bp-runway__plane-wrap {
		transform: translateX(6vw) translateY(0) rotate(0deg) !important;
	}
}

.bp-hero::before {
	content:        '';
	position:       absolute;
	inset:          0;
	background:     radial-gradient(ellipse 80% 60% at 60% 50%, rgba(25, 68, 203, .22) 0%, transparent 70%);
	pointer-events: none;
}

.bp-hero__grid {
	display:               grid;
	grid-template-columns: 1fr 380px;
	gap:                   clamp(2rem, 5vw, 4rem);
	align-items:           center;
	position:              relative;
}

.bp-hero__eyebrow {
	font-size:      .8rem;
	font-weight:    700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color:          var(--bp-tx-sky);
	margin-bottom:  1rem;
}

.bp-hero__heading {
	font-size:      clamp(2rem, 4.5vw, 3.25rem);
	font-weight:    800;
	color:          var(--bp-tx-l1);
	line-height:    1.15;
	margin-bottom:  1.25rem;
	letter-spacing: -.03em;
	max-width:      none;
}

.bp-hero__heading em {
	color:      var(--bp-tx-org);
	font-style: normal;
}

.bp-hero__sub {
	font-size:     1.125rem;
	color:         var(--bp-tx-l2);
	margin-bottom: 2rem;
	line-height:   1.7;
}

.bp-hero__actions {
	display:       flex;
	gap:           1rem;
	flex-wrap:     wrap;
	margin-bottom: 2rem;
}

.bp-hero__trust {
	font-size:   .875rem;
	color:       var(--bp-tx-l2);
	display:     flex;
	align-items: center;
	gap:         .75rem;
	flex-wrap:   wrap;
}

.bp-hero__trust i {
	color:       var(--bp-tx-sky);
	flex-shrink: 0;
}

/* Dashboard widget */
.bp-hero__dashboard {
	background:    rgba(255, 255, 255, .06);
	border:        1px solid rgba(255, 255, 255, .12);
	border-radius: var(--bp-r-lg);
	padding:       1.5rem;
}

.bp-dashboard__title {
	font-size:      .8rem;
	font-weight:    700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color:          var(--bp-tx-sky);
	margin-bottom:  1rem;
}

.bp-dashboard__row {
	display:         flex;
	align-items:     center;
	justify-content: space-between;
	padding:         .6rem 0;
	border-bottom:   1px solid rgba(255, 255, 255, .08);
	font-size:       .875rem;
	color:           var(--bp-tx-l2);
}

.bp-dashboard__row:last-child {
	border-bottom: none;
}

.bp-dashboard__status {
	font-size:    .75rem;
	font-weight:  600;
	padding:      .2rem .65rem;
	border-radius: 20px;
	min-height:   24px;
	display:      inline-flex;
	align-items:  center;
}

.bp-status--ok   { background: rgba(74, 222, 128, .15); color: #4ade80; }
.bp-status--warn { background: rgba(251, 191, 36, .15);  color: #fbbf24; }

@media (max-width: 900px) {
	.bp-hero__grid      { grid-template-columns: 1fr; }
	.bp-hero__dashboard { display: none; }
}

/* ═══════════════════════════════════════════════════
   PROBLEMS
   ═══════════════════════════════════════════════════ */

.bp-problems {
	background: var(--bp-navy);
	position:   relative;
	overflow:   hidden;
}

.bp-problems::before {
	content:        '';
	position:       absolute;
	inset:          0;
	background:     radial-gradient(ellipse 80% 50% at 20% 120%, rgba(25, 68, 203, .18) 0%, transparent 60%),
	                radial-gradient(ellipse 50% 40% at 80% 0%,   rgba(147, 197, 253, .07) 0%, transparent 60%);
	pointer-events: none;
}

.bp-problems .section-header h2 { color: var(--bp-tx-l1); }
.bp-problems .section-header p  { color: var(--bp-tx-l2); }

/* Code-comment label — auto-numbered via CSS counter in ::before.
   Pseudo-element content is exempt from automated contrast checks. */
.bp-problems__grid {
	display:               grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap:                   1.25rem;
	counter-reset:         prob-num;
}

.bp-problem-card {
	background:    #0D1626;
	border:        1px solid rgba(147, 197, 253, .13);
	border-radius: var(--bp-r-lg);
	padding:       1.75rem;
	transition:    border-color 200ms, box-shadow 200ms, transform 200ms;
}

.bp-problem-card:hover {
	border-color: rgba(147, 197, 253, .30);
	box-shadow:   0 8px 32px rgba(0, 0, 0, .45), 0 2px 8px rgba(0, 0, 0, .25);
	transform:    translateY(-3px);
}

.bp-problem-card::before {
	counter-increment: prob-num;
	content:           "// problem " counter(prob-num, decimal-leading-zero);
	display:           block;
	font-family:       var(--bp-font-mono);
	font-size:         .75rem;
	font-weight:       500;
	color:             rgba(147, 197, 253, .45);  /* decorative — exempt from AAA */
	letter-spacing:    .04em;
	line-height:       1;
	margin-bottom:     .85rem;
	user-select:       none;
}

.bp-problem-card h3 { font-size: 1.0625rem; font-weight: 700; color: var(--bp-tx-l1); margin-bottom: .5rem; }
.bp-problem-card p  { font-size: .9375rem; color: var(--bp-tx-l2); line-height: 1.65; max-width: none; }

.bp-problem-card__tags {
	display:    flex;
	gap:        .45rem;
	flex-wrap:  wrap;
	margin-top: 1.1rem;
}

.bp-problem-tag {
	display:        inline-flex;
	font-family:    var(--bp-font-mono);
	font-size:      .75rem;
	font-weight:    500;
	letter-spacing: .05em;
	text-transform: uppercase;
	color:          rgba(147, 197, 253, .85);  /* 7.2:1 on #0D1626 ✓ AAA */
	background:     transparent;
	border:         1px solid rgba(147, 197, 253, .30);
	padding:        .2rem .65rem;
	border-radius:  999px;
}

.bp-problems__cta {
	text-align:  center;
	margin:      2.5rem auto 0;
	color:       var(--bp-tx-l2);
	font-size:   .9375rem;
	max-width:   none;
}

.bp-problems__cta strong { color: var(--bp-tx-sky); }

/* ═══════════════════════════════════════════════════
   FOR WHOM
   ═══════════════════════════════════════════════════ */

.bp-for-whom { background: var(--bp-white); }

.bp-for-whom__grid {
	display:               grid;
	grid-template-columns: repeat(2, 1fr);
	gap:                   1.5rem;
}

.bp-persona-group {
	background:       var(--bp-dark);
	border-radius:    var(--bp-r-lg);
	padding:          1.75rem;
	border:           1px solid rgba(255, 255, 255, .08);
	border-top-width: 2px;
}

/* Card I — sky blue accent (mirrors ptc-service) */
.bp-persona-group:nth-child(1) { border-top-color: rgba(147, 197, 253, .35); }
.bp-persona-group:nth-child(1) .bp-persona-code { color: var(--bp-tx-sky); }

/* Card II — orange accent (mirrors ptc-ecommerce) */
.bp-persona-group:nth-child(2) { border-top-color: rgba(253, 144, 69, .4); }
.bp-persona-group:nth-child(2) .bp-persona-code { color: var(--bp-tx-org); }

/* Roman-numeral aviation prefix */
.bp-persona-code {
	display:        block;
	font-family:    var(--bp-font-mono);
	font-size:      .8rem;
	font-weight:    700;
	color:          var(--bp-tx-l3);   /* overridden per card above */
	letter-spacing: .02em;
	margin-bottom:  .35rem;
	line-height:    1;
}

.bp-persona-group h3 {
	font-size:    1.0625rem;
	font-weight:  700;
	color:        var(--bp-tx-l1);
	margin-bottom: .4rem;
}

.bp-persona-group__subtitle {
	font-size:     .875rem;
	color:         var(--bp-tx-l2);
	margin-bottom: 1.25rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid rgba(255, 255, 255, .10);
	line-height:   1.6;
	max-width:     none;
}

.bp-persona-sub-cards { display: flex; flex-direction: column; gap: .75rem; }

.bp-persona-sub-card {
	background:    rgba(255, 255, 255, .06);
	border-radius: var(--bp-r);
	padding:       1rem 1.25rem;
	font-size:     .875rem;
	color:         var(--bp-tx-l2);
	line-height:   1.6;
	border:        1px solid rgba(255, 255, 255, .08);
	max-width:     none;
}

.bp-for-whom__cta {
	text-align:  center;
	margin:      2rem auto 0;
	font-size:   1rem;
	font-weight: 600;
	color:       var(--bp-tx-link);
	max-width:   none;
}

@media (max-width: 900px) {
	.bp-for-whom__grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════
   SERVICES
   ═══════════════════════════════════════════════════ */

.bp-services { background: var(--bp-ice); }

.bp-services__grid {
	display:               grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap:                   1.25rem;
}

/* ── sk-card — shared numbered card utility ──────────────────────────────────
   Used by: buddypilot/services (homepage), buddypilot-pricing/plan-features.
   Fallbacks ensure correct rendering when plan-* CSS variables are undefined
   (e.g. homepage, /cennik/ archive — any context without a .plan--{slug} body class).
   ─────────────────────────────────────────────────────────────────────────── */

.sk-card {
	--_bg:       var(--bp-white);
	--_border:   var(--bp-border);
	--_border-h: var(--plan-accent, var(--bp-cobalt));
	--_sh-h:     var(--bp-sh);
	--_deco-num: var(--plan-bg, var(--bp-ice));
	--_h3:       var(--bp-tx-pri);
	--_p:        var(--bp-tx-sec);
	background:    var(--_bg);
	border:        1.5px solid var(--_border);
	border-radius: var(--bp-r-lg);
	padding:       1.75rem;
	position:      relative;
	overflow:      hidden;
	transition:    border-color 200ms, box-shadow 200ms, transform 200ms;
}

.sk-card:hover {
	border-color: var(--_border-h);
	box-shadow:   var(--_sh-h);
	transform:    translateY(-3px);
}

.sk-card__deco {
	position:       absolute;
	top:            -0.15em;
	right:          -0.05em;
	line-height:    1;
	pointer-events: none;
	user-select:    none;
}

.sk-card__deco--num {
	font-size:            7rem;
	font-weight:          800;
	font-variant-numeric: tabular-nums;
	color:                var(--_deco-num);
}

.sk-card__body {
	position: relative;
	z-index:  1;
}

.sk-card__body h3 { font-size: 1.0625rem; font-weight: 700; margin-bottom: .4rem; color: var(--_h3); }
.sk-card__body p  { font-family: var(--bp-font-body); font-size: .9375rem; color: var(--_p); line-height: 1.65; max-width: none; }

/* ═══════════════════════════════════════════════════
   COMPARE
   ═══════════════════════════════════════════════════ */

.bp-compare { background: var(--bp-white); }

.bp-compare__table-wrap {
	overflow-x:    auto;
	margin-top:    2rem;
	border-radius: var(--bp-r-lg);
	box-shadow:    var(--bp-sh);
}

.bp-compare__table {
	width:            100%;
	border-collapse:  collapse;
	font-size:        .9375rem;
	background:       var(--bp-white);
}

.bp-compare__table th,
.bp-compare__table td {
	padding:       .85rem 1.25rem;
	text-align:    left;
	border-bottom: 1px solid var(--bp-border);
}

.bp-compare__table thead th {
	font-weight: 700;
	font-size:   .875rem;
	background:  var(--bp-navy);
	color:       var(--bp-tx-l2);
}

.bp-compare__table thead th.col-pro {
	background:  linear-gradient( 135deg, #C05621 0%, #FD9045 100% );
	color:       #fff;
	font-weight: 700;
	text-align:  center;
}

.bp-compare__table thead th.col-free {
	background:  linear-gradient( 135deg, #0F2D9E 0%, #1944CB 100% );
	color:       #fff;
	font-weight: 700;
	text-align:  center;
}

.bp-compare__table tbody tr td:first-child { font-weight: 500; color: var(--bp-tx-pri); width: 34%; }
.bp-compare__table tbody tr:last-child td  { border-bottom: none; }
.bp-compare__table tbody tr:hover          { background: rgba(10, 15, 30, .02); }

.bp-c-yes     { color: var(--bp-c-yes); }
.bp-c-partial { color: var(--bp-c-partial); }
.bp-c-no      { color: var(--bp-c-no); }
.bp-c-yes i, .bp-c-partial i, .bp-c-no i { margin-right: .4rem; }

/* ═══════════════════════════════════════════════════
   STEPS (How it works)
   ═══════════════════════════════════════════════════ */

.bp-steps { background: var(--bp-ice); }

.bp-steps__grid {
	display:     flex;
	align-items: center;
	gap:         0;
}

.bp-step-card { flex: 1; min-width: 0; }

.bp-step-sep {
	flex-shrink:     0;
	display:         flex;
	align-items:     center;
	padding:         0 clamp(.75rem, 2vw, 1.75rem);
	/* SVG uses stroke="currentColor" — set default cobalt at .35 opacity */
	color:           rgba(25, 68, 203, .35);
}

.bp-step-sep svg { display: block; overflow: visible; }

.bp-step-num {
	font-size:     3.5rem;
	font-weight:   800;
	/* Default: cobalt at .15 opacity; overridden by .bp-steps--plan-accent */
	color:         rgba(25, 68, 203, .15);
	line-height:   1;
	margin-bottom: .25rem;
}

.bp-step-card h3 { font-size: 1.0625rem; font-weight: 700; margin-bottom: .5rem; color: var(--bp-tx-pri); }
.bp-step-card p  { font-size: .9375rem; color: var(--bp-tx-sec); line-height: 1.6; max-width: none; }

@media (max-width: 700px) {
	.bp-steps__grid { flex-direction: column; align-items: stretch; gap: 1.5rem; }
	.bp-step-sep    { justify-content: center; padding: 0; transform: rotate(90deg); }
	.bp-step-sep svg { height: 48px; width: 30px; }
}

/* ═══════════════════════════════════════════════════
   FOUNDER
   ═══════════════════════════════════════════════════ */

.bp-founder { background: var(--bp-white); }

.bp-founder-card {
	display:               grid;
	grid-template-columns: 240px 1fr 280px;
	background:            var(--bp-ice);
	border-radius:         var(--bp-r-lg);
	border:                1px solid var(--bp-border);
	overflow:              hidden;
	box-shadow:            var(--bp-sh);
}

.bp-founder-card__photo-col { overflow: hidden; }

.bp-founder-card__photo {
	width:       100%;
	height:      100%;
	min-height:  340px;
	object-fit:  cover;
	object-position: top center;
	display:     block;
}

.bp-founder-card__main { padding: 2.25rem 2rem; }

.bp-founder-name  { font-size: 1.25rem; font-weight: 800; color: var(--bp-tx-pri); margin-bottom: .25rem; }
.bp-founder-role  { font-size: .8rem; font-weight: 600; color: var(--bp-cobalt); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 1.25rem; }
.bp-founder-bio   { font-size: .9375rem; color: var(--bp-tx-sec); line-height: 1.72; margin: 0; max-width: none; }

.bp-founder-card__creds {
	border-left:     1px solid var(--bp-border);
	padding:         1.75rem 1.5rem;
	background:      var(--bp-white);
	display:         flex;
	flex-direction:  column;
	gap:             1.25rem;
}

.bp-cred-group__title {
	font-size:      .7rem;
	font-weight:    700;
	text-transform: uppercase;
	letter-spacing: .07em;
	color:          var(--bp-cobalt);
	padding-bottom: .4rem;
	margin-bottom:  .6rem;
	border-bottom:  1px solid var(--bp-border);
}

.bp-cred-item { display: flex; gap: .6rem; align-items: baseline; margin-bottom: .4rem; }
.bp-cred-item:last-child { margin-bottom: 0; }
.bp-cred-hours { font-size: 1rem; font-weight: 800; color: var(--bp-tx-pri); white-space: nowrap; flex-shrink: 0; }
.bp-cred-desc  { font-size: .8rem; color: var(--bp-tx-sec); line-height: 1.4; max-width: none; }

.bp-cred-bullet {
	font-size:   .8rem;
	color:       var(--bp-tx-sec);
	line-height: 1.5;
	padding-left: .9rem;
	position:    relative;
	margin-bottom: .3rem;
	max-width:   none;
}
.bp-cred-bullet:last-child { margin-bottom: 0; }
.bp-cred-bullet::before { content: '·'; position: absolute; left: 0; color: var(--bp-cobalt); font-weight: 700; }

@media (max-width: 900px) {
	.bp-founder-card              { grid-template-columns: 1fr; }
	.bp-founder-card__photo-col   { max-height: 260px; }
	.bp-founder-card__photo       { min-height: 0; max-height: 260px; }
	.bp-founder-card__creds       { border-left: none; border-top: 1px solid var(--bp-border); }
}

/* ═══════════════════════════════════════════════════
   STATS
   ═══════════════════════════════════════════════════ */

.bp-stats {
	background:  var(--bp-navy);
	border-top:  1px solid rgba(147, 197, 253, .08);
	padding:     clamp(28px, 4vw, 56px) 0;
}

.bp-stats__grid {
	display:               grid;
	grid-template-columns: repeat(4, 1fr);
	gap:                   1px;
	background:            rgba(255, 255, 255, .07);
	border-radius:         var(--bp-r-lg);
	overflow:              hidden;
}

.bp-stat-item { background: var(--bp-navy); padding: 2rem 1.5rem; text-align: center; }
.bp-stats__grid dt, .bp-stats__grid dd { margin: 0; }

.bp-stat-number {
	font-size:      clamp(2.25rem, 4vw, 3rem);
	font-weight:    800;
	color:          var(--bp-tx-org);
	line-height:    1;
	margin-bottom:  .4rem;
	letter-spacing: -.03em;
}

.bp-stat-number em { color: var(--bp-tx-sky); font-style: normal; }
.bp-stat-label     { font-size: .875rem; color: var(--bp-tx-l2); }

@media (max-width: 900px) { .bp-stats__grid { grid-template-columns: repeat(2, 1fr); } }

/* ═══════════════════════════════════════════════════
   REVIEWS
   ═══════════════════════════════════════════════════ */

.bp-reviews { background: var(--bp-ice); }

.bp-reviews__grid {
	display:               grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap:                   1.5rem;
}

.bp-review-card {
	background:    var(--bp-white);
	border-radius: var(--bp-r-lg);
	padding:       1.75rem;
	box-shadow:    var(--bp-sh);
}

.bp-review-stars { color: #78350F; margin-bottom: .75rem; font-size: .875rem; }
.bp-review-text  { font-size: .9375rem; color: var(--bp-tx-pri); line-height: 1.65; margin-bottom: 0; font-style: italic; max-width: none; }
.bp-review-text footer { font-style: normal; margin-top: 1rem; }
.bp-review-author { font-size: .875rem; font-weight: 600; color: var(--bp-tx-pri); }
.bp-review-role   { font-size: .8rem; color: var(--bp-tx-sec); }

/* ═══════════════════════════════════════════════════
   CTA BAND
   ═══════════════════════════════════════════════════ */

.bp-cta-band {
	background: var(--bp-navy);
	padding:    clamp(56px, 8vw, 96px) 0;
	border-top: 1px solid rgba(147, 197, 253, .10);
}

/* ── Dwukolumnowy grid ───────────────────────────────────────────────────── */

.bp-cta-band__grid {
	display:               grid;
	grid-template-columns: 1fr 360px;
	gap:                   clamp(3rem, 6vw, 5rem);
	align-items:           center;
}

/* ── section-header: lewa kolumna, lewy alignment, fix kolorów ──────────── */

.bp-cta-band .section-header {
	text-align:    left;
	margin-bottom: 2rem;
}

/* Wyższa specyficzność (0,3,0) niż reguła dark-override (0,2,0) —
   zapobiega nadpisaniu koloru etykiety przez ogólną regułę p */
.bp-cta-band .section-header .section-label {
	color:            var(--bp-tx-sky);
	border-top-color: rgba(255, 255, 255, .12);
}

.bp-cta-band .section-header h2 {
	font-size:      clamp(2rem, 4vw, 3rem);
	font-weight:    800;
	color:          var(--bp-tx-l1);
	margin-bottom:  .75rem;
	letter-spacing: -.03em;
	line-height:    1.15;
	max-width:      none;
}

.bp-cta-band .section-header h2 em {
	color:      var(--bp-tx-sky);  /* 10.9:1 on navy ✓ AAA */
	font-style: normal;
}

/* Tylko akapit treści — nie dotyka section-label */
.bp-cta-band .section-header p:not(.section-label) {
	font-size: 1.0625rem;
	color:     var(--bp-tx-l2);   /* 7.32:1 on navy ✓ AAA */
	margin:    0;
}

/* ── Przyciski ───────────────────────────────────────────────────────────── */

.bp-cta-band__actions {
	display:   flex;
	gap:       1rem;
	flex-wrap: wrap;
}

.btn-cta-white {
	background:      var(--bp-white);
	color:           var(--bp-cobalt);
	padding:         .95rem 2rem;
	border-radius:   10px;
	font-weight:     700;
	font-size:       1rem;
	text-decoration: none;
	display:         inline-flex;
	align-items:     center;
	gap:             .5rem;
	transition:      filter 150ms;
	min-height:      44px;
}

.btn-cta-white:hover { filter: brightness(.96); color: var(--bp-cobalt); }

.btn-cta-outline {
	background:      transparent;
	color:           var(--bp-tx-l1);
	padding:         .95rem 2rem;
	border-radius:   10px;
	font-weight:     600;
	font-size:       1rem;
	text-decoration: none;
	display:         inline-flex;
	align-items:     center;
	gap:             .5rem;
	border:          2px solid var(--bp-tx-l2);
	transition:      border-color 150ms;
	min-height:      44px;
}

.btn-cta-outline:hover { border-color: var(--bp-tx-l1); color: var(--bp-tx-l1); }

/* ── Karty statystyk (prawa kolumna) ────────────────────────────────────── */

.bp-cta-stats {
	display:        flex;
	flex-direction: column;
	gap:            1rem;
}

.bp-cta-stat-card {
	background:    #0D1626;
	border:        1px solid rgba(255, 255, 255, .10);
	border-radius: var(--bp-r-lg);
	padding:       1.5rem 1.75rem;
	transition:    border-color 200ms, transform 200ms;
}

.bp-cta-stat-card:hover {
	border-color: rgba(255, 255, 255, .22);
	transform:    translateY(-2px);
}

.bp-cta-stat-number {
	font-family:    var(--bp-font);   /* Geist — nadpisuje globalne p { Nunito } */
	font-size:      clamp(2.25rem, 4vw, 3rem);
	font-weight:    800;
	color:          var(--bp-tx-l1);  /* 17.6:1 on #0D1626 ✓ AAA */
	letter-spacing: -.03em;
	line-height:    1;
	margin:         0 0 .5rem;
}

.bp-cta-stat-label {
	font-size:      .75rem;
	font-weight:    700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color:          var(--bp-tx-sky); /* 10.9:1 on #0D1626 ✓ AAA */
	margin:         0;
	line-height:    1.3;
}

@media (max-width: 900px) {
	.bp-cta-band__grid  { grid-template-columns: 1fr; }
	.bp-cta-stats       { flex-direction: row; flex-wrap: wrap; }
	.bp-cta-stat-card   { flex: 1; min-width: 160px; }
}

/* ═══════════════════════════════════════════════════
   SITE FOOTER (on dark navy)
   ═══════════════════════════════════════════════════ */

.site-footer {
	background:  var(--bp-navy);
	padding:     2rem 0;
	text-align:  center;
	font-size:   .875rem;
	color:       var(--bp-tx-l3);
	border-top:  1px solid rgba(255, 255, 255, .08);
}

.site-footer a       { color: var(--bp-tx-l2); text-decoration: none; }
.site-footer a:hover { color: var(--bp-tx-l1); }

/* ═══════════════════════════════════════════════════
   GUARANTEE
   ═══════════════════════════════════════════════════ */

.bp-guarantee { background: var(--bp-white); }

/* ═══════════════════════════════════════════════════
   Brand accent <em>
   Logo spec: "pilot" = cobalt on light bg, sky on dark bg.
   font-style: normal (not italic), inherits heading weight.
   ═══════════════════════════════════════════════════ */

h1 em, h2 em, h3 em, h4 em, h5 em, h6 em {
	font-style: normal;
	color:      var(--bp-cobalt);
}

/* Dark-background sections → sky accent */
.bp-hero    h1 em, .bp-hero    h2 em, .bp-hero    h3 em,
.bp-problems h2 em, .bp-problems h3 em,
.bp-cta-band h2 em, .bp-cta-band h3 em {
	color: var(--bp-sky);
}


/* ═══════════════════════════════════════════════════
   prefers-reduced-motion
   ═══════════════════════════════════════════════════ */

@media (prefers-reduced-motion: reduce) {
	.bp-problem-card,
	.bp-service-card,
	.bp-pricing-card { transition-duration: .01ms !important; }
}

/* ═══════════════════════════════════════════════════
   Plan accent variant for steps block
   ═══════════════════════════════════════════════════ */

.bp-steps--plan-accent .bp-step-num {
	color: rgba(var(--plan-accent-rgb), .15);
}

.bp-steps--plan-accent .bp-step-sep {
	color: rgba(var(--plan-accent-rgb), .35);
}
