.koppany-mlm-section { margin: 1.5em 0; padding-top: .5em; border-top: 1px solid rgba(0,0,0,.08); }
.koppany-mlm-section h3 { margin: 0 0 .75em; font-size: 1.05em; }
.koppany-mlm-section .description { display: block; margin-top: .35em; font-size: .85em; opacity: .7; }
.koppany-mlm-error { padding: .75em 1em; border-left: 3px solid #b32d2e; background: rgba(179,45,46,.06); }
.koppany-mlm-terms { margin-top: 1em; }
.koppany-customer-type { margin: 0 0 1.5em; }
.koppany-customer-type h3 { margin: 0 0 .6em; font-size: 1.05em; }
.koppany-customer-type__options { list-style: none; margin: 0; padding: 0; display: flex; gap: 1.5em; flex-wrap: wrap; }
.koppany-customer-type__options label { display: flex; align-items: center; gap: .45em; cursor: pointer; }
.koppany-mlm-packages { list-style: none; margin: 0 0 .5em; padding: 0; display: grid; gap: .6em; }
.koppany-mlm-packages li { border: 1px solid rgba(0,0,0,.12); border-radius: 6px; }
.koppany-mlm-packages label { display: grid; grid-template-columns: auto 1fr auto; align-items: center;
  gap: .2em .7em; padding: .75em 1em; cursor: pointer; }
.koppany-mlm-packages__name { font-weight: 600; }
.koppany-mlm-packages__price { font-weight: 600; white-space: nowrap; }
.koppany-mlm-packages__meta { grid-column: 2 / -1; font-size: .85em; opacity: .7; }
.koppany-mlm-packages li:has(input:checked) { border-color: currentColor; background: rgba(0,0,0,.03); }
.koppany-mlm-join__options { list-style:none; margin:0; padding:0; display:grid; gap:.6em; }
.koppany-mlm-join__options li { border:1px solid rgba(0,0,0,.12); border-radius:6px; }
.koppany-mlm-join__options label { display:grid; gap:.15em; padding:.75em 1em; cursor:pointer;
  grid-template-columns:auto 1fr; align-items:start; }
.koppany-mlm-join__name { font-weight:600; }
.koppany-mlm-join__meta { grid-column:2; font-size:.85em; opacity:.7; }
.koppany-mlm-join__options li:has(input:checked) { border-color:currentColor; background:rgba(0,0,0,.03); }
.koppany-agegate { position:fixed; inset:0; z-index:999999; display:flex; align-items:center;
  justify-content:center; padding:1.5rem; background:rgba(12,12,14,.92); backdrop-filter:blur(6px); }
.koppany-agegate__panel { max-width:26rem; width:100%; padding:2rem; border-radius:12px;
  background:#fff; color:#16161a; text-align:center; box-shadow:0 20px 60px rgba(0,0,0,.4); }
.koppany-agegate__title { margin:0 0 .75rem; font-size:1.35rem; }
.koppany-agegate__lead { margin:0 0 1rem; font-size:.95rem; opacity:.75; line-height:1.5; }
.koppany-agegate__question { margin:0 0 1.25rem; font-weight:600; font-size:1.05rem; }
.koppany-agegate__actions { display:flex; flex-direction:column; gap:.6rem; }
.koppany-agegate__yes { padding:.8em 1.4em; border:0; border-radius:6px; cursor:pointer;
  background:#16161a; color:#fff; font-size:1rem; font-weight:600; }
.koppany-agegate__no { padding:.7em 1.4em; border-radius:6px; color:#16161a; opacity:.6;
  text-decoration:underline; font-size:.9rem; }
.koppany-agegate__note { margin:1.25rem 0 0; font-size:.78rem; opacity:.5; }
/* Membership packages rendered from the WooCommerce catalogue */
.koppany-mlm-packages label { grid-template-columns: auto auto 1fr auto; }
.koppany-mlm-packages__media { display: block; width: 56px; }
.koppany-mlm-packages__media img,
.koppany-mlm-packages__img { display: block; width: 56px; height: 56px;
  object-fit: cover; border-radius: 4px; }
.koppany-mlm-packages__body { display: grid; gap: .1em; }
.koppany-mlm-packages__meta { font-size: .85em; opacity: .7; }
.koppany-mlm-packages__price { font-weight: 600; white-space: nowrap; }
.koppany-mlm-packages__price del { opacity: .5; font-weight: 400; }

/* Checkout path banner */
.koppany-checkout-path { margin: 0 0 1.75em; padding: 1.1em 1.35em;
  border: 1px solid rgba(0,0,0,.14); border-radius: 6px; background: rgba(0,0,0,.02); }
.koppany-checkout-path h3 { margin: 0 0 .35em; font-size: 1.05em; }
.koppany-checkout-path p { margin: 0 0 .4em; font-size: .92em; }
.koppany-checkout-path p:last-child { margin-bottom: 0; }
.koppany-checkout-path__note { font-size: .85em !important; opacity: .7; }
.koppany-checkout-path--member { border-left: 4px solid currentColor; }
/* Shop-entry customer type popup */
.koppany-typegate { position: fixed; inset: 0; z-index: 999998; display: flex;
  align-items: center; justify-content: center; padding: 1.5rem;
  background: rgba(12,12,14,.88); backdrop-filter: blur(5px); }
.koppany-typegate[hidden] { display: none !important; }
.koppany-typegate__panel { max-width: 30rem; width: 100%; padding: 2rem;
  border-radius: 12px; background: #fff; color: #16161a; text-align: center;
  box-shadow: 0 20px 60px rgba(0,0,0,.4); }
.koppany-typegate__title { margin: 0 0 .6rem; font-size: 1.25rem; line-height: 1.3; }
.koppany-typegate__lead { margin: 0 0 1.4rem; font-size: .92rem; opacity: .7; }
.koppany-typegate__options { display: grid; gap: .7rem; }
@media (min-width: 30rem) { .koppany-typegate__options { grid-template-columns: 1fr 1fr; } }
.koppany-typegate__option { display: grid; gap: .25rem; padding: 1.1em 1em;
  border: 1px solid rgba(0,0,0,.18); border-radius: 8px; background: #fff;
  color: inherit; font: inherit; text-align: left; cursor: pointer;
  transition: border-color .15s, background .15s; }
.koppany-typegate__option:hover,
.koppany-typegate__option:focus-visible { border-color: #16161a; background: rgba(0,0,0,.03); }
.koppany-typegate__option:focus-visible { outline: 2px solid #16161a; outline-offset: 2px; }
.koppany-typegate__name { font-weight: 600; font-size: 1rem; }
.koppany-typegate__meta { font-size: .82rem; opacity: .65; line-height: 1.45; }
.koppany-typegate__note { margin: 1.3rem 0 0; font-size: .76rem; opacity: .5; }
@media (prefers-reduced-motion: reduce) { .koppany-typegate__option { transition: none; } }

/* ------------------------------------------------------------------ */
/* Checkout gate — three questions asked before billing                */
/* ------------------------------------------------------------------ */

.koppany-gate {
  --kg-line:   rgba(0,0,0,.13);
  --kg-ink:    currentColor;
  --kg-sunk:   rgba(0,0,0,.025);
  display: grid;
  gap: 2.25rem;
  margin: 0 0 2.75rem;
  text-align: left;
}

.koppany-gate__step { display: grid; gap: .85rem; }
.koppany-gate__step[hidden] { display: none !important; }

/* Numbered because these are genuinely sequential — each answer changes
   what the next one asks. */
.koppany-gate__title {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin: 0;
  padding-bottom: .6rem;
  border-bottom: 1px solid var(--kg-line);
  font-size: 1.06rem;
  line-height: 1.3;
  text-align: left;
}

.koppany-gate__n {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 1.65em;
  height: 1.65em;
  border: 1.5px solid var(--kg-ink);
  border-radius: 50%;
  background: transparent;
  color: var(--kg-ink);
  font-size: .72em;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.koppany-gate__lead { margin: -.25rem 0 0; font-size: .88rem; opacity: .68; line-height: 1.5; }

.koppany-gate__signed,
.koppany-gate__forced {
  margin: 0;
  padding: .85em 1.1em;
  border-left: 3px solid var(--kg-ink);
  background: var(--kg-sunk);
  font-size: .92rem;
}

/* Answer cards */
.koppany-gate__options { list-style: none; margin: 0; padding: 0; display: grid; gap: .7rem; }
.koppany-gate__options--2 { grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.koppany-gate__options li { margin: 0; }

.koppany-gate__options label {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .15em .7em;
  align-items: start;
  height: 100%;
  margin: 0;
  padding: .95em 1.1em;
  border: 1px solid var(--kg-line);
  border-radius: 7px;
  cursor: pointer;
  transition: border-color .15s ease, background-color .15s ease;
}
.koppany-gate__options label:hover { border-color: var(--kg-ink); }
.koppany-gate__options input[type="radio"] { grid-row: span 2; margin: .3em 0 0; }
.koppany-gate__name { font-weight: 600; line-height: 1.35; }
.koppany-gate__meta { grid-column: 2; font-size: .84rem; opacity: .68; line-height: 1.5; }
.koppany-gate__options label:has(input:checked) {
  border-color: var(--kg-ink);
  box-shadow: inset 0 0 0 1px var(--kg-ink);
  background: var(--kg-sunk);
}

/* Member fields — left-aligned stacked rows, overriding centred theme forms */
.koppany-gate__fields { display: grid; gap: 1.1rem; max-width: 34rem; }
.koppany-gate__fields .form-row { display: grid; gap: .35rem; margin: 0; padding: 0; float: none; width: 100%; text-align: left; }
.koppany-gate__fields label { display: block; margin: 0; font-weight: 600; font-size: .9rem; text-align: left; }
.koppany-gate__fields .woocommerce-input-wrapper { display: block; width: 100%; }
.koppany-gate__fields input[type="text"],
.koppany-gate__fields input[type="date"],
.koppany-gate__fields select {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: .7em .85em;
  border: 1px solid var(--kg-line);
  border-radius: 5px;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: 1.4;
}
.koppany-gate__fields input:focus,
.koppany-gate__fields select:focus { outline: 2px solid var(--kg-ink); outline-offset: 1px; border-color: var(--kg-ink); }
.koppany-gate__fields input[readonly] { background: var(--kg-sunk); cursor: not-allowed; }
.koppany-gate__hint { display: block; font-size: .8rem; opacity: .62; line-height: 1.5; }

/* Membership opt-in for a customer who is already signed in, and the detail
   fields it reveals */
.koppany-gate__join { display: grid; gap: .35rem; margin: 0; padding: 0; float: none; width: 100%; }
.koppany-gate__join .checkbox { display: flex; align-items: flex-start; gap: .55em; margin: 0; font-weight: 600; font-size: .95rem; }
.koppany-gate__join .checkbox input { flex: 0 0 auto; margin: .25em 0 0; width: auto; }
#koppany-member-fields { display: grid; gap: .85rem; }
#koppany-member-fields[hidden] { display: none !important; }

/* Terms checkbox sits inline, not stacked like the inputs */
.koppany-gate__fields .checkbox { display: flex; align-items: flex-start; gap: .55em; font-weight: 400; font-size: .92rem; }
.koppany-gate__fields .checkbox input { flex: 0 0 auto; margin: .25em 0 0; width: auto; }

@media (prefers-reduced-motion: reduce) {
  .koppany-gate__options label { transition: none; }
}

/* ------------------------------------------------------------------ */
/* Replica storefront — whose shop this is                             */
/* ------------------------------------------------------------------ */
.koppany-replica {
  background: #16161a; color: #fff; font-size: .9rem; line-height: 1.45;
}
.koppany-replica__inner {
  max-width: 75rem; margin: 0 auto; padding: .7rem 1.2rem;
  display: flex; align-items: center; gap: .85rem; flex-wrap: wrap;
}
.koppany-replica__avatar {
  flex: 0 0 auto; width: 2.4rem; height: 2.4rem; border-radius: 50%;
  overflow: hidden; background: rgba(255,255,255,.14);
  display: grid; place-items: center;
}
.koppany-replica__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.koppany-replica__initial { font-weight: 700; font-size: 1rem; }
.koppany-replica__text { display: grid; gap: .1rem; min-width: 0; flex: 1 1 16rem; }
.koppany-replica__title { font-size: 1rem; font-weight: 700; }
.koppany-replica__meta { opacity: .72; font-size: .82rem; }
.koppany-replica__cta {
  flex: 0 0 auto; padding: .5em 1.1em; border-radius: 999px;
  background: #fff; color: #16161a !important; font-weight: 600;
  text-decoration: none; white-space: nowrap;
}
.koppany-replica__cta:hover { background: rgba(255,255,255,.86); }

/* "Your referral link" on the account dashboard */
.koppany-share {
  margin: 0 0 2rem; padding: 1.25rem 1.4rem;
  border: 1px solid rgba(0,0,0,.12); border-radius: 10px;
}
.koppany-share__title { margin: 0 0 .3rem; font-size: 1.05rem; }
.koppany-share__lead { margin: 0 0 .9rem; font-size: .88rem; opacity: .7; line-height: 1.5; }
.koppany-share__row { display: flex; gap: .5rem; flex-wrap: wrap; }
.koppany-share__input {
  flex: 1 1 18rem; min-width: 0; padding: .65em .8em; font-size: .9rem;
  border: 1px solid rgba(0,0,0,.2); border-radius: 6px; background: #fafafa;
}
.koppany-share__copy { flex: 0 0 auto; cursor: pointer; }

@media (max-width: 30rem) {
  .koppany-replica__meta { display: none; }
  .koppany-replica__inner { padding: .6rem .9rem; gap: .6rem; }
}

/* ------------------------------------------------------------------ */
/* Auto-ship (§16)                                                      */
/* ------------------------------------------------------------------ */
.koppany-autoship-optin {
  display: grid; gap: .3rem; margin: 0 0 1.2em; padding: .9em 1.1em;
  border: 1px solid rgba(0,0,0,.14); border-radius: 6px; background: rgba(0,0,0,.02);
}
.koppany-autoship-optin .checkbox { display: flex; align-items: flex-start; gap: .55em; margin: 0; font-weight: 600; }
.koppany-autoship-optin .checkbox input { flex: 0 0 auto; margin: .25em 0 0; width: auto; }
.koppany-autoship-optin__hint { font-size: .82rem; opacity: .68; line-height: 1.5; }

.koppany-autoship__head { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin-bottom: 1.1rem; }
.koppany-autoship__status {
  display: inline-block; padding: .28em .75em; border-radius: 999px;
  font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  background: rgba(0,0,0,.08);
}
.koppany-autoship__status--active { background: #e2f0e9; color: #1b6e4a; }
.koppany-autoship__status--payment-failed,
.koppany-autoship__status--expired { background: #f3e3e3; color: #8e3b3b; }
.koppany-autoship__status--grace { background: #f7ebd5; color: #96600a; }
.koppany-autoship__status--paused { background: #e7ecf0; color: #56636f; }
.koppany-autoship__next { font-size: .92rem; opacity: .75; }
.koppany-autoship__lead { font-size: 1.02rem; }
.koppany-autoship__subhead { margin: 2rem 0 .6rem; font-size: 1.05rem; }

.koppany-autoship__alert {
  display: grid; gap: .25rem; margin: 0 0 1.4rem; padding: .95em 1.15em;
  border-left: 4px solid #8e3b3b; background: rgba(142,59,59,.06); font-size: .92rem;
}
.koppany-autoship__alert strong { font-weight: 700; }

.koppany-autoship__table { width: 100%; border-collapse: collapse; margin-bottom: 1rem; }
.koppany-autoship__table th,
.koppany-autoship__table td { padding: .65em .7em; text-align: left; border-bottom: 1px solid rgba(0,0,0,.1); }
.koppany-autoship__table th { font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; opacity: .65; }
.koppany-autoship__table input[type="number"] { width: 5.5em; padding: .35em .5em; }
.koppany-autoship__table del { opacity: .5; margin-right: .35em; }

.koppany-autoship__hint { font-size: .82rem; opacity: .62; margin: -.4rem 0 1.2rem; }
.koppany-autoship__row { display: flex; align-items: center; gap: .55em; flex-wrap: wrap; margin-bottom: 1.3rem; }
.koppany-autoship__row label { font-weight: 600; }
.koppany-autoship__row input { width: 6em; padding: .4em .55em; }
.koppany-autoship__actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.koppany-autoship__cancel { opacity: .75; }
.koppany-autoship-optin__items { font-size: .85rem; opacity: .72; }
.koppany-autoship-optin__freq { display: flex; align-items: center; gap: .55em; flex-wrap: wrap; margin: .35rem 0 0; }
.koppany-autoship-optin__freq label { font-weight: 600; font-size: .9rem; }
.koppany-autoship-optin__freq select { padding: .4em .6em; }
.koppany-autoship-badge {
  display: grid; gap: .15rem; margin: 1em 0; padding: .8em 1em;
  border-left: 3px solid currentColor; background: rgba(0,0,0,.03); font-size: .9rem;
}
.koppany-autoship-badge span { opacity: .7; font-size: .85rem; }
