/* Progressive enhancement: without the runtime every Elementor panel stays visible. */
.hcmc-ready { min-width: 0; }
.hcmc-host { position: relative; display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important; align-items: stretch !important; min-width: 0; }
.hcmc-ready > .e-con-inner { min-width: 0; width: 100%; }
.hcmc-track {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch;
  gap: var(--hcmc-panel-gap, 0px) !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  flex: 0 0 auto;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: auto !important;
  touch-action: pan-x pan-y;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--hcmc-accent, #3347ff) transparent;
  direction: ltr;
  position: relative;
  isolation: isolate;
  border-radius: var(--hcmc-track-radius, 0px);
  background: var(--hcmc-track-bg, transparent);
  -webkit-overflow-scrolling: touch;
}
.hcmc-track.hcmc-moving { scroll-snap-type: none; }
.hcmc-track > .hcmc-panel {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-inline: 0 !important;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  overflow-x: hidden;
  overflow-y: auto;
  position: relative;
  box-sizing: border-box;
}
.hcmc-ready[data-hcmc-height="viewport"] > .hcmc-track,
.hcmc-ready[data-hcmc-height="viewport"] > .e-con-inner > .hcmc-track {
  height: calc(100vh - var(--hcmc-offset, 0px) - var(--hcmc-nav-height, 0px));
  height: calc(100dvh - var(--hcmc-offset, 0px) - var(--hcmc-nav-height, 0px));
  min-height: 180px;
}
.hcmc-ready[data-hcmc-height="custom"] > .hcmc-track,
.hcmc-ready[data-hcmc-height="custom"] > .e-con-inner > .hcmc-track {
  height: max(180px, calc(var(--hcmc-height, 640px) - var(--hcmc-nav-height, 0px)));
}
.hcmc-ready[data-hcmc-height="auto"] > .hcmc-track,
.hcmc-ready[data-hcmc-height="auto"] > .e-con-inner > .hcmc-track { height: auto; }
.hcmc-ready:not([data-hcmc-height="auto"]) > .hcmc-track > .hcmc-panel,
.hcmc-ready:not([data-hcmc-height="auto"]) > .e-con-inner > .hcmc-track > .hcmc-panel {
  height: 100% !important;
  min-height: 0 !important;
}
.hcmc-nav, .hcmc-links, .hcmc-nav-buttons {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: var(--hcmc-nav-gap, 8px);
  width: 100%;
}
.hcmc-nav { padding: var(--hcmc-bar-padding, 12px 0); }
.hcmc-nav button, .hcmc-link {
  appearance: none;
  border: var(--hcmc-border-width, 1px) solid var(--hcmc-border-color, transparent);
  border-radius: var(--hcmc-radius, 12px);
  padding: var(--hcmc-button-padding, 10px 16px);
  min-height: 44px;
  line-height: 1.3;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  background: var(--hcmc-button-bg, #f1f3f8);
  color: var(--hcmc-color, #182036);
  cursor: pointer;
  transition: background-color .15s, color .15s;
}
.hcmc-nav button[aria-current="true"], .hcmc-link[aria-current="true"] {
  background: var(--hcmc-accent, #3347ff);
  color: var(--hcmc-active-text, #fff);
}
.hcmc-nav button:hover, .hcmc-link:hover { border-color: currentColor; }
.hcmc-nav button:disabled { opacity: .4; cursor: default; }
.hcmc-nav button:focus-visible, .hcmc-link:focus-visible, .hcmc-track:focus-visible, .hcmc-panel:focus-visible {
  outline: 3px solid var(--hcmc-accent, #3347ff);
  outline-offset: -3px;
}
.hcmc-status {
  position: absolute !important;
  width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
[data-hcmc-hidden="true"] { display: none !important; }
@media (prefers-reduced-motion: reduce) {
  .hcmc-nav button, .hcmc-link { transition: none; }
  .hcmc-track { scroll-behavior: auto !important; }
}

/* 1.1.0 — layouts and design presets. Variables set in Elementor override defaults. */
.hcmc-nav, .hcmc-links { background: var(--hcmc-bar-bg, transparent); border-radius: var(--hcmc-bar-radius, 0px); box-sizing: border-box; }
.hcmc-links { padding: var(--hcmc-bar-padding, 0px); }
.hcmc-nav-buttons { flex: 1 1 auto; width: auto; max-width: 100%; justify-content: inherit; }
.hcmc-nav[data-position^="overlay-"] {
  position: absolute; z-index: 5; left: var(--hcmc-overlay-inset, 16px);
  width: calc(100% - 2 * var(--hcmc-overlay-inset, 16px));
}
.hcmc-nav[data-position="overlay-top"] { top: var(--hcmc-overlay-inset, 16px); }
.hcmc-nav[data-position="overlay-bottom"] { bottom: var(--hcmc-overlay-inset, 16px); }
.hcmc-nav button:not(:disabled):hover, .hcmc-link:hover {
  background: var(--hcmc-hover-bg, var(--hcmc-button-bg, #e5e9f4));
  color: var(--hcmc-hover-color, var(--hcmc-color, #182036));
}
[data-hcmc-look="outline"] :is(button, .hcmc-link) {
  background: var(--hcmc-button-bg, transparent);
  border-color: var(--hcmc-border-color, currentColor);
}
[data-hcmc-look="underline"] :is(button, .hcmc-link) {
  background: var(--hcmc-button-bg, transparent); border-radius: var(--hcmc-radius, 0px);
  border-width: 0 0 var(--hcmc-border-width, 2px); border-color: var(--hcmc-border-color, transparent);
}
[data-hcmc-look="underline"] :is(button, .hcmc-link)[aria-current="true"] {
  background: var(--hcmc-button-bg, transparent); border-bottom-color: var(--hcmc-accent, #3347ff);
  color: var(--hcmc-active-text, var(--hcmc-accent, #3347ff));
}
[data-hcmc-look="minimal"] :is(button, .hcmc-link) { background: var(--hcmc-button-bg, transparent); }
[data-hcmc-look="minimal"] :is(button, .hcmc-link)[aria-current="true"] {
  background: var(--hcmc-button-bg, transparent); color: var(--hcmc-active-text, var(--hcmc-accent, #3347ff)); text-decoration: underline; text-underline-offset: 5px;
}
[data-hcmc-look="cards"] :is(button, .hcmc-link) {
  box-shadow: 0 3px 12px #10182814; padding: var(--hcmc-button-padding, 18px 24px);
  border-color: var(--hcmc-border-color, #dce1ec);
}
.hcmc-nav button.hcmc-dot { position: relative; padding: 0; width: 44px; min-width: 44px; height: 44px; background: transparent; border: none; box-shadow: none; }
.hcmc-nav .hcmc-dot::after { content: ''; display: block; width: 10px; height: 10px; margin: auto; border-radius: 50%; background: var(--hcmc-color, #182036); opacity: .35; }
.hcmc-nav .hcmc-dot[aria-current="true"]::after { background: var(--hcmc-accent, #3347ff); opacity: 1; transform: scale(1.3); }
.hcmc-counter { font: inherit; font-variant-numeric: tabular-nums; color: var(--hcmc-color, #182036); white-space: nowrap; padding: 8px; }
.hcmc-progress { flex: 0 0 100%; height: var(--hcmc-progress-height, 3px); border-radius: 100px; background: var(--hcmc-progress-bg, #a0a8bb40); overflow: hidden; }
.hcmc-progress > span { display: block; height: 100%; background: var(--hcmc-accent, #3347ff); transition: width .2s ease; }
.hcmc-track[data-scrollbar="none"] { scrollbar-width: none; }
.hcmc-track[data-scrollbar="none"]::-webkit-scrollbar { display: none; }
.hcmc-track[data-scrollbar="auto"] { scrollbar-width: auto; }
@media (max-width:767px) {
  .hcmc-nav[data-mobile="scroll"] .hcmc-nav-buttons { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; width: 100%; }
  .hcmc-nav[data-mobile="scroll"] button { flex-shrink: 0; white-space: nowrap; }
}
@media (prefers-reduced-motion:reduce) { .hcmc-progress > span { transition: none; } }

.hcmc-diagnostic { padding:16px !important; border:2px solid #b36c00; background:#fff5d9; color:#533600; font:14px/1.6 sans-serif; width:100%; }

/* Text-only navigation retains real links/buttons and keyboard focus. */
:is(.hcmc-nav,.hcmc-links)[data-hcmc-look="text"] :is(button,.hcmc-link) {
  position:relative; display:inline-flex; align-items:center; padding:var(--hcmc-button-padding, 4px 0);
  background:transparent; border:0; border-radius:0; box-shadow:none;
  color:var(--hcmc-color,#182036); text-decoration:none;
  transition:color var(--hcmc-hover-duration,220ms), transform var(--hcmc-hover-duration,220ms), letter-spacing var(--hcmc-hover-duration,220ms);
}
:is(.hcmc-nav,.hcmc-links)[data-hcmc-look="text"] :is(button,.hcmc-link)[aria-current="true"] { color:var(--hcmc-text-active,var(--hcmc-accent,#3347ff)); background:transparent; }
:is(.hcmc-nav,.hcmc-links)[data-hcmc-look="text"] :is(button,.hcmc-link):is(:hover,:focus-visible):not(:disabled) { color:var(--hcmc-hover-color,var(--hcmc-accent,#3347ff)); background:transparent; }
[data-hcmc-look="text"][data-hcmc-hover="underline"] :is(button,.hcmc-link)::after {
  content:""; position:absolute; left:0; right:0; bottom:3px; height:1px; background:currentColor;
  transform:scaleX(0); transform-origin:left; transition:transform var(--hcmc-hover-duration,220ms); pointer-events:none;
}
[data-hcmc-look="text"][data-hcmc-hover="underline"] :is(button,.hcmc-link):is(:hover,:focus-visible):not(:disabled)::after { transform:scaleX(1); }
[data-hcmc-look="text"][data-hcmc-hover="lift"] :is(button,.hcmc-link):is(:hover,:focus-visible):not(:disabled) { transform:translateY(calc(-1 * var(--hcmc-hover-distance,4px))); }
[data-hcmc-look="text"][data-hcmc-hover="slide"] :is(button,.hcmc-link):is(:hover,:focus-visible):not(:disabled) { transform:translateX(var(--hcmc-hover-distance,4px)); }
[data-hcmc-look="text"][data-hcmc-hover="spacing"] :is(button,.hcmc-link):is(:hover,:focus-visible):not(:disabled) { letter-spacing:calc(var(--hcmc-hover-distance,4px) * .15); }
[data-hcmc-trigger] { cursor:pointer; }
[data-hcmc-trigger]:focus-visible { outline:2px solid var(--hcmc-accent,#3347ff); outline-offset:4px; }
@media (prefers-reduced-motion:reduce) {
  [data-hcmc-look="text"] :is(button,.hcmc-link), [data-hcmc-look="text"] :is(button,.hcmc-link)::after { transition:none !important; transform:none !important; letter-spacing:normal !important; }
  [data-hcmc-look="text"][data-hcmc-hover="underline"] :is(button,.hcmc-link)::after { visibility:hidden; }
  [data-hcmc-look="text"][data-hcmc-hover="underline"] :is(button,.hcmc-link):is(:hover,:focus-visible)::after { visibility:visible; }
}

/* Persistent sidebar, independent of the moving scene track. */
.hcmc-nav:is([data-position="overlay-left"],[data-position="overlay-right"]) {
  top:50%; bottom:auto; transform:translateY(-50%); left:var(--hcmc-side-offset,48px); right:auto;
  width:var(--hcmc-side-width,300px); max-width:calc(100% - 2 * var(--hcmc-side-offset,48px));
  max-height:calc(100% - 40px); overflow:auto; flex-direction:column; align-items:stretch;
  padding:16px 0 16px var(--hcmc-side-gap,32px); border-left:2px solid var(--hcmc-color,#182036);
  border-radius:0; background:var(--hcmc-bar-bg,transparent); scrollbar-width:thin;
}
.hcmc-nav[data-position="overlay-right"] { left:auto; right:var(--hcmc-side-offset,48px); }
.hcmc-nav:is([data-position="overlay-left"],[data-position="overlay-right"])[data-side-line="off"] { border-left:0; }
.hcmc-nav:is([data-position="overlay-left"],[data-position="overlay-right"]) .hcmc-nav-buttons {
  flex-direction:column; flex-wrap:nowrap; align-items:flex-start; gap:var(--hcmc-nav-gap,0px); overflow:visible;
}
.hcmc-nav:is([data-position="overlay-left"],[data-position="overlay-right"]) button {
  flex-shrink:0; text-align:left; white-space:normal; max-width:100%; overflow-wrap:anywhere;
}
.hcmc-nav[data-emphasis="active"] button.hcmc-page { font-weight:var(--hcmc-normal-weight,400); }
.hcmc-nav[data-emphasis="active"] button.hcmc-page[aria-current="true"] { font-weight:var(--hcmc-bold-weight,700); }
.hcmc-nav[data-emphasis="inverse"] button.hcmc-page { font-weight:var(--hcmc-bold-weight,700); }
.hcmc-nav[data-emphasis="inverse"] button.hcmc-page[aria-current="true"] { font-weight:var(--hcmc-normal-weight,400); }
@media(max-width:767px) {
  .hcmc-nav:is([data-position="overlay-left"],[data-position="overlay-right"]) {
    left:var(--hcmc-side-offset,20px); width:var(--hcmc-side-width,170px);
    max-width:calc(100% - 2 * var(--hcmc-side-offset,20px)); padding-left:var(--hcmc-side-gap,16px);
  }
  .hcmc-nav[data-position="overlay-right"] { left:auto; right:var(--hcmc-side-offset,20px); }
}

.hcmc-nav-title { flex:0 0 100%; margin:0 0 12px; font:400 1.15em/1.15 Arial,sans-serif; color:var(--hcmc-color,#182036); }
.hcmc-nav:is([data-position="overlay-left"],[data-position="overlay-right"]) .hcmc-nav-title { flex:0 0 auto; font-size:clamp(24px,3vw,40px); }
.hcmc-pin-stage { position:relative; display:block; width:100%; min-width:0; flex:0 0 auto; overflow:visible; }
.hcmc-pinned { position:sticky !important; top:var(--hcmc-offset,0px); align-self:flex-start; width:100%; margin-block:0; }

/* Editor-only overview. Real containers remain available below for widget editing. */
.hcmc-visual-card { flex:0 0 100%; width:100%; min-width:0; padding:24px; border:1px dashed #8794a8; border-radius:8px; order:-999; position:relative; }
.hcmc-visual-caption { font:12px/1.5 Arial,sans-serif !important; color:#344256; background:#ffffffed; padding:8px 12px; margin:0 0 20px; border-radius:4px; }
.hcmc-visual-card .hcmc-visual-nav { position:relative !important; top:auto !important; bottom:auto !important; left:auto !important; right:auto !important; transform:none !important; width:100% !important; max-width:100% !important; max-height:none !important; overflow:visible !important; }
.hcmc-visual-card [contenteditable] { cursor:text !important; min-width:24px; min-height:28px; }
.hcmc-visual-card [contenteditable]:focus { outline:2px solid #6d78ef !important; outline-offset:4px; }
.hcmc-visual-card [contenteditable]:empty::before { content:attr(data-placeholder); opacity:.5; }
