/* =========================================================
   IONTMAX – Registrace provizního partnera
   vizuálně sjednoceno s košíkem
   ========================================================= */

body:has(form[action="/action/Affiliate/Register/"]) {
  --im-aff-text: #111214;
  --im-aff-muted: #6b7280;
  --im-aff-line: #ececec;
  --im-aff-soft: #f6f6f7;
  --im-aff-card: #ffffff;
  --im-aff-accent: #303233;
  --im-aff-radius: 14px;

  background: var(--im-aff-soft) !important;
}

/* Pozadí celé obsahové části */
body:has(form[action="/action/Affiliate/Register/"]) #content-wrapper,
body:has(form[action="/action/Affiliate/Register/"]) .content-wrapper-in,
body:has(form[action="/action/Affiliate/Register/"]) #content {
  background: var(--im-aff-soft) !important;
}

/* Hlavní kontejner stránky */
body:has(form[action="/action/Affiliate/Register/"]) .content-inner {
  width: min(calc(100% - 32px), 860px) !important;
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 40px 0 64px !important;
}

/* Hlavní nadpis */
body:has(form[action="/action/Affiliate/Register/"]) .content-inner > h1 {
  margin: 0 0 24px !important;
  color: var(--im-aff-text) !important;
  font-size: clamp(26px, 4vw, 36px) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  text-transform: none !important;
}

/* Bílá karta */
body:has(form[action="/action/Affiliate/Register/"])
.registration-form fieldset.box {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 28px !important;
  border: 1px solid var(--im-aff-line) !important;
  border-radius: var(--im-aff-radius) !important;
  background: var(--im-aff-card) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

/* Nadpisy jednotlivých sekcí */
body:has(form[action="/action/Affiliate/Register/"])
.registration-form h4 {
  margin: 30px 0 18px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid var(--im-aff-line) !important;
  color: var(--im-aff-text) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-transform: none !important;
}

body:has(form[action="/action/Affiliate/Register/"])
.registration-form h4:first-child {
  margin-top: 0 !important;
}

/* Řádky formuláře */
body:has(form[action="/action/Affiliate/Register/"])
.registration-form .form-group {
  position: relative !important;
  margin: 0 0 18px !important;
}

/* Popisky */
body:has(form[action="/action/Affiliate/Register/"])
.registration-form .form-group > label:not(.whole-width) {
  display: block !important;
  width: 100% !important;
  margin: 0 0 7px !important;
  color: var(--im-aff-text) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-align: left !important;
}

/* Inputy */
body:has(form[action="/action/Affiliate/Register/"])
.registration-form .form-control {
  width: 100% !important;
  max-width: none !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid var(--im-aff-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--im-aff-text) !important;
  font-size: 15px !important;
  line-height: normal !important;
  box-shadow: none !important;
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease !important;
}

body:has(form[action="/action/Affiliate/Register/"])
.registration-form .form-control:focus {
  border-color: var(--im-aff-accent) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(48, 50, 51, 0.08) !important;
}

body:has(form[action="/action/Affiliate/Register/"])
.registration-form .form-control::placeholder {
  color: #9ca3af !important;
}

/* Povinná hvězdička */
body:has(form[action="/action/Affiliate/Register/"])
.registration-form .required-asterisk::after {
  color: #b42318 !important;
}

/* GDPR / potvrzení */
body:has(form[action="/action/Affiliate/Register/"])
.registration-form .consents {
  margin: 22px 0 0 !important;
  padding: 16px 18px !important;
  border: 1px solid var(--im-aff-line) !important;
  border-radius: 12px !important;
  background: var(--im-aff-soft) !important;
}

body:has(form[action="/action/Affiliate/Register/"])
.registration-form .consents label.whole-width {
  display: block !important;
  margin: 0 !important;
  color: var(--im-aff-muted) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

body:has(form[action="/action/Affiliate/Register/"])
.registration-form .consents a {
  color: var(--im-aff-text) !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 2px !important;
}

body:has(form[action="/action/Affiliate/Register/"])
.registration-form .consents a:hover {
  color: #000 !important;
}

/* Odesílací část */
body:has(form[action="/action/Affiliate/Register/"])
.registration-form .submit-wrapper {
  margin: 24px 0 0 !important;
}

body:has(form[action="/action/Affiliate/Register/"])
.registration-form .submit-wrapper p {
  margin: 0 !important;
}

/* Tlačítko */
body:has(form[action="/action/Affiliate/Register/"])
.registration-form .submit-wrapper .btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--im-aff-accent) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

body:has(form[action="/action/Affiliate/Register/"])
.registration-form .submit-wrapper .btn:hover,
body:has(form[action="/action/Affiliate/Register/"])
.registration-form .submit-wrapper .btn:focus {
  background: #1a1b1d !important;
  color: #fff !important;
}

/* Chybové zprávy */
body:has(form[action="/action/Affiliate/Register/"])
.registration-form .js-error-field,
body:has(form[action="/action/Affiliate/Register/"])
.registration-form .form-control.error {
  border-color: #b42318 !important;
}

body:has(form[action="/action/Affiliate/Register/"])
.registration-form .error,
body:has(form[action="/action/Affiliate/Register/"])
.registration-form .js-error {
  color: #b42318 !important;
  font-size: 12px !important;
}

/* Mobil */
@media (max-width: 767px) {
  body:has(form[action="/action/Affiliate/Register/"]) .content-inner {
    width: auto !important;
    margin: 0 !important;
    padding: 24px 12px 48px !important;
  }

  body:has(form[action="/action/Affiliate/Register/"])
  .content-inner > h1 {
    margin-bottom: 18px !important;
    font-size: 26px !important;
    text-align: left !important;
  }

  body:has(form[action="/action/Affiliate/Register/"])
  .registration-form fieldset.box {
    padding: 20px 16px !important;
  }

  body:has(form[action="/action/Affiliate/Register/"])
  .registration-form h4 {
    margin-top: 26px !important;
    font-size: 16px !important;
  }
}

/* =========================================================
   IONTMAX AFFILIATE FIX V5
   Předvolba telefonu zůstává kompletně v originálním stylu Shoptetu.
   ========================================================= */

/* DIČ: skrýt pouze otazník hned za polem */
html body form.registration-form #vatId + span.show-tooltip.question-tooltip.form-group-tooltip {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/*
 * Telefonní řádek:
 * - předvolba .country-flags není nijak stylována,
 * - zachovává původní vzhled, rozměry i chování Shoptetu,
 * - mezi předvolbou a číslem je pouze 15px mezera.
 */
html body form.registration-form .phone-form-group > .phone-combined-input {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

html body form.registration-form .phone-form-group > .phone-combined-input:focus-within {
  border: 0 !important;
  box-shadow: none !important;
}

/* Samostatně upravené je pouze pole pro telefonní číslo */
html body form.registration-form .phone-combined-input > input#phone.form-control {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 1px solid var(--im-aff-line, #ececec) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: var(--im-aff-text, #111214) !important;
  box-shadow: none !important;
}

html body form.registration-form .phone-combined-input > input#phone.form-control:focus {
  border-color: var(--im-aff-accent, #303233) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(48, 50, 51, 0.08) !important;
}

/* Na mobilu se řádek nesmí roztahovat mimo kartu */
@media (max-width: 767px) {
  html body form.registration-form .phone-form-group > .phone-combined-input {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* =========================================================
   IONTMAX AFFILIATE V6
   Výraznější názvy sekcí formuláře
   ========================================================= */

html body form.registration-form fieldset.box > h4 {
  display: block !important;
  margin: 0 0 22px 0 !important;
  padding: 0 0 12px 14px !important;
  border-bottom: 1px solid var(--im-aff-line, #e7e7e7) !important;
  border-left: 4px solid var(--im-aff-accent, #303233) !important;
  color: var(--im-aff-text, #111214) !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
}

/* Popisky inputů zůstávají menší a méně výrazné než názvy sekcí */
html body form.registration-form .form-group > label {
  color: #4f5255 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

/* Větší odsazení mezi jednotlivými sekcemi */
html body form.registration-form fieldset.box + fieldset.box {
  margin-top: 26px !important;
}

/* =========================================================
   IONTMAX AFFILIATE V7
   Přihlášení + zapomenuté heslo ve stejném designu
   ========================================================= */

/* Sdílené proměnné a pozadí pro přihlášení a obnovu hesla */
body:has(#formAffiliateLogin),
body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) {
  --im-aff-text: #111214;
  --im-aff-muted: #6b7280;
  --im-aff-line: #ececec;
  --im-aff-soft: #f6f6f7;
  --im-aff-card: #ffffff;
  --im-aff-accent: #303233;
  --im-aff-radius: 14px;

  background: var(--im-aff-soft) !important;
}

body:has(#formAffiliateLogin) #content-wrapper,
body:has(#formAffiliateLogin) .content-wrapper-in,
body:has(#formAffiliateLogin) #content,
body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) #content-wrapper,
body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) .content-wrapper-in,
body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) #content {
  background: var(--im-aff-soft) !important;
}

/* Prázdný levý sidebar na stránce zapomenutého hesla */
body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) .sidebar-left {
  display: none !important;
}

body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) #content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
}

/* Hlavní obsah */
body:has(#formAffiliateLogin) .content-inner,
body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) .content-inner {
  width: min(calc(100% - 32px), 680px) !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  padding: 40px 0 64px !important;
}

/* Hlavní nadpis stránky */
body:has(#formAffiliateLogin) .content-inner > h1,
body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) .content-inner > h1 {
  margin: 0 0 24px !important;
  color: var(--im-aff-text) !important;
  font-size: clamp(26px, 4vw, 36px) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  text-transform: none !important;
}

/* Karta přihlášení */
body:has(#formAffiliateLogin) #formAffiliateLogin {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 28px !important;
  border: 1px solid var(--im-aff-line) !important;
  border-radius: var(--im-aff-radius) !important;
  background: var(--im-aff-card) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

/* Karta zapomenutého hesla */
body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) #formForgottenPassword {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) #formForgottenPassword fieldset {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 28px !important;
  border: 1px solid var(--im-aff-line) !important;
  border-radius: var(--im-aff-radius) !important;
  background: var(--im-aff-card) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

/* Nadpisy uvnitř karet */
body:has(#formAffiliateLogin) #formAffiliateLogin > h2,
body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) #formForgottenPassword fieldset > h2 {
  display: block !important;
  margin: 0 0 22px !important;
  padding: 0 0 12px 14px !important;
  border-bottom: 1px solid var(--im-aff-line) !important;
  border-left: 4px solid var(--im-aff-accent) !important;
  color: var(--im-aff-text) !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  text-align: left !important;
  text-transform: none !important;
}

/* Úvodní text zapomenutého hesla */
body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) #formForgottenPassword fieldset > p {
  margin: -2px 0 22px !important;
  color: var(--im-aff-muted) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

/* Form-group */
body:has(#formAffiliateLogin) #formAffiliateLogin .form-group,
body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) #formForgottenPassword .form-group {
  position: relative !important;
  margin: 0 0 18px !important;
}

