/* SPA Components – košík */

/* Myš nezobrazuje focus rámeček; klávesnice si zachová jasný indikátor. */
a.cart-count[data-target="cart"]:focus:not(:focus-visible){
  outline:none!important;
}

a.cart-count[data-target="cart"]:focus-visible{
  outline:2px solid #a85b10!important;
  outline-offset:3px;
}

html[data-spa-cart-input="pointer"] a.cart-count[data-target="cart"]:focus{
  outline:none!important;
}

body.in-kosik{
  background:#f5f6f8
}

body.ordering-process .cart-header-block{
  gap:28px;
  flex-wrap:wrap;
  margin-bottom:42px
}

body.ordering-process .cart-header__headline{
  color:#17191d;
  font-weight:800
}

/* Horní kontaktní lišta */
body.ordering-process .cart-header__contact .checkout-box-wrapper{
  padding:0!important;
  background:transparent!important
}

body.ordering-process .cart-header__contact .checkout-box-wrapper>h2{
  color:#343840;
  font-size:16px!important;
  font-weight:800!important
}

body.ordering-process .cart-header__contact .box{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important
}

body.ordering-process .cart-header__contact{
  overflow:visible;
  flex:0 0 auto!important;
  width:max-content!important;
  max-width:100%;
  border:1px solid #ccc!important;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 32px rgba(31,38,48,.08)
}

body.ordering-process .cart-header__contact .cart-content{
  min-height:84px;
  padding:18px 26px!important;
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:24px
}

body.ordering-process .cart-header__contact .contact-box strong{
  display:none!important
}

body.ordering-process .cart-header__contact .contact-box ul{
  margin:0!important;
  padding:0!important;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
  list-style:none
}

body.ordering-process .cart-header__contact .contact-box li{
  width:auto!important;
  min-height:46px;
  margin:0!important;
  padding:6px 0!important;
  display:flex;
  align-items:center;
  flex:0 0 auto;
  border:0!important;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important
}

@media (min-width:768px){
  body.ordering-process .cart-header__contact .cart-content,
  body.ordering-process .cart-header__contact .contact-box ul{
    display:flex!important;
    flex-wrap:nowrap!important;
    width:auto!important;
  }
  body.ordering-process .cart-header__contact .checkout-box-wrapper>h2{
    white-space:nowrap;
    margin:0!important;
    width:auto!important;
    flex:0 0 auto!important;
  }
  body.ordering-process .cart-header__contact .contact-box{
    width:auto!important;
    flex:0 0 auto;
  }
}

body.in-kosik .spa-cart-viewed,
body.in-kosik .dkLabVisitedProductsBox,
body.in-kosik .last-block{
  background:transparent!important;
  margin-top:32px!important;
  box-shadow:none!important;
}
body.in-kosik .spa-cart-viewed .products-block{
  background:transparent!important;
}
body.in-kosik .spa-cart-viewed>div{
  background-color:transparent!important;
}
body.in-kosik .spa-cart-viewed{
  border-radius:20px!important;
}
body.in-kosik .spa-cart-viewed .p{
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  border-radius:18px!important;
  overflow:hidden;
}

body.ordering-process .cart-header__contact .mail,
body.ordering-process .cart-header__contact .tel,
body.ordering-process .cart-header__contact .mail:before,
body.ordering-process .cart-header__contact .tel:before{
  color:#ed7d24!important
}

body.ordering-process .cart-header__contact a{
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
  color:#343840!important;
  font-weight:700!important;
  text-decoration:none!important
}

body.ordering-process .cart-header__contact a:hover{
  color:#c75b10!important
}

/* Hlavní karta košíku */
body.in-kosik #cart-wrapper,
body.in-kosik .cart-inner{
  border-radius:24px
}

body.in-kosik .cart-inner{
  border:1px solid #ccc!important;
  background:#fff!important;
  box-shadow:0 18px 48px rgba(31,38,48,.09)
}

/* Aktivní první záložka navazuje na rovný levý horní roh obsahu. */
body.in-kosik #cart-wrapper:has(.cart-inner:not(.cart-empty)),
body.in-kosik .cart-inner:not(.cart-empty):not(:has(.empty-cart, .cart-empty)){
  border-top-left-radius:0!important;
}

/* Doofinder doporučení: samostatná odsazená karta pouze v košíku. */
body.in-kosik div:has(> .dfwidget-title){
  margin-top:32px!important;
  margin-bottom:32px!important;
  padding:24px!important;
  background:#fff!important;
  border-radius:24px!important;
  overflow:hidden;
  box-sizing:border-box;
}
body.in-kosik div:has(> div > .dfwidget-title),
body.in-kosik div:has(> div > div > .dfwidget-title){
  background:transparent!important;
}
@media (max-width:767px){
  body.in-kosik div:has(> .dfwidget-title){
    padding:16px!important;
    border-radius:18px!important;
  }
}

