:root{
    --msc-w: 420px;          /* pevná šířka */
    --msc-form-w: 560px;     /* formuláře v pokladně */
    --msc-radius: 32px;
    --msc-line: #dbdbdb;
    --msc-text: #111827;
    --msc-muted: #b3b3b3;
    --msc-hover: color-mix(in srgb, var(--msc-line) 95%, #000 5%);
    --msc-accent: #7717ff;       /* fialová */
    --msc-accent-2: #7717ff;    /* aktivní výplň */
    /* CTA lišta pokladny (.msc-checkout-footer) – ne patička webu */
    --msc-checkout-cta-h: calc(32px + 56px + 32px + 1px);
    --msc-footer-h: var(--msc-checkout-cta-h);
}

#page-container, body{
  padding-top: 0 !important;
}

/*
 * Scroll na body. Spodní padding = rezerva pod fixed CTA lištou,
 * ať jde doscrollovat karty/formuláře (patička webu na pokladně není).
 */
body.page-checkout {
  height: auto;
  min-height: 100dvh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: calc(var(--msc-checkout-cta-h) + 24px) !important;
  scrollbar-gutter: stable;
}

/*
 * Platba: CTA lišta obsahuje i newsletter + podmínky → vyšší než u doručení.
 * (Desktop; mobilní hodnota je níže v media query.)
 */
body.page-checkout-payment {
  --msc-checkout-payment-cta-h: calc(
    32px /* pad top */
    + 40px /* newsletter toggle */
    + 12px
    + 48px /* obchodní podmínky (~2–3 řádky) */
    + 12px
    + 56px /* CTA */
    + 32px /* pad bottom */
    + 1px
  );
  padding-bottom: calc(var(--msc-checkout-payment-cta-h) + 24px) !important;
}

/*
 * Doručení + platba: pevná výška vytvářela vlastní scrollport, který ve Firefoxu
 * posouval sekci pod header místo do padding-top #main-content (stejně jako kontakt).
 */
.msc-checkout-main {
  height: auto;
  overflow: visible;
}

/*
 * Stejný start obsahu jako jinde: na mobilu inset + gap řeší style.css
 * (--mobile-content-inset-top / --mobile-content-top-gap).
 */
.page-checkout #main-content .et_builder_inner_content > .et_pb_section:first-child,
.page-checkout .msc-checkout-main.et_pb_section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

@media (max-width: 980px) {
  .page-checkout #main-content .et_builder_inner_content > .et_pb_section:first-child,
  .page-checkout .msc-checkout-main.et_pb_section {
    padding-top: var(--mobile-content-inset-top) !important;
  }
}

.page-checkout .msc-checkout--uppper-title-diveder {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
}

/*
 * Doručení + platba: Divi řádek s et_pb_equal_columns (flex) se zúží jen na
 * viditelný 2/3 sloupec, takže levý okraj neodpovídá logu. Kontaktní krok
 * používá block layout a zarovnání sedí – stejný režim aplikujeme zde.
 */
.page-checkout-delivery .msc-checkout-main,
.page-checkout-payment .msc-checkout-main {
  width: 100%;
}

.page-checkout-delivery .msc-checkout-main .checkout-delivery,
.page-checkout-payment .msc-checkout-main .checkout-delivery {
  display: block !important;
}
.msc-checkout-footer {
    /* position: sticky; */
    position: fixed;
    bottom: 0;
    z-index: 9999;
    width: 100%;
    border-top: 1px solid #dbdbdb;
    /* padding-bottom: 20px!important; */
}
.msc-checkout-footer > div {
    padding-top: 32px!important;
    padding-bottom: 32px!important;
}
/* Global */


