/* Fix service cards - prevent text overflow */
.wp-block-cover__inner-container {
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 0 16px !important;
}
.wp-block-cover__inner-container h2,
.wp-block-cover__inner-container h3 {
  word-break: break-word !important;
}

/* ================= KARPI BLOCK 0 — shared tokens & components =================
   Palette matched to site: amber #fcb900 on dark green #0f3130, Barlow.
   All selectors namespaced .k-* — nothing here affects existing styles.
   ============================================================================ */
:root{
  --k-ink:#0f3130;
  --k-steel:#5a646e;
  --k-line:#e2e6ea;
  --k-bg-alt:#f5f7f9;
  --k-accent:#fcb900;
  --k-accent-dk:#e0a600;
  --k-accent-lt:#fff6db;
  --k-go:#1f7a4d;
  --k-shadow:0 2px 4px rgba(18,21,26,.04),0 8px 24px rgba(18,21,26,.07);
  --k-shadow-lg:0 4px 8px rgba(18,21,26,.05),0 18px 48px rgba(18,21,26,.12);
  --k-font:'Barlow',sans-serif;
}
.k-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:16px 30px;border-radius:10px;font-weight:700;font-size:1.02rem;
  border:2px solid transparent;cursor:pointer;transition:.16s ease;
  font-family:var(--k-font);text-align:center;line-height:1.25;text-decoration:none
}
.k-btn-primary{background:var(--k-accent);color:var(--k-ink);border-color:var(--k-accent)}
.k-btn-primary:hover{background:var(--k-accent-dk);border-color:var(--k-accent-dk);color:var(--k-ink)}
.k-btn-ghost{background:transparent;color:var(--k-ink);border-color:var(--k-line)}
.k-btn-ghost:hover{background:#fff;border-color:var(--k-ink)}
.k-btn-block{width:100%}
.k-field{margin-bottom:13px}
.k-field label{display:block;font-size:.86rem;font-weight:700;margin-bottom:5px;font-family:var(--k-font)}
.k-field input,.k-field select{
  width:100%;padding:14px 15px;border:2px solid var(--k-line);border-radius:9px;
  font-size:1rem;font-family:var(--k-font);background:#fff;color:var(--k-ink);box-sizing:border-box
}
.k-field input:focus,.k-field select:focus{outline:none;border-color:var(--k-accent)}
.k-row2{display:grid;grid-template-columns:1fr 1fr;gap:13px}
@media(max-width:560px){.k-row2{grid-template-columns:1fr}}
.k-privacy{font-size:.82rem;color:var(--k-steel);margin-top:12px;line-height:1.5;font-family:var(--k-font)}
.k-opts{display:grid;gap:10px}
.k-opt{
  border:2px solid var(--k-line);border-radius:11px;padding:15px 17px;cursor:pointer;background:#fff;
  transition:.14s;text-align:left;font-family:var(--k-font);font-size:1rem;display:flex;flex-direction:column;gap:2px;width:100%
}
.k-opt:hover{border-color:#8e99a4;background:var(--k-bg-alt)}
.k-opt.sel{border-color:var(--k-accent);background:var(--k-accent-lt)}
.k-opt b{font-weight:700;font-size:1rem;line-height:1.3}
.k-opt small{color:var(--k-steel);font-size:.83rem}
.k-progress{display:flex;gap:6px;margin-bottom:24px}
.k-progress i{flex:1;height:5px;border-radius:99px;background:var(--k-line);transition:.3s}
.k-progress i.on{background:var(--k-accent)}
.k-step{display:none}
.k-step.active{display:block;animation:kfade .28s ease}
@keyframes kfade{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.k-shell{background:#fff;border:1px solid var(--k-line);border-radius:20px;box-shadow:var(--k-shadow-lg);
  overflow:hidden;max-width:820px;margin:0 auto;font-family:var(--k-font)}
.k-shell-head{padding:26px 30px 20px;border-bottom:1px solid var(--k-line);background:var(--k-bg-alt)}
.k-shell-head h3{font-size:1.3rem;margin:0 0 5px;font-weight:800}
.k-shell-head p{margin:0;color:var(--k-steel);font-size:.94rem}
.k-shell-body{padding:28px 30px 32px}
@media(max-width:600px){.k-shell-head,.k-shell-body{padding-left:20px;padding-right:20px}}
.k-success{text-align:center;padding:22px 0;font-family:var(--k-font)}
.k-tick{width:62px;height:62px;border-radius:50%;background:var(--k-go);color:#fff;
  display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:1.9rem}

/* --- BLOCK 0 addendum: theme reconciliation ---
   The Karpi theme sets a light cream body colour for dark backgrounds.
   The k- components sit on white/light cards, so they need the ink colour. */
.k-shell{color:var(--k-ink)}
.k-breakdown{color:var(--k-ink)}
.k-shell a[href^="tel:"]{color:var(--k-ink);text-decoration:underline}
.k-btn{border-radius:15px}
