
    #jm-nabirej {
      --jm-primary:#1e73e8;
      --jm-primary-2:#0f5fd5;
      --jm-accent:#24c7dc;
      --jm-dark:#0c1e3c;
      --jm-muted:#5d6e8c;
      --jm-bg:#f5f7fc;
      --jm-card:#ffffff;
      --jm-border:#e3e9f3;
      --jm-success:#16a34a;
      --shadow: 0 16px 40px rgba(10, 22, 40, .10);
      --shadow-2: 0 10px 25px rgba(10, 22, 40, .10);
      --radius: 22px;
      --radius-sm: 14px;
      /*
        NOTE: This landing page should not be constrained by an inner max-width.
        (Some themes set a max-width container around the content; we already
        break out of that above.)
      */
      --max: 1180px;
    }

    /*
      Full-width breakout
      ------------------
      Most WP themes (and Elementor templates) render page content inside
      a max-width container. This landing page is designed to span the
      full viewport width, so we "break out" of the theme container.

      If your theme already uses a full-width template, these rules are harmless.
    */
    #jm-nabirej{
      width:100vw;
      max-width:100vw;
      margin-left:calc(50% - 50vw);
      margin-right:calc(50% - 50vw);
      overflow-x:clip;
    }

    /* Reset */
    #jm-nabirej *, #jm-nabirej *::before, #jm-nabirej *::after {box-sizing:border-box}
    #jm-nabirej, #jm-nabirej {height:100%}
    #jm-nabirej {
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
      color:var(--jm-dark);
      background:var(--jm-bg);
      line-height:1.45;
    }
    #jm-nabirej a {color:inherit}
    #jm-nabirej img {max-width:100%;display:block}
    #jm-nabirej button, #jm-nabirej input, #jm-nabirej select, #jm-nabirej textarea {font:inherit}

    /* Utilities */
    /* Make inner container full width (no max-width constraint). */
    #jm-nabirej .container {max-width:none;width:100%;margin:0;padding:0 20px}
    #jm-nabirej .btn {
      border:0;
      border-radius: 16px;
      padding: 14px 18px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      font-weight:700;
      cursor:pointer;
      transition: transform .05s ease, box-shadow .2s ease, background .2s ease;
      text-decoration:none;
      user-select:none;
    }
    #jm-nabirej .btn:active {transform: translateY(1px)}
    #jm-nabirej .btn-primary {background:var(--jm-primary);color:#fff;box-shadow: var(--shadow-2)}
    #jm-nabirej .btn-primary:hover {background:var(--jm-primary-2)}
    #jm-nabirej .btn-ghost {background:#fff;border:2px solid var(--jm-border);color:var(--jm-dark) !important}
    #jm-nabirej .btn-ghost:hover {box-shadow: var(--shadow-2)}

    /* Ensure ghost button text stays dark even if theme forces link colors */
    #jm-nabirej a.btn.btn-ghost,
    #jm-nabirej a.btn.btn-ghost:visited,
    #jm-nabirej button.btn.btn-ghost {
      color:var(--jm-dark) !important;
    }
    #jm-nabirej .pill {
      display:inline-flex;align-items:center;gap:10px;
      padding:8px 12px;border-radius:999px;
      border:1px solid var(--jm-border);
      background:#fff;color:var(--jm-dark);
      font-size:13px;
    }
    #jm-nabirej .dot {width:10px;height:10px;border-radius:50%;background:var(--jm-accent)}

    /* Emoji variant (keeps layout, just swaps the dot for an emoji) */
    #jm-nabirej .dot-emoji {
      width:18px;height:18px;
      border-radius:50%;
      background: rgba(36,199,220,.22);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      font-size:12px;
      line-height:1;
      flex:0 0 auto;
    }

    /* Benefit icon with emoji inside (same box, no inner dot) */
    #jm-nabirej .icon.icon-emoji {display:flex;align-items:center;justify-content:center;font-size:20px}
    #jm-nabirej .icon.icon-emoji::after {display:none}

    /* Scheduler (datum + čas) */
    #jm-nabirej .day-grid, #jm-nabirej .time-grid {display:grid;gap:10px}
    #jm-nabirej .day-grid {grid-template-columns:repeat(5,1fr)}
    #jm-nabirej .time-grid {grid-template-columns:repeat(4,1fr)}
    #jm-nabirej .chip {
      border:2px solid var(--jm-border);
      background:#fff;
      border-radius:14px;
      padding:10px 10px;
      cursor:pointer;
      text-align:center;
      font-weight:800;
      color:var(--jm-dark);
      transition: box-shadow .2s ease, border .2s ease, transform .05s ease, background .2s ease;
    }
    /* Datum i den vždy na 1 řádek (bez zalamování) */
    #jm-nabirej .chip span {
      display:block;
      white-space:nowrap;
      font-size:14px;
      line-height:1.05;
      font-variant-numeric: tabular-nums;
    }
    #jm-nabirej .chip small {
      display:block;
      margin-top:3px;
      font-size:11px;
      color:var(--jm-muted);
      font-weight:800;
      text-transform:capitalize;
      white-space:nowrap;
    }
    #jm-nabirej .chip:hover {box-shadow: var(--shadow-2)}
    #jm-nabirej .chip:active {transform:translateY(1px)}
    #jm-nabirej .chip.active {border-color: rgba(30,115,232,.55); box-shadow: 0 0 0 4px rgba(30,115,232,.12); background: rgba(30,115,232,.06)}
    #jm-nabirej .chip.disabled {opacity:.45; box-shadow:none}
    #jm-nabirej .grid-disabled {opacity:.6; pointer-events:none}

    #jm-nabirej .scheduler-note {
      margin-top:10px;
      padding:10px 12px;
      border-radius:16px;
      border:1px solid rgba(30,115,232,.16);
      background:rgba(30,115,232,.06);
      font-size:13px;
      color:var(--jm-muted);
    }
    #jm-nabirej .scheduler-note strong {color:var(--jm-dark)}

    /* Mobil: datum v jedné řadě (posuv) */
    @media (max-width: 980px){
      #jm-nabirej .day-grid {
        display:flex;
        flex-wrap:nowrap;
        overflow-x:auto;
        padding-bottom:6px;
        gap:10px;
        scroll-snap-type:x mandatory;
        -webkit-overflow-scrolling:touch;
      }
      #jm-nabirej .day-grid .chip {
        flex:0 0 auto;
        min-width:92px;
        scroll-snap-align:start;
      }
      #jm-nabirej .day-grid::-webkit-scrollbar {height:8px}
      #jm-nabirej .day-grid::-webkit-scrollbar-thumb {background:rgba(12,30,60,.15);border-radius:999px}
      #jm-nabirej .day-grid::-webkit-scrollbar-track {background:transparent}

      #jm-nabirej .time-grid {grid-template-columns:repeat(3,1fr)}
    }

    #jm-nabirej .card {
      background:var(--jm-card);
      border:1px solid var(--jm-border);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
    }
    #jm-nabirej .card-pad {padding:22px}

    #jm-nabirej .muted {color:var(--jm-muted)}
    #jm-nabirej .h1 {font-size:44px;line-height:1.05;margin:0 0 14px;font-weight:900;letter-spacing:-.02em}
    #jm-nabirej .h2 {font-size:30px;line-height:1.15;margin:0 0 10px;font-weight:900;letter-spacing:-.01em}
    #jm-nabirej .h3 {font-size:18px;margin:0 0 8px;font-weight:800}
    #jm-nabirej .lead {font-size:18px;margin:0}

    /* Header */
    #jm-nabirej .jm-header {
      position:sticky;top:0;z-index:50;
      backdrop-filter: blur(10px);
      background: rgba(245,247,252,.75);
      border-bottom: 1px solid rgba(227,233,243,.8);
    }
    #jm-nabirej .topbar {
      display:flex;align-items:center;justify-content:space-between;
      padding:14px 0;
    }
    #jm-nabirej .brand {display:flex;align-items:center;gap:12px;text-decoration:none}
    #jm-nabirej .mark {width:34px;height:34px;border-radius:12px;background:var(--jm-primary);position:relative;box-shadow: 0 10px 20px rgba(30,115,232,.25)}
    #jm-nabirej .mark::after {content:"";position:absolute;inset:9px;border-radius:8px;background:rgba(255,255,255,.18)}
    #jm-nabirej .brand strong {font-weight:900;letter-spacing:.02em}
    #jm-nabirej nav {display:flex;align-items:center;gap:22px}
    #jm-nabirej nav a {font-size:14px;text-decoration:none;color:var(--jm-dark)}
    #jm-nabirej nav a:hover {text-decoration:underline}
    #jm-nabirej .header-cta {display:flex;align-items:center;gap:10px}

    /* Hero */
    #jm-nabirej .hero {
      padding: 28px 0 10px;
    }
    #jm-nabirej .hero-bg {
      border-radius: 26px;
      background: linear-gradient(180deg, rgba(235,245,255,1) 0%, rgba(245,247,252,1) 100%);
      border: 1px solid rgba(227,233,243,.9);
      overflow:hidden;
      position:relative;
      isolation:isolate; /* ensures background blobs stay behind content */
    }
    #jm-nabirej .hero-bg::before {
      content:"";
      position:absolute;left:-140px;top:-180px;
      width:380px;height:380px;border-radius:50%;
      background: radial-gradient(circle at 30% 30%, rgba(36,199,220,.28), rgba(36,199,220,0));
      filter: blur(0px);
      z-index:0;
      pointer-events:none; /* do not block clicks on form */
    }
    #jm-nabirej .hero-bg::after {
      content:"";
      position:absolute;right:-190px;bottom:-220px;
      width:480px;height:480px;border-radius:50%;
      background: radial-gradient(circle at 30% 30%, rgba(30,115,232,.25), rgba(30,115,232,0));
      z-index:0;
      pointer-events:none; /* do not block clicks on form */
    }
    #jm-nabirej .hero-grid {
      display:grid;
      grid-template-columns: 1.25fr .95fr;
      gap: 26px;
      padding: 34px;
      position:relative;
      z-index:1; /* keep content above background blobs */
    }
    /* Prevent grid items from forcing horizontal overflow (common on mobile) */
    #jm-nabirej .hero-grid > *,
    #jm-nabirej .grid-2 > *,
    #jm-nabirej .form-actions > * {
      min-width: 0;
    }
    #jm-nabirej .hero-copy {padding:10px 0}
    #jm-nabirej .hero-ctas {display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
    #jm-nabirej .trust {display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}

    /* Mini form (hero) */
    #jm-nabirej .mini-form .kicker {display:flex;align-items:center;justify-content:space-between;gap:12px}
    #jm-nabirej .badge {
      font-size:12px;
      padding:6px 10px;
      border-radius:999px;
      background:rgba(30,115,232,.10);
      color:var(--jm-primary);
      border:1px solid rgba(30,115,232,.16);
      font-weight:800;
    }
    #jm-nabirej .progress {
      margin-top:12px;
      background: #eef3fb;
      border:1px solid var(--jm-border);
      border-radius: 999px;
      height:10px;
      overflow:hidden;
    }
    #jm-nabirej .progress > div {height:100%;width:33%;background:linear-gradient(90deg,var(--jm-primary), var(--jm-accent));border-radius:999px;transition:width .25s ease}

    #jm-nabirej .field {margin-top:14px}
    #jm-nabirej .label {font-size:12px;color:var(--jm-muted);font-weight:700;margin:0 0 6px}
    #jm-nabirej .input, #jm-nabirej .select, #jm-nabirej .textarea {
      width:100%;
      border:2px solid var(--jm-border);
      border-radius: 14px;
      padding: 12px 12px;
      background: #fbfdff;
      outline:none;
      transition: border .2s ease, box-shadow .2s ease;
    }
    #jm-nabirej .textarea {min-height:92px;resize:vertical}
    #jm-nabirej .input:focus, #jm-nabirej .select:focus, #jm-nabirej .textarea:focus {border-color: rgba(30,115,232,.55); box-shadow: 0 0 0 4px rgba(30,115,232,.12)}
    #jm-nabirej .error {border-color: rgba(220,38,38,.6) !important; box-shadow: 0 0 0 4px rgba(220,38,38,.10)}
    #jm-nabirej .help {font-size:12px;color:var(--jm-muted);margin-top:6px}
    #jm-nabirej .error-msg {font-size:12px;color:#dc2626;margin-top:6px;display:none}
    #jm-nabirej .error-msg.show {display:block}

    #jm-nabirej .form-actions {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
    #jm-nabirej .step {display:none}
    #jm-nabirej .step.active {display:block}

    /* Sections */
    #jm-nabirej section {padding: 42px 0}
    #jm-nabirej .section-head {display:flex;flex-direction:column;gap:10px;margin-bottom:18px}

    #jm-nabirej .grid-2 {display:grid;grid-template-columns:1fr 1fr;gap:18px}
    #jm-nabirej .grid-3 {display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    #jm-nabirej .benefit {
      display:flex;gap:14px;align-items:flex-start;
    }
    #jm-nabirej .icon {
      width:40px;height:40px;border-radius:14px;
      background: rgba(30,115,232,.10);
      border:1px solid rgba(30,115,232,.16);
      position:relative;flex:0 0 auto;
    }
    #jm-nabirej .icon::after {content:"";position:absolute;inset:12px;border-radius:999px;background:var(--jm-primary)}

    #jm-nabirej .steps {display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    #jm-nabirej .step-card {position:relative}
    #jm-nabirej .num {
      width:44px;height:44px;border-radius:16px;background:var(--jm-primary);
      color:#fff;display:flex;align-items:center;justify-content:center;
      font-weight:900;letter-spacing:.02em
    }

    #jm-nabirej .quotes {display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    #jm-nabirej .quote {font-weight:800;font-size:16px}

    /* Logo wall + reference cards */
    #jm-nabirej .logo-wall {display:grid;grid-template-columns:repeat(6,1fr);gap:14px;align-items:center}
    #jm-nabirej .logo {background:#fff;border:1px solid var(--jm-border);border-radius:16px;padding:12px;display:flex;align-items:center;justify-content:center;min-height:72px}
    #jm-nabirej .logo img {max-height:42px;max-width:160px;filter:grayscale(1);opacity:.85;transition:filter .2s ease, opacity .2s ease, transform .2s ease}
    #jm-nabirej .logo:hover img {filter:none;opacity:1;transform:translateY(-1px)}
    /* Reference logo box (prevents layout jumps + provides fallback text) */
    #jm-nabirej .ref-logo-box {display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:52px;padding:10px 12px;border:1px solid var(--jm-border);border-radius:14px;background:#fbfdff;margin-bottom:12px}
    #jm-nabirej .ref-logo {height:28px;max-width:180px;object-fit:contain;margin:0}
    #jm-nabirej .ref-logo-fallback {display:none;font-weight:900;letter-spacing:.01em;color:var(--jm-muted);font-size:13px}
    #jm-nabirej .ref-logo-box.fallback .ref-logo-fallback {display:block}

    /* Logo wall fallback */
    #jm-nabirej .logo-fallback {display:none;font-weight:900;color:var(--jm-muted);font-size:12px;text-align:center;line-height:1.2}
    #jm-nabirej .logo.fallback .logo-fallback {display:block}


    /* Final CTA */
    #jm-nabirej .cta {
      padding: 0 0 56px;
    }
    #jm-nabirej .cta-panel {
      background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(235,245,255,1) 100%);
      border: 1px solid rgba(227,233,243,.9);
      border-radius: 26px;
      overflow:hidden;
    }
    #jm-nabirej .cta-grid {
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 22px;
      padding: 30px;
    }

    #jm-nabirej .faq-item {border-top:1px solid var(--jm-border);padding:14px 0}
    #jm-nabirej .faq-item:first-child {border-top:0}
    #jm-nabirej .faq-q {display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}
    #jm-nabirej .faq-q strong {font-weight:900}
    #jm-nabirej .chev {transition:transform .2s ease}
    #jm-nabirej .faq-a {max-height:0;overflow:hidden;transition:max-height .25s ease}
    #jm-nabirej .faq-a p {margin:10px 0 0;color:var(--jm-muted)}
    #jm-nabirej .faq-item.open .faq-a {max-height:220px}
    #jm-nabirej .faq-item.open .chev {transform: rotate(180deg)}

    /* Sticky CTA */
    #jm-nabirej .sticky {
      position: fixed;
      right: 18px;
      bottom: 18px;
      z-index: 60;
      display:none;
    }

    /* Footer */
    #jm-nabirej .jm-footer {padding: 26px 0 36px;color:var(--jm-muted);font-size:13px}
    #jm-nabirej .jm-footer a {color:var(--jm-muted)}

    /* Responsive */
    @media (max-width: 980px){
      #jm-nabirej nav {display:none}
      #jm-nabirej .hero-grid {grid-template-columns: 1fr; padding: 22px}
      #jm-nabirej .cta-grid {grid-template-columns: 1fr}
      #jm-nabirej .grid-3, #jm-nabirej .quotes, #jm-nabirej .steps {grid-template-columns:1fr}
      #jm-nabirej .grid-2 {grid-template-columns:1fr}
      #jm-nabirej .h1 {font-size:34px}
      #jm-nabirej .h2 {font-size:26px}
      #jm-nabirej .logo-wall {grid-template-columns:repeat(3,1fr)}
      #jm-nabirej .logo {min-height:64px}
      #jm-nabirej .logo img {max-height:34px}
      #jm-nabirej .sticky {display:block}
    }

    /* Extra small screens: prevent horizontal overflow in multi-step form actions
       (steps 2–4 have two buttons side-by-side by default). */
    @media (max-width: 520px){
      #jm-nabirej .form-actions{
        flex-direction:column;
        align-items:stretch;
        justify-content:flex-start;
      }
      #jm-nabirej .form-actions .btn{
        width:100%;
        max-width:100%;
        white-space:normal;
      }
      #jm-nabirej .form-actions .help{
        width:100%;
        text-align:center;
      }
    }

    @media (prefers-reduced-motion: reduce){
      #jm-nabirej * {scroll-behavior:auto !important;transition:none !important}
    }
  

#jm-nabirej .chip.taken{
  border-color: rgba(220,38,38,.55);
  background: rgba(220,38,38,.08);
  color: rgba(153,27,27,1);
  box-shadow: none;
}
#jm-nabirej .chip.taken:hover{ box-shadow: none; }
