/* GK Guarantee 2.0 — all public selectors are isolated with gkg2-. */
.gkg2 {
  --gkg2-paper: #fff;
  --gkg2-shell: #f4f5f2;
  --gkg2-ink: #131a22;
  --gkg2-muted: #5e6a70;
  --gkg2-line: #e2e5e0;
  --gkg2-line-strong: #cbd0c9;
  --gkg2-accent: #17694a;
  --gkg2-accent-soft: #eaf2ed;
  --gkg2-focus: #1f4fd8;
  --gkg2-ease: cubic-bezier(.22,.61,.36,1);
  --gkg2-panel-width: 420px;
  --gkg2-panel-max-height: 88dvh;
  --gkg2-overlay: rgba(19,26,34,.42);
  --gkg2-z: 99999;
  color: var(--gkg2-ink);
  font-family: inherit;
  line-height: 1.5;
  -webkit-tap-highlight-color: transparent;
}

.gkg2 *,
.gkg2 *::before,
.gkg2 *::after { box-sizing: border-box; }

.gkg2-list {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.gkg2-item { min-width: 0; margin: 0 !important; padding: 0 !important; list-style: none !important; }

.gkg2 .gkg2-card {
  all: unset;
  box-sizing: border-box;
  isolation: isolate;
  position: relative;
  display: grid !important;
  grid-template-columns: 34px minmax(0,1fr) 16px;
  align-items: center;
  column-gap: 12px;
  width: 100% !important;
  min-width: 0;
  min-height: 70px;
  margin: 0 !important;
  padding: 14px 16px;
  overflow: hidden;
  color: var(--gkg2-ink);
  background-color: var(--gkg2-paper);
  background-image: var(--gkg2-card-image,none);
  background-repeat: no-repeat;
  background-position: var(--gkg2-card-position,center);
  background-size: var(--gkg2-card-size,cover);
  border: 1px solid var(--gkg2-line);
  border-radius: 10px;
  cursor: pointer;
  text-align: start;
  text-decoration: none;
  text-transform: none;
  letter-spacing: normal;
  font: inherit;
  box-shadow: none;
  transition: color .18s var(--gkg2-ease), background-color .18s var(--gkg2-ease), border-color .18s var(--gkg2-ease), box-shadow .18s var(--gkg2-ease), transform .18s var(--gkg2-ease);
}

.gkg2 .gkg2-card::before {
  content: "" !important;
  position: absolute;
  z-index: -1;
  inset: 0;
  display: block !important;
  background: var(--gkg2-card-overlay,transparent);
  opacity: 1;
  pointer-events: none;
}

.gkg2 .gkg2-card::after { content: none !important; }
.gkg2 .gkg2-card:hover { background-color: #fafbf9; text-decoration: none; }
.gkg2 .gkg2-card[aria-expanded="true"] { background-color: var(--gkg2-accent-soft); }
.gkg2 .gkg2-card:focus-visible { outline: 2px solid var(--gkg2-focus); outline-offset: -3px; }

.gkg2-copy { min-width: 0; }
.gkg2-title {
  display: block;
  margin: 0;
  color: var(--gkg2-ink);
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.005em;
}
.gkg2-subtitle {
  display: block;
  margin-top: 2px;
  color: var(--gkg2-muted);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
}

.gkg2-media {
  position: relative;
  display: grid !important;
  place-items: center;
  width: 34px;
  height: 34px;
  overflow: hidden;
  flex: 0 0 auto;
  color: var(--gkg2-accent);
  background: var(--gkg2-accent-soft);
  border-radius: 9px;
}
.gkg2-media svg { display: block; width: 18px; height: 18px; fill: currentColor; }
.gkg2-media--reference svg { fill: none; stroke: currentColor; }
.gkg2-media i { color: currentColor; font-size: 18px; line-height: 1; }
.gkg2-media--image img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; border-radius: inherit; }
.gkg2-chevron { display: grid; place-items: center; color: var(--gkg2-line-strong); }
.gkg2-chevron svg { display: block; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
[dir="rtl"] .gkg2-chevron svg { transform: scaleX(-1); }

.gkg2-strip {
  --gkg2-strip-size: 5px;
  position: absolute;
  z-index: -1;
  display: block;
  background-image: var(--gkg2-strip-image,none);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  opacity: var(--gkg2-strip-opacity,1);
  pointer-events: none;
  mix-blend-mode: var(--gkg2-strip-blend,normal);
}
.gkg2-strip--left { inset: 0 auto 0 0; width: var(--gkg2-strip-size); }
.gkg2-strip--right { inset: 0 0 0 auto; width: var(--gkg2-strip-size); }
.gkg2-strip--top { inset: 0 0 auto 0; height: var(--gkg2-strip-size); }
.gkg2-strip--bottom { inset: auto 0 0 0; height: var(--gkg2-strip-size); }
.gkg2-strip--full { inset: 0; }

.gkg2[data-layout="connected"] .gkg2-list { gap: 0; overflow: hidden; background: var(--gkg2-paper); border: 1px solid var(--gkg2-line); border-radius: 14px; }
.gkg2[data-layout="connected"] .gkg2-card { height: 100%; border: 0; border-radius: 0; }
.gkg2[data-layout="connected"] .gkg2-item + .gkg2-item { border-inline-start: 1px solid var(--gkg2-line); }

/* Native dialog keeps the panel in Elementor's style scope while displaying it in the browser top layer. */
.gkg2-dialog {
  box-sizing: border-box;
  position: fixed;
  z-index: var(--gkg2-z);
  inset: 0 0 0 auto;
  display: flex;
  flex-direction: column;
  width: min(var(--gkg2-panel-width),92vw);
  max-width: 100vw;
  height: 100dvh;
  max-height: 100dvh;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: var(--gkg2-muted);
  background: var(--gkg2-paper);
  border: 0;
  border-inline-start: 1px solid var(--gkg2-line);
  border-radius: 0;
  box-shadow: -24px 0 60px -30px rgba(19,26,34,.35);
  font-family: inherit;
  line-height: 1.5;
  opacity: 0;
  visibility: hidden;
  transform: translateX(101%);
  transition: transform .34s var(--gkg2-ease), opacity .25s var(--gkg2-ease), visibility .34s;
}
.gkg2-dialog:not([open]) { display: none; }
.gkg2-dialog[open] { display: flex; }
.gkg2-dialog.is-open { opacity: 1; visibility: visible; transform: translateX(0); }
.gkg2-dialog[data-side="left"] { inset: 0 auto 0 0; border-inline: 0 1px solid var(--gkg2-line); box-shadow: 24px 0 60px -30px rgba(19,26,34,.35); transform: translateX(-101%); }
.gkg2-dialog[data-side="left"].is-open { transform: translateX(0); }
.gkg2-dialog[data-side="center"] {
  inset: 50% auto auto 50%;
  width: min(var(--gkg2-panel-width),calc(100vw - 32px));
  height: auto;
  max-height: var(--gkg2-panel-max-height);
  margin: 0;
  border: 1px solid var(--gkg2-line);
  border-radius: 16px;
  box-shadow: 0 24px 80px -28px rgba(19,26,34,.45);
  transform: translate(-50%,-47%) scale(.98);
}
.gkg2-dialog[data-side="center"].is-open { transform: translate(-50%,-50%) scale(1); }
.gkg2-dialog::backdrop { background: var(--gkg2-overlay); opacity: 0; transition: opacity .28s var(--gkg2-ease); }
.gkg2-dialog.is-open::backdrop { opacity: 1; }

.gkg2-dialog *, .gkg2-dialog *::before, .gkg2-dialog *::after { box-sizing: border-box; }
.gkg2-grab { display: none; flex: 0 0 auto; padding: 9px 0 3px; place-items: center; cursor: grab; touch-action: none; }
.gkg2-grab::before { content: ""; width: 40px; height: 4px; border-radius: 99px; background: var(--gkg2-line-strong); }
.gkg2-dialog.is-dragging { transition: none; }

.gkg2-panel-image { flex: 0 0 auto; overflow: hidden; }
.gkg2-panel-image img { display: block; width: 100%; height: auto; max-height: 240px; object-fit: cover; }
.gkg2-panel-head { display: flex; align-items: flex-start; gap: 12px; flex: 0 0 auto; padding: 14px 18px; border-bottom: 1px solid var(--gkg2-line); }
.gkg2-panel-head-copy { min-width: 0; flex: 1 1 auto; }
.gkg2-panel-title { margin: 0 !important; padding: 0 !important; color: var(--gkg2-ink); font-family: inherit; font-size: 16.5px; font-weight: 700; line-height: 1.3; letter-spacing: -.01em; }
.gkg2-panel-subtitle { margin: 2px 0 0 !important; padding: 0 !important; color: var(--gkg2-muted); font-size: 13px; line-height: 1.4; }
.gkg2-panel-close {
  all: unset;
  box-sizing: border-box;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  margin-inline-start: auto;
  color: var(--gkg2-muted);
  background: var(--gkg2-paper);
  border: 1px solid var(--gkg2-line);
  border-radius: 9px;
  cursor: pointer;
}
.gkg2-panel-close:hover { color: var(--gkg2-ink); background: var(--gkg2-shell); }
.gkg2-panel-close:focus-visible { outline: 2px solid var(--gkg2-focus); outline-offset: 2px; }
.gkg2-panel-close svg { display: block; flex: 0 0 15px; width: 15px !important; min-width: 15px; max-width: 15px; height: 15px !important; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }

.gkg2-panel-body { flex: 1 1 auto; padding: 18px; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.gkg2-panel-lead { max-width: 62ch; margin: 0 0 16px !important; color: var(--gkg2-ink); font-size: 14.5px; line-height: 1.55; }
.gkg2-panel-rich { color: var(--gkg2-muted); font-size: 14px; line-height: 1.55; }
.gkg2-panel-rich > :first-child { margin-top: 0; }
.gkg2-panel-rich > :last-child { margin-bottom: 0; }
.gkg2-panel-rich p { margin: 0 0 14px; }
.gkg2-panel-rich ul { margin: 0 0 18px !important; padding-inline-start: 20px !important; }
.gkg2-panel-rich ol { margin: 0 0 18px !important; padding-inline-start: 22px !important; }
.gkg2-panel-rich li { margin: 0 0 9px; }
.gkg2-panel-rich strong, .gkg2-panel-rich b { color: var(--gkg2-ink); font-weight: 600; }
.gkg2-panel-rich a { color: var(--gkg2-accent); text-decoration: underline; text-underline-offset: 3px; }

.gkg2-facts { margin: 0 0 18px; padding: 0; list-style: none; border-top: 1px solid var(--gkg2-line); }
.gkg2-facts li { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; align-items: baseline; margin: 0; padding: 11px 0; border-bottom: 1px solid var(--gkg2-line); font-size: 14px; }
.gkg2-fact-key { color: var(--gkg2-muted); }
.gkg2-fact-value { color: var(--gkg2-ink); font-weight: 600; text-align: end; }

.gkg2-steps { margin: 0 0 18px; padding: 0; list-style: none; counter-reset: gkg2-step; }
.gkg2-steps li { counter-increment: gkg2-step; position: relative; margin: 0; padding: 0 0 16px 30px; font-size: 14px; }
.gkg2-steps li::before { content: counter(gkg2-step); position: absolute; inset-inline-start: 0; top: -1px; display: grid; place-items: center; width: 20px; height: 20px; color: var(--gkg2-accent); background: var(--gkg2-accent-soft); border-radius: 50%; font-size: 11.5px; font-weight: 700; }
.gkg2-steps li::after { content: ""; position: absolute; inset-inline-start: 9.5px; top: 22px; bottom: 2px; width: 1px; background: var(--gkg2-line); }
.gkg2-steps li:last-child { padding-bottom: 0; }
.gkg2-steps li:last-child::after { display: none; }
.gkg2-step-title { display: block; color: var(--gkg2-ink); font-weight: 600; margin-bottom: 2px; }
.gkg2-step-text { display: block; color: var(--gkg2-muted); }

.gkg2-panel-button { display: inline-flex; align-items: center; justify-content: center; margin: 4px 0 0; padding: 11px 18px; color: #fff !important; background: var(--gkg2-accent); border: 1px solid var(--gkg2-accent); border-radius: 9px; font-size: 14px; font-weight: 600; line-height: 1.2; text-decoration: none !important; transition: filter .18s ease, transform .18s ease; }
.gkg2-panel-button:hover { color: #fff !important; filter: brightness(.94); transform: translateY(-1px); }
.gkg2-panel-note { flex: 0 0 auto; margin: 0 !important; padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); color: var(--gkg2-muted); border-top: 1px solid var(--gkg2-line); font-size: 12.5px; line-height: 1.45; }

body.gkg2-locked { overflow: hidden !important; }

@media (min-width: 720px) {
  .gkg2[data-desktop-flow="vertical"] .gkg2-card { grid-template-columns: 34px minmax(0,1fr); grid-template-rows: auto auto; align-items: start; row-gap: 9px; min-height: 118px; padding: 18px 18px 16px; }
  .gkg2[data-desktop-flow="vertical"] .gkg2-media { grid-column: 1; grid-row: 1; }
  .gkg2[data-desktop-flow="vertical"] .gkg2-copy { grid-column: 1 / -1; grid-row: 2; }
  .gkg2[data-desktop-flow="vertical"] .gkg2-chevron { grid-column: 2; grid-row: 1; justify-self: end; margin-top: 9px; }
}

@media (max-width: 719.98px) {
  .gkg2-list { grid-template-columns: 1fr; }
  .gkg2[data-layout="connected"] .gkg2-item + .gkg2-item { border-inline-start: 0; border-top: 1px solid var(--gkg2-line); }
  .gkg2-dialog:not([data-mobile="drawer"]) {
    inset: auto 0 0 0;
    width: 100%;
    height: auto;
    max-height: var(--gkg2-panel-max-height);
    margin: 0;
    border: 0;
    border-top: 1px solid var(--gkg2-line);
    border-radius: 18px 18px 0 0;
    box-shadow: 0 -20px 50px -25px rgba(19,26,34,.4);
    transform: translateY(101%);
    padding-bottom: env(safe-area-inset-bottom);
  }
  .gkg2-dialog:not([data-mobile="drawer"]).is-open { transform: translateY(0); }
  .gkg2-dialog:not([data-mobile="drawer"]) .gkg2-grab { display: grid; }
  .gkg2-dialog[data-mobile="drawer"][data-side="center"] { inset: 0 0 0 auto; height: 100dvh; max-height: 100dvh; border-radius: 0; transform: translateX(101%); }
  .gkg2-dialog[data-mobile="drawer"][data-side="center"].is-open { transform: translateX(0); }
  .gkg2-panel-head { padding-top: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .gkg2-card, .gkg2-dialog, .gkg2-dialog::backdrop, .gkg2-panel-button { transition-duration: .01ms !important; }
}