/* Popisek e-mailu na zapomenutém hesle */
body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) #formForgottenPassword .form-group > label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 7px !important;
  color: #4f5255 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-align: left !important;
}

/* Inputy přihlášení a zapomenutého hesla */
body:has(#formAffiliateLogin) #formAffiliateLogin .form-control,
body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) #formForgottenPassword .form-control {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid var(--im-aff-line) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: var(--im-aff-text) !important;
  font-size: 15px !important;
  line-height: normal !important;
  box-shadow: none !important;
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease !important;
}

body:has(#formAffiliateLogin) #formAffiliateLogin .form-control:focus,
body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) #formForgottenPassword .form-control:focus {
  border-color: var(--im-aff-accent) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(48, 50, 51, 0.08) !important;
}

body:has(#formAffiliateLogin) #formAffiliateLogin .form-control::placeholder,
body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) #formForgottenPassword .form-control::placeholder {
  color: #9ca3af !important;
  opacity: 1 !important;
}

/* Přihlašovací část */
body:has(#formAffiliateLogin) #formAffiliateLogin .login-wrapper {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 4px 0 0 !important;
}

/* Tlačítka */
body:has(#formAffiliateLogin) #formAffiliateLogin .btn-login,
body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) #formForgottenPassword input[type="submit"].btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--im-aff-accent) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.04em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

body:has(#formAffiliateLogin) #formAffiliateLogin .btn-login:hover,
body:has(#formAffiliateLogin) #formAffiliateLogin .btn-login:focus,
body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) #formForgottenPassword input[type="submit"].btn:hover,
body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) #formForgottenPassword input[type="submit"].btn:focus {
  background: #1a1b1d !important;
  color: #ffffff !important;
}

/* Odkazy pod přihlášením */
body:has(#formAffiliateLogin) #formAffiliateLogin .password-helper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px 22px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 16px 0 0 !important;
  border-top: 1px solid var(--im-aff-line) !important;
}

body:has(#formAffiliateLogin) #formAffiliateLogin .password-helper a {
  color: var(--im-aff-text) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

body:has(#formAffiliateLogin) #formAffiliateLogin .password-helper a:hover,
body:has(#formAffiliateLogin) #formAffiliateLogin .password-helper a:focus {
  color: #000000 !important;
}

/* Odesílací skupina zapomenutého hesla */
body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) #formForgottenPassword .login-wrapper {
  margin: 24px 0 0 !important;
}

/* Mobilní zobrazení */
@media (max-width: 767px) {
  body:has(#formAffiliateLogin) .content-inner,
  body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) .content-inner {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 24px 12px 48px !important;
  }

  body:has(#formAffiliateLogin) .content-inner > h1,
  body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) .content-inner > h1 {
    margin-bottom: 18px !important;
    font-size: 26px !important;
    text-align: left !important;
  }

  body:has(#formAffiliateLogin) #formAffiliateLogin,
  body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) #formForgottenPassword fieldset {
    padding: 20px 16px !important;
  }

  body:has(#formAffiliateLogin) #formAffiliateLogin > h2,
  body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) #formForgottenPassword fieldset > h2 {
    font-size: 17px !important;
  }

  body:has(#formAffiliateLogin) #formAffiliateLogin .password-helper {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    flex-direction: column !important;
    gap: 10px !important;
  }
}