/* Prázdný stav – podporuje současné i starší názvy prvků Shoptetu. */
body.in-kosik .cart-inner:has(.empty-cart),
body.in-kosik .cart-inner:has(.cart-empty),
body.in-kosik .empty-cart,
body.in-kosik .cart-empty{
  min-height:420px;
  padding:64px 32px!important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#25282e!important;
  border-radius:24px;
  background:#fff!important
}

body.in-kosik .empty-cart:before,
body.in-kosik .cart-empty:before{
  width:120px;
  height:120px;
  margin-bottom:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#ed7d24!important;
  border-radius:50%;
  background:#fff1df
}

body.in-kosik .empty-cart strong,
body.in-kosik .empty-cart p,
body.in-kosik .cart-empty strong,
body.in-kosik .cart-empty p{
  margin:0!important;
  color:#25282e!important;
  font-weight:800!important
}

@media (max-width:767px){
  /* Pod souhrnem stejných 20 px jako po stranách karty. */
  body.in-kosik #cart-wrapper .cart-inner:not(.cart-empty){
    padding-bottom:20px!important;
  }
  body.in-kosik #cart-wrapper .cart-inner:not(.cart-empty) .cart-content:has(.summary-wrapper),
  body.in-kosik #cart-wrapper .cart-summary,
  body.in-kosik #cart-wrapper .cart-summary .cart-content,
  body.in-kosik #cart-wrapper .cart-summary .extras-wrapper,
  body.in-kosik #cart-wrapper .cart-summary .extras-col:has(.summary-wrapper),
  body.in-kosik #cart-wrapper .summary-wrapper{
    margin-bottom:0!important;
  }
  body.in-kosik #cart-wrapper .cart-content:has(.summary-wrapper),
  body.in-kosik #cart-wrapper .cart-summary,
  body.in-kosik #cart-wrapper .cart-summary .extras-wrapper,
  body.in-kosik #cart-wrapper .cart-summary .extras-col:has(.summary-wrapper){
    padding-bottom:0!important;
  }

  /* Doporučené produkty: stejný prostor nad i pod celým řádkem. */
  body.in-kosik.ordering-process div.fvDoplnek .fvDoplnek-produkt{
    padding-top:20px!important;
    padding-bottom:20px!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }

  body.in-kosik.ordering-process div.fvDoplnek .fvDoplnek-produkt form{
    margin-top:0!important;
    margin-bottom:0!important;
  }

  body.in-kosik.ordering-process div.fvDoplnek .fvDoplnek-produkt .header{
    align-items:center;
  }

  body.in-kosik.ordering-process div.fvDoplnek .fvDoplnek-produkt .header .fvDoplnek-text{
    margin-top:0!important;
    margin-bottom:0!important;
    line-height:1.4;
    min-width:0;
  }

  body.ordering-process .cart-header-block{
    margin-bottom:28px
  }

  body.ordering-process .cart-header__contact .cart-content{
    padding:18px!important;
    display:block!important
  }

  body.ordering-process .cart-header__contact .checkout-box-wrapper>h2{
    margin:0 0 14px!important
  }

  body.ordering-process .cart-header__contact .contact-box ul{
    display:grid;
    grid-template-columns:1fr
  }

  body.ordering-process .cart-header__contact .contact-box li{
    width:100%
  }

  body.in-kosik .cart-inner:has(.empty-cart),
  body.in-kosik .cart-inner:has(.cart-empty),
  body.in-kosik .empty-cart,
  body.in-kosik .cart-empty{
    min-height:330px;
    padding:42px 20px!important
  }
}
/* Rozbalovací košík v hlavičce – platí na všech stránkách. */
#cart-widget .cart-widget-button{
  background:#fff!important;
  border-top:1px solid rgba(24,29,36,.08)!important;
  box-shadow:none!important;
}

/* Popup po vložení do košíku: dostupnost a cena tvoří pevné sloupce. */
@media (min-width:768px){
  .advanced-order #products .product .p-bottom>div{
    display:grid!important;
    grid-template-columns:minmax(110px,1fr) 140px!important;
    align-items:center!important;
    width:100%!important;
  }

  .advanced-order #products .product .p-bottom .p-tools{
    grid-column:1;
    width:100%!important;
    min-width:0!important;
    text-align:left!important;
  }

  .advanced-order #products .product .p-bottom .prices{
    grid-column:2;
    width:100%!important;
    min-width:0!important;
    text-align:right!important;
  }
}
