/* =========================================================
   JOSPORT.CZ — REDESIGN 2026 / PRÁZDNÝ KOŠÍK V3 FIX
   Bez zásahu do původního rozložení Shoptetu
   Hlavní barva: #254480
   Akcent: #199CE6
   ========================================================= */

:root{
  --jec3-primary:#254480;
  --jec3-primary-dark:#17345f;
  --jec3-accent:#199ce6;
  --jec3-accent-light:#58bdf2;
  --jec3-bg:#f3f6fa;
  --jec3-white:#fff;
  --jec3-text:#17304f;
  --jec3-muted:#728297;
  --jec3-line:#dce5ef;
  --jec3-shadow:0 18px 46px rgba(31,58,101,.10);
}

/* Pouze stránka košíku */
body.in-kosik,
body[class*="in-kosik"]{
  background:
    radial-gradient(circle at 88% 8%,rgba(25,156,230,.055),transparent 24%),
    linear-gradient(180deg,#f7f9fc 0%,var(--jec3-bg) 100%)!important;
}

body.in-kosik main#content,
body[class*="in-kosik"] main#content{
  padding-top:30px;
  padding-bottom:78px;
}

/* Nadpis */
body.in-kosik h1,
body[class*="in-kosik"] h1{
  position:relative;
  margin:0 0 26px!important;
  padding:0 0 16px!important;
  color:var(--jec3-primary-dark)!important;
  font-family:"Roboto Condensed","Roboto",Arial,sans-serif!important;
  font-size:36px!important;
  font-weight:700!important;
  line-height:1.15!important;
  letter-spacing:-.02em;
}

body.in-kosik h1::after,
body[class*="in-kosik"] h1::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:72px;
  height:4px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--jec3-accent),var(--jec3-accent-light));
}

/* Zachování původního Bootstrap/Shoptet rozložení */
body.in-kosik .row,
body[class*="in-kosik"] .row{
  display:flex;
  flex-wrap:wrap;
}

body.in-kosik .cart-content,
body.in-kosik .cart-empty,
body.in-kosik .empty-cart,
body[class*="in-kosik"] .cart-content,
body[class*="in-kosik"] .cart-empty,
body[class*="in-kosik"] .empty-cart{
  display:block!important;
}

/* Hlavní bílá plocha a pravý pomocný blok */
body.in-kosik .cart-content .content-inner,
body.in-kosik .cart-empty .content-inner,
body.in-kosik .empty-cart .content-inner,
body.in-kosik aside .box,
body.in-kosik .cart-sidebar,
body.in-kosik .cart-content .sidebar-inner,
body[class*="in-kosik"] .cart-content .content-inner,
body[class*="in-kosik"] aside .box,
body[class*="in-kosik"] .cart-content .sidebar-inner{
  position:relative;
  overflow:hidden;
  height:auto!important;
  min-height:0!important;
  background:var(--jec3-white)!important;
  border:1px solid rgba(37,68,128,.08)!important;
  border-radius:18px!important;
  box-shadow:var(--jec3-shadow)!important;
}

/* Modrá linka pouze nahoře, bez změny struktury */
body.in-kosik .cart-content .content-inner::before,
body.in-kosik .cart-empty .content-inner::before,
body.in-kosik .empty-cart .content-inner::before,
body.in-kosik aside .box::before,
body.in-kosik .cart-sidebar::before,
body.in-kosik .cart-content .sidebar-inner::before,
body[class*="in-kosik"] .cart-content .content-inner::before,
body[class*="in-kosik"] aside .box::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--jec3-primary),var(--jec3-accent));
}

/* Rozumné vnitřní odsazení */
body.in-kosik .cart-content .content-inner,
body.in-kosik .cart-empty .content-inner,
body.in-kosik .empty-cart .content-inner,
body[class*="in-kosik"] .cart-content .content-inner{
  padding:34px 38px!important;
}

body.in-kosik aside .box,
body.in-kosik .cart-sidebar,
body.in-kosik .cart-content .sidebar-inner,
body[class*="in-kosik"] aside .box,
body[class*="in-kosik"] .cart-content .sidebar-inner{
  padding:28px 28px 24px!important;
}