/* =========================================================
   IONTMAX AFFILIATE V8
   Minimální výška hlavního obsahu 90vh
   ========================================================= */

/* Registrace provizního partnera */
body:has(form[action="/action/Affiliate/Register/"]) main#content,
body:has(form[action="/action/Affiliate/Register/"]) .content-inner,

/* Přihlášení do provizního programu */
body:has(#formAffiliateLogin) main#content,
body:has(#formAffiliateLogin) .content-inner,

/* Obnova hesla pouze pro affiliate formulář */
body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) main#content,
body:has(form[action="/action/Affiliate/sendForgottenPassword/"]) .content-inner {
  min-height: 90vh !important;
}

/* =========================================================
   IONTMAX AFFILIATE V9
   Affiliate centrum – dashboard, menu, tabulky, bannery,
   odkazy, kupóny a úprava účtu ve stejném designu
   ========================================================= */

/* Aktivace pouze na přihlášeném Affiliate centru */
body:has(#affiliateIntroduction) {
  --im-aff-text: #111214;
  --im-aff-muted: #6b7280;
  --im-aff-line: #ececec;
  --im-aff-soft: #f6f6f7;
  --im-aff-card: #ffffff;
  --im-aff-accent: #303233;
  --im-aff-radius: 14px;

  background: var(--im-aff-soft) !important;
}

body:has(#affiliateIntroduction) #content-wrapper,
body:has(#affiliateIntroduction) .content-wrapper-in,
body:has(#affiliateIntroduction) main#content {
  background: var(--im-aff-soft) !important;
}

/* Celkové rozložení centra */
body:has(#affiliateIntroduction) .content-wrapper-in {
  display: grid !important;
  grid-template-columns: 240px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 28px !important;
  width: 100% !important;
}

body:has(#affiliateIntroduction) main#content {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 90vh !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:has(#affiliateIntroduction) main#content > .content-inner {
  width: 100% !important;
  max-width: 1060px !important;
  min-height: 90vh !important;
  margin: 0 !important;
  padding: 40px 0 64px !important;
}

/* Hlavní nadpis */
body:has(#affiliateIntroduction) main#content > .content-inner > h1 {
  margin: 0 0 24px !important;
  color: var(--im-aff-text) !important;
  font-size: clamp(28px, 4vw, 38px) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  text-align: left !important;
  text-transform: none !important;
}

/* =========================================================
   LEVÉ MENU
   ========================================================= */

body:has(#affiliateIntroduction) aside.sidebar-left {
  position: relative !important;
  display: block !important;
  width: 240px !important;
  min-width: 240px !important;
  max-width: 240px !important;
  margin: 0 !important;
  padding: 40px 0 64px !important;
}

body:has(#affiliateIntroduction) aside.sidebar-left .sidebar-inner {
  position: sticky !important;
  top: 20px !important;
  width: 100% !important;
}

body:has(#affiliateIntroduction) aside.sidebar-left .box {
  margin: 0 !important;
  padding: 10px !important;
  border: 1px solid var(--im-aff-line) !important;
  border-radius: var(--im-aff-radius) !important;
  background: var(--im-aff-card) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

body:has(#affiliateIntroduction) aside.sidebar-left ul {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body:has(#affiliateIntroduction) aside.sidebar-left li {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body:has(#affiliateIntroduction) aside.sidebar-left li > a {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 10px 13px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #4f5255 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  text-align: left !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition:
    background-color 0.15s ease,
    color 0.15s ease !important;
}

body:has(#affiliateIntroduction) aside.sidebar-left li > a:hover,
body:has(#affiliateIntroduction) aside.sidebar-left li > a:focus {
  background: var(--im-aff-soft) !important;
  color: var(--im-aff-text) !important;
}

body:has(#affiliateIntroduction) aside.sidebar-left li.active > a,
body:has(#affiliateIntroduction) aside.sidebar-left li > a[aria-expanded="true"] {
  background: var(--im-aff-accent) !important;
  color: #ffffff !important;
}

/* Název partnera v menu */
body:has(#affiliateIntroduction) aside.sidebar-left li:first-child > a {
  min-height: 50px !important;
  margin-bottom: 4px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--im-aff-line) !important;
  border-radius: 8px !important;
  color: var(--im-aff-text) !important;
  font-size: 16px !important;
}

body:has(#affiliateIntroduction) aside.sidebar-left li:first-child > a strong {
  font-weight: 800 !important;
}

/* Odhlášení */
body:has(#affiliateIntroduction) aside.sidebar-left li.logout {
  order: 20 !important;
  margin-top: 6px !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--im-aff-line) !important;
}

body:has(#affiliateIntroduction) aside.sidebar-left li.logout > a {
  justify-content: center !important;
  min-height: 42px !important;
  border: 1px solid var(--im-aff-line) !important;
  background: #ffffff !important;
  color: var(--im-aff-text) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

body:has(#affiliateIntroduction) aside.sidebar-left li.logout > a:hover,
body:has(#affiliateIntroduction) aside.sidebar-left li.logout > a:focus {
  border-color: var(--im-aff-accent) !important;
  background: var(--im-aff-accent) !important;
  color: #ffffff !important;
}

/* =========================================================
   PANELY A SEKCE
   ========================================================= */

body:has(#affiliateIntroduction) .tab-content {
  width: 100% !important;
  min-width: 0 !important;
}

body:has(#affiliateIntroduction) .tab-content > .tab-pane {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 28px !important;
  border: 1px solid var(--im-aff-line) !important;
  border-radius: var(--im-aff-radius) !important;
  background: var(--im-aff-card) !important;
  color: var(--im-aff-text) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

/* Nadpis každé záložky */
body:has(#affiliateIntroduction) .tab-content > .tab-pane > h2,
body:has(#affiliateIntroduction) #affiliateIntroduction .col-md-6 > h2 {
  display: block !important;
  margin: 0 0 22px !important;
  padding: 0 0 12px 14px !important;
  border-bottom: 1px solid var(--im-aff-line) !important;
  border-left: 4px solid var(--im-aff-accent) !important;
  color: var(--im-aff-text) !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  text-align: left !important;
  text-transform: none !important;
}

/* Přehled provizí a kliknutí */
body:has(#affiliateIntroduction) #affiliateIntroduction > .row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
  margin: 0 !important;
}

body:has(#affiliateIntroduction) #affiliateIntroduction > .row > [class*="col-"] {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 22px !important;
  border: 1px solid var(--im-aff-line) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
}

/* =========================================================
   TABULKY
   ========================================================= */

body:has(#affiliateIntroduction) .tab-pane .table {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  border: 1px solid var(--im-aff-line) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  overflow: hidden !important;
}

body:has(#affiliateIntroduction) .tab-pane .table th,
body:has(#affiliateIntroduction) .tab-pane .table td {
  padding: 13px 15px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--im-aff-line) !important;
  color: var(--im-aff-text) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  text-align: left !important;
  vertical-align: middle !important;
}

body:has(#affiliateIntroduction) .tab-pane .table thead th {
  background: var(--im-aff-soft) !important;
  color: #4f5255 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

body:has(#affiliateIntroduction) .tab-pane .table tbody tr:last-child td {
  border-bottom: 0 !important;
}

body:has(#affiliateIntroduction) .tab-pane .table tbody tr:hover td {
  background: #fafafa !important;
}

body:has(#affiliateIntroduction) .tab-pane .table a {
  color: var(--im-aff-text) !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* =========================================================
   MŮJ ÚČET
   ========================================================= */

body:has(#affiliateIntroduction) #affiliateMyAccount #reg-form {
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 !important;
}

body:has(#affiliateIntroduction) #affiliateMyAccount #reg-form fieldset {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body:has(#affiliateIntroduction) #affiliateMyAccount #reg-form fieldset > h4 {
  display: block !important;
  margin: 26px 0 22px !important;
  padding: 0 0 12px 14px !important;
  border-bottom: 1px solid var(--im-aff-line) !important;
  border-left: 4px solid var(--im-aff-accent) !important;
  color: var(--im-aff-text) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
}

body:has(#affiliateIntroduction) #affiliateMyAccount #reg-form fieldset > h4:first-child {
  margin-top: 0 !important;
}

body:has(#affiliateIntroduction) #affiliateMyAccount #reg-form .form-group {
  position: relative !important;
  width: 100% !important;
  margin: 0 0 18px !important;
}

body:has(#affiliateIntroduction) #affiliateMyAccount #reg-form .form-group > label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 7px !important;
  color: #4f5255 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-align: left !important;
}

body:has(#affiliateIntroduction) #affiliateMyAccount #reg-form .form-control {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid var(--im-aff-line) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: var(--im-aff-text) !important;
  font-size: 15px !important;
  box-shadow: none !important;
}

body:has(#affiliateIntroduction) #affiliateMyAccount #reg-form .form-control:focus {
  border-color: var(--im-aff-accent) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(48, 50, 51, 0.08) !important;
}

/* DIČ tooltip */
body:has(#affiliateIntroduction) #affiliateMyAccount #vatId + span.show-tooltip.question-tooltip.form-group-tooltip {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/*
 * Telefon – předvolba zůstává originální.
 * Mění se pouze rozložení a input čísla.
 */
body:has(#affiliateIntroduction) #affiliateMyAccount .phone-combined-input {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body:has(#affiliateIntroduction) #affiliateMyAccount .phone-combined-input:focus-within {
  border: 0 !important;
  box-shadow: none !important;
}

body:has(#affiliateIntroduction) #affiliateMyAccount .phone-combined-input > input#phone.form-control {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
}

/* Odeslání formuláře účtu */
body:has(#affiliateIntroduction) #affiliateMyAccount .submit-wrapper {
  margin-top: 28px !important;
}

body:has(#affiliateIntroduction) #affiliateMyAccount .submit-wrapper p {
  margin: 0 !important;
}

body:has(#affiliateIntroduction) #affiliateMyAccount .submit-wrapper .btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--im-aff-accent) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

body:has(#affiliateIntroduction) #affiliateMyAccount .submit-wrapper .btn:hover,
body:has(#affiliateIntroduction) #affiliateMyAccount .submit-wrapper .btn:focus {
  background: #1a1b1d !important;
  color: #ffffff !important;
}

/* =========================================================
   BANNERY, ODKAZY A KÓDY
   ========================================================= */

body:has(#affiliateIntroduction) #affiliateBanners .affiliate-banner {
  margin: 0 !important;
  padding: 22px !important;
  border: 1px solid var(--im-aff-line) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
}

body:has(#affiliateIntroduction) #affiliateBanners .affiliate-banner + .affiliate-banner {
  margin-top: 20px !important;
}

body:has(#affiliateIntroduction) #affiliateBanners .affiliate-banner > h3 {
  margin: 0 0 18px !important;
  color: var(--im-aff-text) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}

body:has(#affiliateIntroduction) #affiliateBanners .affiliate-banner > p {
  margin: 0 0 18px !important;
}

body:has(#affiliateIntroduction) #affiliateBanners .affiliate-banner img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 420px !important;
  border: 1px solid var(--im-aff-line) !important;
  border-radius: 10px !important;
  object-fit: contain !important;
}

body:has(#affiliateIntroduction) .url-generation-box {
  margin: 0 0 16px !important;
}

body:has(#affiliateIntroduction) .url-generation-box > p {
  margin: 0 !important;
}

body:has(#affiliateIntroduction) .url-generation-box .btn,
body:has(#affiliateIntroduction) #affiliateBanners input[type="submit"].btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--im-aff-accent) !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

body:has(#affiliateIntroduction) .url-generation-box .btn:hover,
body:has(#affiliateIntroduction) .url-generation-box .btn:focus,
body:has(#affiliateIntroduction) #affiliateBanners input[type="submit"].btn:hover,
body:has(#affiliateIntroduction) #affiliateBanners input[type="submit"].btn:focus {
  background: #1a1b1d !important;
  color: #ffffff !important;
}

body:has(#affiliateIntroduction) .html-code textarea.form-control,
body:has(#affiliateIntroduction) #affiliateLinks textarea.form-control {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 96px !important;
  margin: 0 !important;
  padding: 13px 14px !important;
  border: 1px solid var(--im-aff-line) !important;
  border-radius: 10px !important;
  background: var(--im-aff-soft) !important;
  color: #35373a !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  resize: vertical !important;
  box-shadow: none !important;
}

body:has(#affiliateIntroduction) .html-code textarea.form-control:focus,
body:has(#affiliateIntroduction) #affiliateLinks textarea.form-control:focus {
  border-color: var(--im-aff-accent) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(48, 50, 51, 0.08) !important;
}

/* Kupón opticky jako kód */
body:has(#affiliateIntroduction) #affiliateCoupons tbody td:first-child {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
  font-weight: 800 !important;
  letter-spacing: 0.03em !important;
}

/* =========================================================
   RESPONSIVNÍ ZOBRAZENÍ
   ========================================================= */

@media (max-width: 991px) {
  body:has(#affiliateIntroduction) .content-wrapper-in {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 24px 0 0 !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left .sidebar-inner {
    position: static !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left .box {
    padding: 8px !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left ul {
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain !important;
    scrollbar-width: thin !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left li {
    flex: 0 0 auto !important;
    width: auto !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left li > a {
    width: auto !important;
    min-height: 42px !important;
    padding: 9px 13px !important;
    white-space: nowrap !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left li:first-child > a {
    margin: 0 4px 0 0 !important;
    padding-bottom: 9px !important;
    border: 0 !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left li.logout {
    order: initial !important;
    margin: 0 0 0 4px !important;
    padding: 0 0 0 8px !important;
    border-top: 0 !important;
    border-left: 1px solid var(--im-aff-line) !important;
  }

  body:has(#affiliateIntroduction) main#content > .content-inner {
    max-width: none !important;
    padding-top: 28px !important;
  }
}

@media (max-width: 767px) {
  body:has(#affiliateIntroduction) main#content > .content-inner {
    width: auto !important;
    margin: 0 !important;
    padding: 24px 12px 48px !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left {
    padding: 18px 12px 0 !important;
  }

  body:has(#affiliateIntroduction) main#content > .content-inner > h1 {
    margin-bottom: 18px !important;
    font-size: 28px !important;
  }

  body:has(#affiliateIntroduction) .tab-content > .tab-pane {
    padding: 18px 16px !important;
  }

  body:has(#affiliateIntroduction) #affiliateIntroduction > .row {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  body:has(#affiliateIntroduction) #affiliateIntroduction > .row > [class*="col-"] {
    padding: 18px 14px !important;
  }

  body:has(#affiliateIntroduction) .tab-content > .tab-pane > h2,
  body:has(#affiliateIntroduction) #affiliateIntroduction .col-md-6 > h2 {
    font-size: 17px !important;
  }

  body:has(#affiliateIntroduction) .tab-pane {
    overflow-x: hidden !important;
  }

  body:has(#affiliateIntroduction) .tab-pane .table {
    display: block !important;
    width: 100% !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
  }

  body:has(#affiliateIntroduction) .tab-pane .table th,
  body:has(#affiliateIntroduction) .tab-pane .table td {
    min-width: 130px !important;
  }

  body:has(#affiliateIntroduction) #affiliateBanners .affiliate-banner {
    padding: 16px !important;
  }
}

/* =========================================================
   IONTMAX AFFILIATE V10
   Uživatelský nadpis, Dashboard, karty vedle sebe,
   přesné centrování odhlášení
   ========================================================= */

/* Hlavička vytvořená doprovodným JS */
body:has(#affiliateIntroduction) .iontmax-affiliate-titlebar {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
  margin: 0 0 24px !important;
}

body:has(#affiliateIntroduction) .iontmax-affiliate-titlebar .iontmax-affiliate-user {
  margin: 0 0 5px !important;
  color: var(--im-aff-muted) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

body:has(#affiliateIntroduction) .iontmax-affiliate-titlebar > h1 {
  margin: 0 !important;
  color: var(--im-aff-text) !important;
  font-size: clamp(28px, 4vw, 38px) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  text-align: left !important;
  text-transform: none !important;
}

/* První položka menu už není jméno uživatele, ale běžný Dashboard */
body:has(#affiliateIntroduction) aside.sidebar-left li:first-child > a {
  min-height: 44px !important;
  margin: 0 !important;
  padding: 10px 13px !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: #4f5255 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

body:has(#affiliateIntroduction) aside.sidebar-left li:first-child.active > a,
body:has(#affiliateIntroduction) aside.sidebar-left li:first-child > a[aria-expanded="true"] {
  background: var(--im-aff-accent) !important;
  color: #ffffff !important;
}

/* Dashboard: Provize a Kliknutí vždy vedle sebe na desktopu */
body:has(#affiliateIntroduction) #affiliateIntroduction > .row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  align-items: stretch !important;
  gap: 22px !important;
  width: 100% !important;
  margin: 0 !important;
}

body:has(#affiliateIntroduction) #affiliateIntroduction > .row::before,
body:has(#affiliateIntroduction) #affiliateIntroduction > .row::after {
  display: none !important;
  content: none !important;
}

body:has(#affiliateIntroduction) #affiliateIntroduction > .row > .col-md-6 {
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 22px !important;
}

body:has(#affiliateIntroduction) #affiliateIntroduction > .row > .col-md-6 > .table {
  flex: 1 1 auto !important;
}

/* Odhlášení – text geometricky přesně uprostřed */
body:has(#affiliateIntroduction) aside.sidebar-left li.logout > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  line-height: 1 !important;
  text-align: center !important;
  text-indent: 0 !important;
}

body:has(#affiliateIntroduction) aside.sidebar-left li.logout > a::before,
body:has(#affiliateIntroduction) aside.sidebar-left li.logout > a::after {
  display: none !important;
  content: none !important;
}

/* Mobil */
@media (max-width: 767px) {
  body:has(#affiliateIntroduction) .iontmax-affiliate-titlebar {
    margin-bottom: 18px !important;
  }

  body:has(#affiliateIntroduction) .iontmax-affiliate-titlebar > h1 {
    font-size: 28px !important;
  }

  body:has(#affiliateIntroduction) #affiliateIntroduction > .row {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }
}

/* =========================================================
   IONTMAX AFFILIATE V12
   Mobilní popup menu pro Affiliate centrum
   ========================================================= */

/* Na desktopu je mobilní ovládání skryté */
body:has(#affiliateIntroduction) .iontmax-affiliate-mobile-menu-button,
body:has(#affiliateIntroduction) .iontmax-affiliate-mobile-menu-close,
body:has(#affiliateIntroduction) .iontmax-affiliate-mobile-menu-backdrop {
  display: none !important;
}

@media (max-width: 991px) {
  /* Zabrání posouvání stránky při otevřeném menu */
  html.iontmax-affiliate-menu-open,
  body.iontmax-affiliate-menu-open {
    overflow: hidden !important;
  }

  /*
   * Původní sidebar se na mobilu změní na popup.
   * Zůstávají v něm původní odkazy Shoptetu, takže přepínání
   * záložek a odhlášení funguje beze změny.
   */
  body:has(#affiliateIntroduction) aside.sidebar-left {
    position: fixed !important;
    z-index: 100002 !important;
    top: 50% !important;
    left: 50% !important;
    display: block !important;
    width: min(calc(100vw - 28px), 430px) !important;
    min-width: 0 !important;
    max-width: 430px !important;
    max-height: min(82vh, 680px) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate(-50%, calc(-50% + 18px)) scale(0.98) !important;
    transition:
      opacity 0.18s ease,
      transform 0.18s ease,
      visibility 0.18s ease !important;
  }

  body:has(#affiliateIntroduction).iontmax-affiliate-menu-open aside.sidebar-left {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate(-50%, -50%) scale(1) !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left .sidebar-inner {
    position: relative !important;
    top: auto !important;
    width: 100% !important;
    max-height: min(82vh, 680px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    border: 1px solid var(--im-aff-line) !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22) !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left .box {
    width: 100% !important;
    margin: 0 !important;
    padding: 64px 14px 14px !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: none !important;
  }

  /* Menu je ve sloupci a přirozeně se zalamuje */
  body:has(#affiliateIntroduction) aside.sidebar-left ul {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left li,
  body:has(#affiliateIntroduction) aside.sidebar-left li.logout {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left li.logout {
    margin-top: 8px !important;
    padding-top: 12px !important;
    border-top: 1px solid var(--im-aff-line) !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left li > a,
  body:has(#affiliateIntroduction) aside.sidebar-left li:first-child > a,
  body:has(#affiliateIntroduction) aside.sidebar-left li.logout > a {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    color: var(--im-aff-text) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-align: left !important;
    white-space: normal !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left li > a:hover,
  body:has(#affiliateIntroduction) aside.sidebar-left li > a:focus {
    border-color: var(--im-aff-line) !important;
    background: var(--im-aff-soft) !important;
    color: var(--im-aff-text) !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left li.active > a,
  body:has(#affiliateIntroduction) aside.sidebar-left li > a[aria-expanded="true"] {
    border-color: var(--im-aff-accent) !important;
    background: var(--im-aff-accent) !important;
    color: #ffffff !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left li.logout > a {
    justify-content: center !important;
    border-color: var(--im-aff-line) !important;
    background: #ffffff !important;
    text-align: center !important;
  }

  /* Tlačítko pro otevření menu */
  body:has(#affiliateIntroduction) .iontmax-affiliate-mobile-menu-button {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    width: 100% !important;
    min-height: 52px !important;
    margin: 0 0 18px !important;
    padding: 0 16px !important;
    border: 1px solid var(--im-aff-line) !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    color: var(--im-aff-text) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    cursor: pointer !important;
  }

  body:has(#affiliateIntroduction) .iontmax-affiliate-mobile-menu-button::after {
    content: "›" !important;
    display: block !important;
    flex: 0 0 auto !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    transform: rotate(90deg) !important;
  }

  body:has(#affiliateIntroduction) .iontmax-affiliate-mobile-menu-button:hover,
  body:has(#affiliateIntroduction) .iontmax-affiliate-mobile-menu-button:focus {
    border-color: var(--im-aff-accent) !important;
    outline: 0 !important;
    box-shadow: 0 0 0 3px rgba(48, 50, 51, 0.08) !important;
  }

  /* Zavírací tlačítko popupu */
  body:has(#affiliateIntroduction) .iontmax-affiliate-mobile-menu-close {
    position: absolute !important;
    z-index: 2 !important;
    top: 14px !important;
    right: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--im-aff-line) !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    color: var(--im-aff-text) !important;
    font-size: 0 !important;
    cursor: pointer !important;
  }

  body:has(#affiliateIntroduction) .iontmax-affiliate-mobile-menu-close::before,
  body:has(#affiliateIntroduction) .iontmax-affiliate-mobile-menu-close::after {
    content: "" !important;
    position: absolute !important;
    width: 16px !important;
    height: 2px !important;
    border-radius: 2px !important;
    background: currentColor !important;
  }

  body:has(#affiliateIntroduction) .iontmax-affiliate-mobile-menu-close::before {
    transform: rotate(45deg) !important;
  }

  body:has(#affiliateIntroduction) .iontmax-affiliate-mobile-menu-close::after {
    transform: rotate(-45deg) !important;
  }

  /* Tmavé pozadí pod popupem */
  body:has(#affiliateIntroduction) .iontmax-affiliate-mobile-menu-backdrop {
    position: fixed !important;
    z-index: 100001 !important;
    inset: 0 !important;
    display: block !important;
    background: rgba(17, 18, 20, 0.46) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    backdrop-filter: blur(2px) !important;
    transition:
      opacity 0.18s ease,
      visibility 0.18s ease !important;
  }

  body:has(#affiliateIntroduction).iontmax-affiliate-menu-open
  .iontmax-affiliate-mobile-menu-backdrop {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  /*
   * Na mobilu je hlavní obsah přes celou šířku.
   * Sidebar je mimo layout, protože funguje jako popup.
   */
  body:has(#affiliateIntroduction) .content-wrapper-in {
    display: block !important;
    width: 100% !important;
  }

  body:has(#affiliateIntroduction) main#content {
    width: 100% !important;
  }

  body:has(#affiliateIntroduction) main#content > .content-inner {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 24px 12px 48px !important;
  }
}

@media (max-width: 480px) {
  body:has(#affiliateIntroduction) aside.sidebar-left {
    width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 20px) !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left .sidebar-inner {
    max-height: calc(100vh - 20px) !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left .box {
    padding: 62px 10px 10px !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left li > a,
  body:has(#affiliateIntroduction) aside.sidebar-left li:first-child > a,
  body:has(#affiliateIntroduction) aside.sidebar-left li.logout > a {
    min-height: 48px !important;
    padding: 11px 13px !important;
    font-size: 14px !important;
  }
}

/* =========================================================
   IONTMAX AFFILIATE V13
   Odhlášení vždy úplně dole v mobilním popup menu
   ========================================================= */

@media (max-width: 991px) {
  body:has(#affiliateIntroduction) aside.sidebar-left .sidebar-inner {
    display: flex !important;
    flex-direction: column !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left .box {
    display: flex !important;
    flex-direction: column !important;
    min-height: min(70vh, 560px) !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left ul {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    width: 100% !important;
    min-height: 100% !important;
  }

  body:has(#affiliateIntroduction) aside.sidebar-left li.logout {
    order: 999 !important;
    margin-top: auto !important;
    padding-top: 14px !important;
    border-top: 1px solid var(--im-aff-line) !important;
  }
}

@media (max-width: 480px) {
  body:has(#affiliateIntroduction) aside.sidebar-left .box {
    min-height: min(76vh, 560px) !important;
  }
}

/* =========================================================
   IONTMAX AFFILIATE V14
   Kompaktní mobilní Dashboard bez horizontálního scrollu
   ========================================================= */

@media (max-width: 767px) {
  /* Dashboard zůstává v jednom sloupci */
  body:has(#affiliateIntroduction) #affiliateIntroduction > .row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  /* Kompaktnější karty Provize a Kliknutí */
  body:has(#affiliateIntroduction)
  #affiliateIntroduction > .row > .col-md-6 {
    width: 100% !important;
    min-width: 0 !important;
    padding: 14px 12px !important;
    border-radius: 12px !important;
  }

  body:has(#affiliateIntroduction)
  #affiliateIntroduction .col-md-6 > h2 {
    margin-bottom: 14px !important;
    padding: 0 0 9px 10px !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
  }

  /*
   * Dashboardové tabulky nesmí používat předchozí mobilní
   * horizontální scroll. Zobrazí se jako skutečné tabulky
   * s pevnou šířkou sloupců a zalamováním textu.
   */
  body:has(#affiliateIntroduction)
  #affiliateIntroduction .table {
    display: table !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    overflow: visible !important;
    white-space: normal !important;
    border-radius: 10px !important;
  }

  body:has(#affiliateIntroduction)
  #affiliateIntroduction .table thead {
    display: table-header-group !important;
  }

  body:has(#affiliateIntroduction)
  #affiliateIntroduction .table tbody {
    display: table-row-group !important;
  }

  body:has(#affiliateIntroduction)
  #affiliateIntroduction .table tr {
    display: table-row !important;
  }

  body:has(#affiliateIntroduction)
  #affiliateIntroduction .table th,
  body:has(#affiliateIntroduction)
  #affiliateIntroduction .table td {
    display: table-cell !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 9px 8px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    vertical-align: middle !important;
  }

  body:has(#affiliateIntroduction)
  #affiliateIntroduction .table thead th {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.02em !important;
  }

  /* Provize – popis 62 %, hodnota 38 % */
  body:has(#affiliateIntroduction)
  #affiliateIntroduction > .row > .col-md-6:first-child
  .table th:first-child,
  body:has(#affiliateIntroduction)
  #affiliateIntroduction > .row > .col-md-6:first-child
  .table td:first-child {
    width: 62% !important;
  }

  body:has(#affiliateIntroduction)
  #affiliateIntroduction > .row > .col-md-6:first-child
  .table th:last-child,
  body:has(#affiliateIntroduction)
  #affiliateIntroduction > .row > .col-md-6:first-child
  .table td:last-child {
    width: 38% !important;
    text-align: right !important;
  }

  /* Kliknutí – popis 50 %, dvě hodnoty po 25 % */
  body:has(#affiliateIntroduction)
  #affiliateIntroduction > .row > .col-md-6:last-child
  .table th:first-child,
  body:has(#affiliateIntroduction)
  #affiliateIntroduction > .row > .col-md-6:last-child
  .table td:first-child {
    width: 50% !important;
  }

  body:has(#affiliateIntroduction)
  #affiliateIntroduction > .row > .col-md-6:last-child
  .table th:nth-child(2),
  body:has(#affiliateIntroduction)
  #affiliateIntroduction > .row > .col-md-6:last-child
  .table td:nth-child(2),
  body:has(#affiliateIntroduction)
  #affiliateIntroduction > .row > .col-md-6:last-child
  .table th:nth-child(3),
  body:has(#affiliateIntroduction)
  #affiliateIntroduction > .row > .col-md-6:last-child
  .table td:nth-child(3) {
    width: 25% !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
    text-align: center !important;
  }

  /* Odstranění všech možných zdrojů přetečení Dashboardu */
  body:has(#affiliateIntroduction) #affiliateIntroduction,
  body:has(#affiliateIntroduction) #affiliateIntroduction > .row,
  body:has(#affiliateIntroduction)
  #affiliateIntroduction > .row > .col-md-6 {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
}

@media (max-width: 380px) {
  body:has(#affiliateIntroduction)
  #affiliateIntroduction > .row > .col-md-6 {
    padding: 12px 9px !important;
  }

  body:has(#affiliateIntroduction)
  #affiliateIntroduction .table th,
  body:has(#affiliateIntroduction)
  #affiliateIntroduction .table td {
    padding: 8px 6px !important;
    font-size: 11px !important;
  }

  body:has(#affiliateIntroduction)
  #affiliateIntroduction .table thead th {
    font-size: 9px !important;
  }
}

/* =========================================================
   IONTMAX AFFILIATE V15
   Kompletní radius výplně tabulek Provize a Kliknutí
   ========================================================= */

/* Celá tabulka včetně barevných výplní se ořízne do radiusu */
body:has(#affiliateIntroduction) #affiliateIntroduction .table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  overflow: hidden !important;
  isolation: isolate !important;
  clip-path: inset(0 round 12px) !important;
}

/* Horní levý a pravý roh hlavičky */
body:has(#affiliateIntroduction)
#affiliateIntroduction .table thead tr:first-child th:first-child {
  border-top-left-radius: 11px !important;
}

body:has(#affiliateIntroduction)
#affiliateIntroduction .table thead tr:first-child th:last-child {
  border-top-right-radius: 11px !important;
}

/* Spodní levý a pravý roh posledního řádku */
body:has(#affiliateIntroduction)
#affiliateIntroduction .table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 11px !important;
}

body:has(#affiliateIntroduction)
#affiliateIntroduction .table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 11px !important;
}

/* Výplň hlavičky musí respektovat zakulacené rohy */
body:has(#affiliateIntroduction)
#affiliateIntroduction .table thead th {
  background-clip: padding-box !important;
}

/* Mobilní tabulky ponechají stejný radius i při display: table */
@media (max-width: 767px) {
  body:has(#affiliateIntroduction) #affiliateIntroduction .table {
    border-radius: 10px !important;
    clip-path: inset(0 round 10px) !important;
  }

  body:has(#affiliateIntroduction)
  #affiliateIntroduction .table thead tr:first-child th:first-child {
    border-top-left-radius: 9px !important;
  }

  body:has(#affiliateIntroduction)
  #affiliateIntroduction .table thead tr:first-child th:last-child {
    border-top-right-radius: 9px !important;
  }

  body:has(#affiliateIntroduction)
  #affiliateIntroduction .table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 9px !important;
  }

  body:has(#affiliateIntroduction)
  #affiliateIntroduction .table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 9px !important;
  }
}

/* =========================================================
   IONTMAX AFFILIATE V16
   Výrazné mobilní výběrové tlačítko s hamburger ikonou
   ========================================================= */

@media (max-width: 991px) {
  body:has(#affiliateIntroduction) .iontmax-affiliate-mobile-menu-button {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 0 18px !important;
    padding: 0 18px !important;
    border: 1px solid var(--im-aff-accent) !important;
    border-radius: 12px !important;
    background: var(--im-aff-accent) !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    box-shadow: 0 4px 14px rgba(17, 18, 20, 0.14) !important;
    cursor: pointer !important;
  }

  body:has(#affiliateIntroduction)
  .iontmax-affiliate-mobile-menu-button:hover,
  body:has(#affiliateIntroduction)
  .iontmax-affiliate-mobile-menu-button:focus {
    border-color: #1a1b1d !important;
    background: #1a1b1d !important;
    color: #ffffff !important;
    outline: 0 !important;
    box-shadow:
      0 4px 14px rgba(17, 18, 20, 0.16),
      0 0 0 3px rgba(48, 50, 51, 0.14) !important;
  }

  /*
   * Hamburger ikona vpravo.
   * Tři bílé linky jasně ukazují, že jde o rozbalovací menu.
   */
  body:has(#affiliateIntroduction)
  .iontmax-affiliate-mobile-menu-button::after {
    content: "" !important;
    display: block !important;
    flex: 0 0 auto !important;
    width: 22px !important;
    height: 16px !important;
    margin: 0 !important;
    border-radius: 1px !important;
    background:
      linear-gradient(
        to bottom,
        #ffffff 0,
        #ffffff 2px,
        transparent 2px,
        transparent 7px,
        #ffffff 7px,
        #ffffff 9px,
        transparent 9px,
        transparent 14px,
        #ffffff 14px,
        #ffffff 16px
      ) !important;
    transform: none !important;
    opacity: 1 !important;
  }

  /* Otevřený stav zůstává vizuálně aktivní */
  body:has(#affiliateIntroduction).iontmax-affiliate-menu-open
  .iontmax-affiliate-mobile-menu-button {
    background: #1a1b1d !important;
    border-color: #1a1b1d !important;
  }
}

/* =========================================================
   IONTMAX AFFILIATE CSS V17
   Přihlašovací panel přihlášeného uživatele
   ========================================================= */

.im-panel-overlay.im-panel-overlay--login {
  --im-aff-text: #111214;
  --im-aff-muted: #6b7280;
  --im-aff-line: #ececec;
  --im-aff-soft: #f6f6f7;
  --im-aff-card: #ffffff;
  --im-aff-accent: #303233;
  --im-aff-radius: 14px;

  position: relative !important;
  width: min(calc(100vw - 28px), 440px) !important;
  max-width: 440px !important;
  max-height: min(88vh, 680px) !important;
  padding: 0 !important;
  border: 1px solid var(--im-aff-line) !important;
  border-radius: 18px !important;
  background: var(--im-aff-card) !important;
  color: var(--im-aff-text) !important;
  overflow: hidden !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22) !important;
}

/* Hlavička panelu */
.im-panel-overlay.im-panel-overlay--login
.im-panel-overlay__head {
  display: flex !important;
  align-items: center !important;
  min-height: 70px !important;
  margin: 0 !important;
  padding: 18px 66px 18px 22px !important;
  border-bottom: 1px solid var(--im-aff-line) !important;
  background: #ffffff !important;
}

.im-panel-overlay.im-panel-overlay--login
.im-panel-overlay__title {
  margin: 0 !important;
  padding: 0 0 0 14px !important;
  border-left: 4px solid var(--im-aff-accent) !important;
  color: var(--im-aff-text) !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  text-align: left !important;
  text-transform: none !important;
}

/* Zavírací tlačítko */
.im-panel-overlay.im-panel-overlay--login
.im-panel-overlay__close {
  position: absolute !important;
  z-index: 2 !important;
  top: 16px !important;
  right: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 0 2px !important;
  border: 1px solid var(--im-aff-line) !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: var(--im-aff-text) !important;
  font-family: Arial, sans-serif !important;
  font-size: 27px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  text-align: center !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.im-panel-overlay.im-panel-overlay--login
.im-panel-overlay__close:hover,
.im-panel-overlay.im-panel-overlay--login
.im-panel-overlay__close:focus {
  border-color: var(--im-aff-accent) !important;
  background: var(--im-aff-soft) !important;
  color: var(--im-aff-text) !important;
  outline: 0 !important;
}

/* Obsah */
.im-panel-overlay.im-panel-overlay--login
.im-panel-overlay__content {
  max-height: calc(min(88vh, 680px) - 70px) !important;
  padding: 22px !important;
  background: var(--im-aff-card) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
}

.im-panel-overlay.im-panel-overlay--login
#login.im-panel-widget,
.im-panel-overlay.im-panel-overlay--login
#login .popup-widget-inner {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Informace o přihlášeném uživateli */
.im-panel-overlay.im-panel-overlay--login
#login .popup-widget-inner > p {
  width: 100% !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: var(--im-aff-muted) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  text-align: left !important;
}

.im-panel-overlay.im-panel-overlay--login
#login .popup-widget-inner > p:first-child {
  margin-bottom: 20px !important;
  padding: 16px 18px !important;
  border: 1px solid var(--im-aff-line) !important;
  border-radius: 12px !important;
  background: var(--im-aff-soft) !important;
  color: var(--im-aff-text) !important;
}

.im-panel-overlay.im-panel-overlay--login
#login .popup-widget-inner > p:first-child strong {
  display: block !important;
  margin: 0 0 3px !important;
  color: var(--im-aff-text) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}

/* Tlačítka */
.im-panel-overlay.im-panel-overlay--login
#login .popup-widget-inner .btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 1px solid var(--im-aff-accent) !important;
  border-radius: 12px !important;
  background: var(--im-aff-accent) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  box-shadow: none !important;
}

.im-panel-overlay.im-panel-overlay--login
#login .popup-widget-inner .btn:hover,
.im-panel-overlay.im-panel-overlay--login
#login .popup-widget-inner .btn:focus {
  border-color: #1a1b1d !important;
  background: #1a1b1d !important;
  color: #ffffff !important;
  outline: 0 !important;
}

/* Odhlášení jako sekundární tlačítko */
.im-panel-overlay.im-panel-overlay--login
#login .popup-widget-inner
a[href*="/action/Affiliate/Logout/"] {
  border-color: var(--im-aff-line) !important;
  background: #ffffff !important;
  color: var(--im-aff-text) !important;
}

.im-panel-overlay.im-panel-overlay--login
#login .popup-widget-inner
a[href*="/action/Affiliate/Logout/"]:hover,
.im-panel-overlay.im-panel-overlay--login
#login .popup-widget-inner
a[href*="/action/Affiliate/Logout/"]:focus {
  border-color: var(--im-aff-accent) !important;
  background: var(--im-aff-accent) !important;
  color: #ffffff !important;
}

/* Poslední odstavec nemá spodní mezeru */
.im-panel-overlay.im-panel-overlay--login
#login .popup-widget-inner > p:last-child {
  margin-bottom: 0 !important;
}

/* Mobil */
@media (max-width: 480px) {
  .im-panel-overlay.im-panel-overlay--login {
    width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 20px) !important;
    border-radius: 16px !important;
  }

  .im-panel-overlay.im-panel-overlay--login
  .im-panel-overlay__head {
    min-height: 64px !important;
    padding: 16px 58px 16px 16px !important;
  }

  .im-panel-overlay.im-panel-overlay--login
  .im-panel-overlay__title {
    font-size: 17px !important;
  }

  .im-panel-overlay.im-panel-overlay--login
  .im-panel-overlay__close {
    top: 13px !important;
    right: 13px !important;
    width: 36px !important;
    height: 36px !important;
  }

  .im-panel-overlay.im-panel-overlay--login
  .im-panel-overlay__content {
    max-height: calc(100vh - 84px) !important;
    padding: 16px !important;
  }

  .im-panel-overlay.im-panel-overlay--login
  #login .popup-widget-inner > p:first-child {
    padding: 14px 15px !important;
  }

  .im-panel-overlay.im-panel-overlay--login
  #login .popup-widget-inner .btn {
    min-height: 48px !important;
    font-size: 13px !important;
  }
}

/* =========================================================
   IONTMAX AFFILIATE CSS V18
   Login popup pevně uprostřed bez scrollování stránky
   ========================================================= */

/* Stránka se při otevřeném přihlašovacím popupu neposouvá */
html:has(.im-panel-overlay.im-panel-overlay--login),
body:has(.im-panel-overlay.im-panel-overlay--login) {
  overflow: hidden !important;
}

/* Popup je mimo běžný tok stránky a vždy uprostřed viewportu */
.im-panel-overlay.im-panel-overlay--login {
  position: fixed !important;
  z-index: 100010 !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
}

/* Obsah popupu nepřidává výšku celé stránce */
.im-panel-overlay.im-panel-overlay--login
.im-panel-overlay__content {
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
}

/* Mobil */
@media (max-width: 480px) {
  .im-panel-overlay.im-panel-overlay--login {
    top: 50% !important;
    left: 50% !important;
    width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 20px) !important;
    transform: translate(-50%, -50%) !important;
  }
}