.msc-pay{
    max-width: var(--msc-w);
    width: 100%;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: var(--text-base);
    line-height: var(--text-lh);
    color: var(--msc-text);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* nativní radio schováme, ale necháme přístupné přes label */
.msc-pay input[type="radio"]{
    position: absolute;
    opacity: 0;
    width: 0; height: 0;
}

.msc-paycard{
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 14px 32px 14px 16px;
    border: 1px solid var(--msc-line);
    border-radius: var(--msc-radius);
    background: #fff;
    cursor: pointer;
    transition: box-shadow .15s ease, background .15s ease;
}
.msc-paycard:hover{ border-color: var(--msc-hover); }

/* aktivní stav (klikem na label) – silnější fialový rámeček bez poskoku layoutu */
.msc-pay input[type="radio"]:checked + .msc-paycard{
    border-color: var(--msc-accent);
    box-shadow: 0 0 0 1px var(--msc-accent) inset;
}

/* ikonový čtverec vlevo – nahraď vlastním <img> / SVG */
.msc-paycard__icon{
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    display: grid;
    place-items: center;
}
.msc-paycard__icon img{
    width: 54px;
    height: 54px; 
}

.msc-paycard__body{ display: flex; flex-direction: column; gap: 4px; justify-content: center; min-height: 54px; flex: 1; min-width: 0; }
.msc-paycard__title{
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: var(--text-base);
    line-height: var(--text-lh);
    color: var(--msc-text);
  }
.msc-paycard__desc{ font-size: 0.8125rem; color: var(--msc-muted); line-height: var(--text-lh); }

/* Delta badge: + přirážka na dobírce / − na převodu (jen na neaktivní kartě) */
.msc-paycard__delta{
    display: none;
    flex: 0 0 auto;
    margin-left: auto;
    text-align: right;
    white-space: nowrap;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: var(--text-base);
    line-height: var(--text-lh);
    color: var(--msc-text);
}
.msc-pay.msc-pay--has-cod-fee:has(#pay-bank:checked) .msc-paycard__delta--plus{
    display: inline-block;
}
.msc-pay.msc-pay--has-cod-fee:has(#pay-cod:checked) .msc-paycard__delta--minus{
    display: inline-block;
}

/* Delivery */
.msc-delivery{
    position: relative;
    max-width: var(--msc-w);
    width: 100%;
    color: #1f2937;
    display: flex;
    flex-direction: column;
}
.page-checkout .msc-delivery {
    margin-bottom: 20px;
}
.msc-card{
    position: relative;
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 16px;
    border: 1px solid var(--msc-line);
    border-radius: var(--msc-radius);
    background: #fff;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: box-shadow .15s ease;
}

.msc-card:not(.selected-delivery):hover{ border-color: var(--msc-hover); }

.msc-icon{
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    display: grid;
    place-items: center;
    margin-top: 2px;
}
.msc-content{
    flex: 1;
    display: flex;
    flex-direction: column;
}
.msc-title{ font-weight: 500; font-size: var(--text-base); line-height: var(--text-lh); }
.msc-sub{
    font-size: var(--text-base);
    font-weight: 400;
    line-height: var(--text-lh);
    color: #BEBEBE;
    margin-bottom: 8px;
}

.msc-action{
    font-size: var(--text-base);
    font-weight: 600;
    line-height: var(--text-lh);
    color:#7717ff;
    text-decoration: none;
    margin-top: 2px;
    cursor: pointer;
}
.msc-action:hover{ text-decoration: underline; }
.msc-delivery--place .msc-card:hover .msc-action,
.msc-delivery--shipping .msc-card:hover .msc-action {
    text-decoration: underline;
}

.msc-delivery-change.eshop-button {
    --hover-color: color-mix(in srgb, var(--base-color) 95%, #000 5%);
    --active-color: color-mix(in srgb, var(--base-color) 90%, #000 10%);
    display: none;
    position: absolute;
    z-index: 9;
    top: 8px;
    right: 8px;
}
.msc-card.selected-delivery .msc-delivery-change.eshop-button {
    display: flex;
}

.eshop-button {
    --base-color: #fafafa;
    --hover-color: color-mix(in srgb, var(--base-color) 90%, #000 10%);
    --active-color: color-mix(in srgb, var(--base-color) 80%, #000 20%);
    width: var(--eshop-btn-lg);
    height: var(--eshop-btn-lg);
    border-radius: 50%;
    background-color: var(--base-color);
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: none;
}

/* Pokladna – tlačítko zpět (inline SVG, stejná pozice nadpisu jako dříve) */
.page-checkout .heading-wrapper {
  align-items: flex-start;
  /*
   * Desktop: ~29px jako shop et_pb_post_title.
   * Mobil: odstup drží --mobile-content-inset-top + --mobile-content-top-gap
   * (Builder: section + row; viz style.css).
   */
  padding-top: 29px;
}

@media (max-width: 980px) {
  .page-checkout .heading-wrapper {
    padding-top: 0;
  }
}

.page-checkout .checkout-back-button.eshop-button {
    --base-color: #fafafa;
    --hover-color: color-mix(in srgb, var(--base-color) 95%, #000 5%);
    --active-color: color-mix(in srgb, var(--base-color) 90%, #000 10%);
    flex: 0 0 var(--eshop-btn-lg);
    width: var(--eshop-btn-lg);
    height: var(--eshop-btn-lg);
    text-decoration: none;
    color: inherit;
}

.page-checkout .checkout-back-button--heading {
    display: none !important;
}

.page-checkout .heading-wrapper h1 {
    margin-left: 0;
}

body.page-checkout #main-header .logo_container .checkout-back-button.eshop-button {
    margin-right: 0;
    flex-shrink: 0;
}

.eshop-button:hover {
    background-color: var(--hover-color);
}

.eshop-button:active {
    background-color: var(--active-color);
}

.eshop-button svg {
    width: var(--eshop-btn-icon);
    height: var(--eshop-btn-icon);
}

.eshop-button.is-animating {
    animation: pulse-width 0.15s ease-in-out;
}

.eshop-button.is-animating svg {
    transform-origin: center bottom;
    animation: pulse-svg 0.15s ease-in-out;
}

@keyframes pulse-width {
    50% { transform: scaleX(1.15); }
}

@keyframes pulse-svg {
    50% { transform: scale(1.15, 0.87); }
}

.msc-delivery-change.eshop-button.is-animating {
    animation: msc-edit-pulse-width 0.15s ease-in-out;
}

.msc-delivery-change.eshop-button.is-animating svg {
    transform-origin: center bottom;
    animation: msc-edit-pulse-svg 0.15s ease-in-out;
}

@keyframes msc-edit-pulse-width {
    50% { transform: rotate(45deg) scaleX(1.15) rotate(-45deg); }
}

@keyframes msc-edit-pulse-svg {
    50% { transform: rotate(45deg) scale(1.15, 0.87) rotate(-45deg); }
}

@keyframes card-pulse-width {
    50% { transform: scaleX(1.02); }
}

@keyframes card-pulse-content {
    50% { transform: scale(1.02, 0.98); }
}

.msc-card.is-card-pulsing {
    animation: card-pulse-width 0.15s ease-in-out;
}

.msc-card.is-card-pulsing .msc-icon,
.msc-card.is-card-pulsing .msc-content,
.msc-card.is-card-pulsing .msc-delivery-change {
    transform-origin: center bottom;
    animation: card-pulse-content 0.15s ease-in-out;
}

.msc-paycard.is-card-pulsing {
    animation: card-pulse-width 0.15s ease-in-out;
}

.msc-paycard.is-card-pulsing .msc-paycard__icon,
.msc-paycard.is-card-pulsing .msc-paycard__body {
    transform-origin: center bottom;
    animation: card-pulse-content 0.15s ease-in-out;
}

.msc-delivery-address {
    display: flex;
    flex-direction: column;
}
.msc-delivery-address > span:first-child {
    color: #BEBEBE;
}
.msc-delivery-address > span {
    color: #000;
    line-height: var(--text-lh);
}

/* Delivery */

/* Switch button */
 /* řádek přepínače */
  .msc-toggle{
    display:flex; align-items:center; gap:12px;
    max-width: 420px;   /* pevná šířka dle přání */
    width: 100%;
    user-select:none;
  }

  /* nativní checkbox – schovat, ale ponechat pro formuláře */
  .msc-toggle__input{
    position:absolute; opacity:0; width:0; height:0;
  }

  /* label je klikací plocha; obsahuje switch + text */
  .msc-toggle__label{
    display:flex; align-items:center; gap:12px;
    cursor:pointer; color: var(--msc-text);
  }

  /* Samotný switch (kolejnice) */
  .msc-switch {
    --base-color: #dbdbdb;
    --hover-color: color-mix(in srgb, var(--base-color) 95%, #000 5%);
    --active-color: color-mix(in srgb, var(--base-color) 90%, #000 10%);
    width: 56px;
    height: 32px;
    border-radius: 16px;
    background-color: var(--base-color);
    position: relative;
    flex: 0 0 auto;
    transition: background-color 0.1s ease;
    border: none;
  }

  .msc-toggle__label:hover .msc-switch {
    background-color: var(--hover-color);
  }

  .msc-toggle__label:active .msc-switch {
    background-color: var(--active-color);
  }

  .msc-switch.is-animating {
    animation: pulse-width 0.15s ease-in-out;
  }

  .msc-switch.is-animating .msc-switch__thumb {
    transform-origin: center bottom;
    animation: pulse-svg 0.15s ease-in-out;
  }

  /* Palec (bílé kolečko) */
  .msc-switch__thumb {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #ffffff;
    transition: left 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 1px 2px rgba(0,0,0,0.15);
  }

  /* Aktivní stav (Checked) */
  .msc-toggle__input:checked + .msc-toggle__label .msc-switch {
    --base-color: #7717ff;
    --hover-color: color-mix(in srgb, var(--base-color) 90%, #000 10%);
    --active-color: color-mix(in srgb, var(--base-color) 80%, #000 20%);
    background-color: var(--base-color);
  }

  .msc-toggle__input:checked + .msc-toggle__label .msc-switch__thumb {
    left: 26px;
  }


  /* text vedle přepínače */
  .msc-toggle__text{
    font-weight: 500;
    color: #bebebe;
    text-decoration: none;
  }

  .msc-toggle__input:checked + .msc-toggle__label .msc-toggle__text{
    color: var(--msc-text);
  }
    
  .msc-toggle__label:hover .msc-toggle__text{ /* text-decoration: underline; */ }

  /* ukázkový skrytý blok (fakturační údaje) */
  .msc-extra{ margin-top:12px; padding:12px; border:1px dashed var(--msc-line); border-radius:12px; width:420px; }
  .is-hidden{ display:none; }

/* jumping bullet html5 */
.sb-loader{
  --size: 10px;          /* velikost kuličky */
  --height: 45px;        /* výška loaderu */
  --color: #ffffff;      /* barva kuličky */
  --dot: #ffffff;

  width: var(--size);
  height: var(--height);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.sb-loader-cart {
  --size: 24px;          
}

.sb-dot{
  width: var(--size);
  height: var(--size);
  border-radius: 999px;
  background: var(--dot);
  will-change: transform;
  animation: sb-bounce 0.8s infinite cubic-bezier(.5,0,.5,1);
}

/* respektuje nastavení systému */
@media (prefers-reduced-motion: reduce){
  .sb-dot{ animation: none; }
}

/* Přesná bounce logika podle Animate */
@keyframes sb-bounce {
  /* nahoře */
  0%   { transform: translateY(-13px) scale(1,1); }
  12%  { transform: translateY(-9px)  scale(1.05,.95); }
  22%  { transform: translateY(-4px)  scale(.97,1.03); }

  /* pád */
  40%  { transform: translateY(6px)   scale(1,1); }

  /* dopad (squash) */
  55%  { transform: translateY(13px)  scale(1.35,.75); }

  /* odraz */
  65%  { transform: translateY(11px)  scale(1.15,.9); }
  78%  { transform: translateY(3px)   scale(.98,1.02); }

  /* návrat nahoru */
  100% { transform: translateY(-13px) scale(1,1); }
}

.msc-product-img {
  display: flex;
  height: 96px !important;
  width: auto;
}

.msc-product-img img {
  height: 96px;
  width: auto;
  display: block;
}

/* sb-loading-circle */

.sb-loader-spinner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
}

.sb-spinner {
  width: 100%;
  height: 100%;
  animation: sb-spin 1s linear infinite;
  transform-origin: center;
  shape-rendering: geometricPrecision;
}

.sb-spinner path {
  fill: var(--dot);
}

@keyframes sb-spin {
  to {
    transform: rotate(360deg);
  }
}

/* sb-loading-circle */


/* checkout summary */
.msc-checkout-summary-right, .msc-checkout-summary-right--container {
    position: fixed;
    top: 0;
    height: 100%;
    right: 0;    
    width: 100%;
    max-width: 600px;
    background: #fff;
    border-left: 1px solid #dbdbdb;
    z-index: 9999999;    
    overflow: auto;
    opacity: 1;
    position: fixed !important;
    display: block;
    padding: 185px 30px;
}
.msc-checkout-summary-header {
  display: none;
  align-items: center;
  justify-content: stretch;
  box-sizing: border-box;
  height: var(--eshop-btn-lg, 48px);
  padding: 0;
  flex: 0 0 auto;
}
.msc-checkout-summary-right > .msc-checkout-chev {
  display: none !important; /* přebíjí .acc-chev-toggle { display: inline-flex !important } */
  z-index: 10;
  pointer-events: auto;
  flex: 0 0 auto;
}
.msc-checkout-summary-price {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  width: 100%;
  min-width: 0;
  line-height: 1;
}
.msc-checkout-summary-price__label {
  display: none;
  font-weight: 700;
}
.msc-checkout-summary-price strong {
  font-weight: 700;
}
@media (hover: hover) {
  .msc-checkout-summary-right > .msc-checkout-chev:hover {
    background-color: var(--hover-color) !important;
  }
}
.msc-checkout-summary-right > .msc-checkout-chev:active {
  background-color: var(--active-color) !important;
}
.checkout-summary--mobile-open .msc-checkout-summary-right > .msc-checkout-chev .acc-chev-icon {
  animation: chev-rotate-open 0.5s ease-out forwards;
}
body.checkout-chev-animated:not(.checkout-summary--mobile-open) .msc-checkout-summary-right > .msc-checkout-chev .acc-chev-icon {
  animation: chev-rotate-close 0.5s ease-out forwards;
}
@media (prefers-reduced-motion: reduce) {
  .checkout-summary--mobile-open .msc-checkout-summary-right > .msc-checkout-chev .acc-chev-icon,
  body.checkout-chev-animated:not(.checkout-summary--mobile-open) .msc-checkout-summary-right > .msc-checkout-chev .acc-chev-icon {
    animation: none;
  }
  .checkout-summary--mobile-open .msc-checkout-summary-right > .msc-checkout-chev .acc-chev-icon {
    transform: rotate(180deg);
  }
  body.checkout-chev-animated:not(.checkout-summary--mobile-open) .msc-checkout-summary-right > .msc-checkout-chev .acc-chev-icon {
    transform: rotate(0deg);
  }
}
.checkout-summary--mobile-open .msc-checkout-summary-price__label {
  display: inline;
}
.checkout-summary--mobile-open .msc-checkout-summary-price {
  justify-content: space-between;
}
/* checkout summary */

/* Kontaktní / fakturační údaje – nadpis 2. úrovně */
.page-checkout-contact .et_pb_heading h2.et_pb_module_heading {
  font-family: 'Open Sans', sans-serif;
  font-size: calc(var(--text-base) * 1.5) !important;
  font-weight: 600 !important;
  line-height: var(--heading-lh) !important;
  margin-bottom: var(--text-mb) !important;
}

/* Formuláře – stejná logická šířka jako tlačítka a karty doručení */
.page-checkout .contact-form,
.page-checkout .billing-form,
.page-checkout .msc-billing-form,
.page-checkout .msc-order-note-form,
#mini-cart-popup .contact-form {
  width: 100%;
  max-width: var(--msc-form-w);
}

.page-checkout .form-group,
#mini-cart-popup .form-group {
  max-width: 100%;
}

/* Souhlas s obchodními podmínkami – poslední krok pokladny */
.page-checkout-payment .et_pb_text:has(+ .et_pb_code .msc-finish-order-wrapper),
.page-checkout-payment .et_pb_text:has(+ .et_pb_code #dokoncit) {
  font-size: var(--text-base) !important;
  line-height: var(--text-lh) !important;
}

.page-checkout-payment .et_pb_text:has(+ .et_pb_code .msc-finish-order-wrapper) p,
.page-checkout-payment .et_pb_text:has(+ .et_pb_code .msc-finish-order-wrapper) a,
.page-checkout-payment .et_pb_text:has(+ .et_pb_code #dokoncit) p,
.page-checkout-payment .et_pb_text:has(+ .et_pb_code #dokoncit) a {
  font-size: var(--text-base) !important;
  font-weight: 400 !important;
  line-height: var(--text-lh) !important;
}

/* Mobile */
  @media (max-width: 980px) {
    body.page-checkout {
      /* 16 top + 56 CTA + 4 bottom (+ safe area) — stejná hodnota pro bottom shrnutí */
      --msc-checkout-footer-mobile-h: calc(16px + 56px + 4px + env(safe-area-inset-bottom, 0px));
      /* sbalené shrnutí nad CTA lištou */
      --msc-checkout-summary-collapsed-h: calc(16px + var(--eshop-btn-lg, 48px));
      padding-bottom: calc(
        var(--msc-checkout-footer-mobile-h)
        + var(--msc-checkout-summary-collapsed-h)
        + 16px
      ) !important;
    }
    /* Platba: summary je na bottom:0 a má vnitřní lift 162px — rezerva = celá viditelná výška panelu */
    body.page-checkout-payment {
      --msc-checkout-payment-summary-lift: 162px;
      padding-bottom: calc(
        var(--msc-checkout-summary-collapsed-h)
        + var(--msc-checkout-payment-summary-lift)
        + 24px
        + env(safe-area-inset-bottom, 0px)
      ) !important;
    }
    .page-checkout-summary > div:last-child {
      width: 100%;
    }
    /*
    .msc-checkout-summary-right--container {
      position: relative !important;
      padding: 0 10px 120px;
      border: 0 !important;
      box-shadow: 0 10px 30px rgba(0, 0, 0, .15);
      border-radius: 32px 32px 0 0;
    }
      */
    .msc-checkout-summary-right,
    .msc-checkout-summary-right--container {
      position: relative !important;
      display: grid;
      grid-template-columns: auto 1fr;
      grid-template-rows: auto;
      align-items: center;
      column-gap: 12px;
      box-sizing: border-box;
      max-width: none;
      padding: 16px var(--mobile-edge-gap, 16px) 0;
      border: 0 !important;
      box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
      border-radius: 32px 32px 0 0;
      font-size: var(--text-base);
    }
    .msc-checkout-summary-right > .msc-checkout-chev {
      display: inline-flex !important;
      grid-column: 1;
      grid-row: 1;
      justify-self: start;
      align-self: center;
    }
    .msc-checkout-summary-header {
      display: flex;
      grid-column: 2;
      grid-row: 1;
      align-self: center;
      width: 100%;
      min-width: 0;
    }
    .mini-cart-summary-block {
      padding: 0;
      display: none;
      min-height: 0;
    }
    .mini-cart-summary-block .mini-cart-total-checkout {
      display: none !important;
    }
    .mini-cart-products {
      border: 0!important;
      padding: 0!important;
      margin: 0!important;
    }
    /*
     * Platba: summary jde na bottom:0 pod vyšším footerem (newsletter + podmínky + CTA).
     * Handle (16px pad + 48px chev) musí zůstat nad horním okrajem .msc-checkout-footer —
     * 150px nestačilo (~6px překryv spodku zobáčku), proto mírně větší rezerva.
     */
    .page-checkout-payment .msc-checkout-summary-right,
    .page-checkout-payment .msc-checkout-summary-right--container {
      padding-bottom: var(--msc-checkout-payment-summary-lift, 162px);
    }
    .msc-card {
      padding-right: 45px;
    }
    .msc-checkout-footer {
      border: 0;
    }
    .msc-checkout-footer > div {
      padding-top: 16px !important;
      padding-bottom: calc(4px + env(safe-area-inset-bottom, 0px)) !important;
    }
    .page-checkout #checkout-next-step,
    .page-checkout #dokoncit,
    .page-checkout #checkout-next-step:not(.no-select),
    .page-checkout #dokoncit:not(.no-select) {
      max-width: none;
    }
    .page-checkout .contact-form,
    .page-checkout .billing-form,
    .page-checkout .msc-billing-form,
    .page-checkout .msc-order-note-form,
    .page-checkout .msc-delivery,
    .page-checkout .msc-pay,
    .page-checkout .msc-toggle,
    #mini-cart-popup .contact-form,
    #mini-cart-popup .mini-cart-inner.instance-3 .notify-card,
    #mini-cart-popup .mini-cart-inner.instance-2 .notify-card {
      max-width: none;
    }
    /* Start - Summary */
    body.checkout-summary-scroll-lock {
      position: fixed;
      width: 100%;
      overflow: hidden;
    }
    .page-checkout-summary {
      position: fixed;
      display: flex;
      bottom: var(--msc-checkout-footer-mobile-h);
      left: 0;
      right: 0;
    }
    body:not(.page-checkout-payment) .page-checkout-summary .et_pb_space,
    body:not(.page-checkout-payment) .page-checkout-summary .et_pb_divider_hidden {
      display: none !important;
      height: 0 !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
    }
    .page-checkout-payment .page-checkout-summary {
      bottom: 0;
    }
    body.checkout-summary--mobile-open .msc-checkout-summary-right,
    body.checkout-summary--mobile-open .msc-checkout-summary-right--container {
      max-height: calc(100dvh - var(--mobile-popup-top-offset) - var(--msc-checkout-footer-mobile-h));
      grid-template-columns: 1fr;
      grid-template-rows: auto minmax(0, 1fr) auto;
      align-items: stretch;
      box-shadow: 0 -10px 48px rgba(0, 0, 0, .32);
    }
    body.checkout-summary--mobile-open .msc-checkout-summary-right > .msc-checkout-chev {
      grid-column: 1;
      grid-row: 1;
    }
    .checkout-summary--mobile-open .mini-cart-summary-block {
      display: block;
      grid-column: 1;
      grid-row: 2;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior: contain;
    }
    .checkout-summary--mobile-open .mini-cart-summary-block > :first-child {
      margin-top: 16px !important;
    }
    body.checkout-summary--mobile-open .msc-checkout-summary-header {
      grid-column: 1;
      grid-row: 3;
    }
    /* End - Summary */
  }

  @media (min-width: 981px) and (max-width: 1480px) {
    .msc-checkout-summary-right {
      max-width: 430px;
    }
    .page-checkout .et_pb_column_3_4 {
      max-width: 55%;
    }
  }

  /* Desktop platba: shrnutí musí jít doscrollovat nad vyšší CTA lištu */
  @media (min-width: 981px) {
    body.page-checkout-payment .msc-checkout-summary-right,
    body.page-checkout-payment .msc-checkout-summary-right--container {
      padding-bottom: calc(var(--msc-checkout-payment-cta-h) + 24px);
    }
  }
/* Mobile */