/* Vnitřní box v kontaktu nesmí vytvořit další kartu */
body.in-kosik aside .box > div,
body.in-kosik .cart-sidebar > div,
body.in-kosik .cart-content .sidebar-inner > div,
body[class*="in-kosik"] aside .box > div{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Podnadpisy */
body.in-kosik h2,
body.in-kosik h3,
body.in-kosik .h2,
body.in-kosik .h3,
body[class*="in-kosik"] h2,
body[class*="in-kosik"] h3{
  color:var(--jec3-primary-dark)!important;
  font-family:"Roboto Condensed","Roboto",Arial,sans-serif!important;
  font-weight:700!important;
}

body.in-kosik .cart-content h2,
body.in-kosik .cart-content h3,
body.in-kosik .cart-empty h2,
body.in-kosik .cart-empty h3,
body.in-kosik aside h2,
body.in-kosik aside h3,
body[class*="in-kosik"] .cart-content h2,
body[class*="in-kosik"] .cart-content h3,
body[class*="in-kosik"] aside h2,
body[class*="in-kosik"] aside h3{
  margin-top:0!important;
  margin-bottom:17px!important;
  font-size:19px!important;
}

/* Seznam nabídek – jen vizuální úprava */
body.in-kosik .cart-empty ul,
body.in-kosik .empty-cart ul,
body.in-kosik .cart-content ul,
body[class*="in-kosik"] .cart-empty ul,
body[class*="in-kosik"] .cart-content ul{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

body.in-kosik .cart-empty li,
body.in-kosik .empty-cart li,
body.in-kosik .cart-content li,
body[class*="in-kosik"] .cart-empty li,
body[class*="in-kosik"] .cart-content li{
  margin:0 0 6px!important;
  padding:0!important;
}

body.in-kosik .cart-empty li a,
body.in-kosik .empty-cart li a,
body.in-kosik .cart-content li a,
body[class*="in-kosik"] .cart-empty li a,
body[class*="in-kosik"] .cart-content li a{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding-left:18px!important;
  color:var(--jec3-primary)!important;
  font-size:14px!important;
  line-height:1.4!important;
  text-decoration:none!important;
  transition:color .2s ease,transform .2s ease;
}

body.in-kosik .cart-empty li a::before,
body.in-kosik .empty-cart li a::before,
body.in-kosik .cart-content li a::before,
body[class*="in-kosik"] .cart-empty li a::before,
body[class*="in-kosik"] .cart-content li a::before{
  content:"";
  position:absolute;
  left:1px;
  width:6px;
  height:6px;
  border-top:2px solid var(--jec3-accent);
  border-right:2px solid var(--jec3-accent);
  transform:rotate(45deg);
}

body.in-kosik .cart-empty li a:hover,
body.in-kosik .empty-cart li a:hover,
body.in-kosik .cart-content li a:hover,
body[class*="in-kosik"] .cart-empty li a:hover,
body[class*="in-kosik"] .cart-content li a:hover{
  color:var(--jec3-accent)!important;
  transform:translateX(3px);
}

/* Vyhledávání – bez změny rodičovského layoutu */
body.in-kosik .search-form fieldset,
body.in-kosik form.search-form fieldset,
body.in-kosik .cart-empty form fieldset,
body[class*="in-kosik"] .search-form fieldset{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  max-width:520px;
  margin:0!important;
  padding:5px!important;
  background:#fff!important;
  border:1px solid var(--jec3-line)!important;
  border-radius:999px!important;
  box-shadow:0 12px 30px rgba(37,68,128,.10)!important;
}

body.in-kosik .search-form fieldset:focus-within,
body.in-kosik .cart-empty form fieldset:focus-within,
body[class*="in-kosik"] .search-form fieldset:focus-within{
  border-color:rgba(25,156,230,.55)!important;
  box-shadow:0 14px 34px rgba(25,156,230,.14)!important;
}

body.in-kosik .search-form input,
body.in-kosik form.search-form input,
body.in-kosik .cart-empty form input,
body[class*="in-kosik"] .search-form input{
  flex:1 1 auto!important;
  min-width:0!important;
  height:48px!important;
  margin:0!important;
  padding:0 20px!important;
  color:var(--jec3-text)!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

body.in-kosik .search-form button,
body.in-kosik .search-form .btn,
body.in-kosik .cart-empty form button,
body[class*="in-kosik"] .search-form button{
  flex:0 0 auto!important;
  min-width:62px!important;
  height:48px!important;
  margin:0!important;
  padding:0 19px!important;
  color:#fff!important;
  background:linear-gradient(135deg,var(--jec3-primary),#0d73b5)!important;
  border:0!important;
  border-radius:999px!important;
  box-shadow:0 8px 18px rgba(25,156,230,.20)!important;
}

body.in-kosik .search-form button:hover,
body.in-kosik .search-form .btn:hover,
body.in-kosik .cart-empty form button:hover,
body[class*="in-kosik"] .search-form button:hover{
  background:linear-gradient(135deg,var(--jec3-accent),var(--jec3-primary))!important;
}

/* Kontakt */
body.in-kosik aside p,
body.in-kosik .cart-sidebar p,
body.in-kosik .cart-content .sidebar-inner p,
body[class*="in-kosik"] aside p{
  color:var(--jec3-text)!important;
  font-size:14px!important;
  line-height:1.58!important;
}

body.in-kosik aside a,
body.in-kosik .cart-sidebar a,
body.in-kosik .cart-content .sidebar-inner a,
body[class*="in-kosik"] aside a{
  color:var(--jec3-primary)!important;
  text-decoration:none!important;
  font-weight:500;
}

body.in-kosik aside a:hover,
body.in-kosik .cart-sidebar a:hover,
body[class*="in-kosik"] aside a:hover{
  color:var(--jec3-accent)!important;
}

/* Tablet a mobil: respektujeme původní šířky Shoptetu */
@media (max-width:991px){
  body.in-kosik h1,
  body[class*="in-kosik"] h1{
    font-size:31px!important;
  }

  body.in-kosik .cart-content .content-inner,
  body.in-kosik .cart-empty .content-inner,
  body.in-kosik .empty-cart .content-inner,
  body.in-kosik aside .box,
  body.in-kosik .cart-sidebar,
  body.in-kosik .cart-content .sidebar-inner,
  body[class*="in-kosik"] .cart-content .content-inner,
  body[class*="in-kosik"] aside .box{
    margin-bottom:18px!important;
  }
}

@media (max-width:767px){
  body.in-kosik main#content,
  body[class*="in-kosik"] main#content{
    padding-top:22px;
    padding-bottom:50px;
  }

  body.in-kosik h1,
  body[class*="in-kosik"] h1{
    margin-bottom:21px!important;
    font-size:28px!important;
  }

  body.in-kosik .cart-content .content-inner,
  body.in-kosik .cart-empty .content-inner,
  body.in-kosik .empty-cart .content-inner,
  body.in-kosik aside .box,
  body.in-kosik .cart-sidebar,
  body.in-kosik .cart-content .sidebar-inner,
  body[class*="in-kosik"] .cart-content .content-inner,
  body[class*="in-kosik"] aside .box{
    padding:24px 20px!important;
    border-radius:14px!important;
  }

  body.in-kosik .search-form fieldset,
  body.in-kosik .cart-empty form fieldset,
  body[class*="in-kosik"] .search-form fieldset{
    max-width:100%;
  }

  body.in-kosik .search-form input,
  body.in-kosik .cart-empty form input,
  body[class*="in-kosik"] .search-form input{
    height:46px!important;
    padding-left:15px!important;
  }

  body.in-kosik .search-form button,
  body.in-kosik .cart-empty form button,
  body[class*="in-kosik"] .search-form button{
    min-width:54px!important;
    height:46px!important;
    padding:0 15px!important;
  }
}
