/* =========================================================
   JOSPORT.CZ — KOŠÍK S PRODUKTY / REDESIGN V4
   Stabilní CSS bez přesouvání původní struktury Shoptetu.
   ========================================================= */

:root{
  --jcp4-primary:#254480;
  --jcp4-primary-dark:#17345f;
  --jcp4-primary-light:#315a9c;
  --jcp4-accent:#199ce6;
  --jcp4-accent-dark:#0b78bb;
  --jcp4-bg:#f3f6fa;
  --jcp4-white:#fff;
  --jcp4-text:#17304f;
  --jcp4-muted:#6f8094;
  --jcp4-line:#dce5ef;
  --jcp4-success:#1c9a63;
  --jcp4-shadow:0 20px 50px rgba(31,58,101,.10);
}

body.josport-cart-products-v4-ready{
  background:
    radial-gradient(circle at 88% 8%,rgba(25,156,230,.07),transparent 24%),
    linear-gradient(180deg,#f8fafc 0%,var(--jcp4-bg) 100%)!important;
}

body.josport-cart-products-v4-ready main#content{
  padding-top:30px!important;
  padding-bottom:100px!important;
}

body.josport-cart-products-v4-ready .content-wrapper,
body.josport-cart-products-v4-ready .container{
  max-width:1480px;
}

.jcp4-wrapper,
.jcp4-inner{
  width:100%;
  max-width:100%;
}

/* HERO */
.jcp4-hero{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  width:100%;
  margin:0 0 22px;
  padding:30px 34px;
  color:#fff;
  background:
    radial-gradient(circle at 89% 14%,rgba(25,156,230,.30),transparent 28%),
    linear-gradient(135deg,var(--jcp4-primary-dark),var(--jcp4-primary) 62%,var(--jcp4-primary-light));
  border-radius:22px;
  box-shadow:0 26px 65px rgba(23,52,95,.17);
}

.jcp4-hero::after{
  content:"J";
  position:absolute;
  right:-20px;
  bottom:-92px;
  color:rgba(255,255,255,.045);
  font:900 250px/1 "Roboto",Arial,sans-serif;
  pointer-events:none;
}

.jcp4-hero-copy,.jcp4-safe{position:relative;z-index:1}

.jcp4-kicker{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:9px;
  color:#dff4ff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.jcp4-kicker::before{
  content:"";
  width:30px;
  height:3px;
  border-radius:99px;
  background:var(--jcp4-accent);
}

.jcp4-hero h1{
  margin:0 0 7px!important;
  padding:0!important;
  color:#fff!important;
  font:700 36px/1.08 "Roboto Condensed","Roboto",Arial,sans-serif!important;
  letter-spacing:-.025em;
}

.jcp4-hero h1::before,.jcp4-hero h1::after{display:none!important}

.jcp4-hero p{
  margin:0;
  color:#e6f0fa;
  font-size:15px;
  line-height:1.55;
}

.jcp4-safe{
  display:flex;
  align-items:center;
  gap:13px;
  min-width:310px;
  padding:16px 18px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  border-radius:15px;
  backdrop-filter:blur(8px);
}

.jcp4-safe-icon{
  display:grid;
  place-items:center;
  flex:0 0 40px;
  width:40px;
  height:40px;
  color:#fff;
  background:linear-gradient(135deg,var(--jcp4-accent),var(--jcp4-accent-dark));
  border-radius:50%;
  font-size:18px;
  font-weight:900;
}

.jcp4-safe strong,.jcp4-safe small{display:block}
.jcp4-safe strong{margin-bottom:2px;color:#fff;font-size:14px}
.jcp4-safe small{color:#dce9f5;font-size:12px;line-height:1.4}

/* HLAVNÍ GRID — přepis bootstrap šířek pouze na prvním řádku košíku */
.jcp4-layout{
  display:grid!important;
  grid-template-columns:minmax(0,2fr) minmax(330px,.92fr)!important;
  gap:22px!important;
  align-items:start!important;
  width:100%!important;
  margin:0!important;
}

.jcp4-layout::before,.jcp4-layout::after{display:none!important}

.jcp4-layout > .jcp4-main,
.jcp4-layout > .jcp4-sidebar{
  float:none!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

/* KROKY */
.jcp4-steps{
  overflow:hidden;
  width:100%;
  margin:0 0 18px!important;
  background:#fff!important;
  border:1px solid rgba(37,68,128,.08)!important;
  border-radius:18px!important;
  box-shadow:0 14px 34px rgba(31,58,101,.07)!important;
}

.jcp4-steps ul,
.jcp4-steps .row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
  margin:0!important;
}

.jcp4-steps li,
.jcp4-steps .step{
  min-width:0!important;
  min-height:66px!important;
  padding:14px 18px!important;
}

/* KARTA PRODUKTŮ */
.jcp4-cart-card{
  width:100%!important;
  min-width:0!important;
  padding:28px 30px!important;
  background:#fff!important;
  border:1px solid rgba(37,68,128,.08)!important;
  border-radius:20px!important;
  box-shadow:var(--jcp4-shadow)!important;
}

.jcp4-product-row{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:18px 0!important;
  border-bottom:1px solid #e8eef5!important;
}

.jcp4-product-row:first-child{padding-top:0!important}

.jcp4-product-row > [class*="col-"]{
  min-width:0!important;
}

.jcp4-product-image{
  width:96px!important;
  max-width:100%!important;
  height:96px!important;
  object-fit:contain!important;
  padding:7px;
  background:#f8fbfe;
  border:1px solid #e7edf4;
  border-radius:14px;
}

body.josport-cart-products-v4-ready .p-name a,
body.josport-cart-products-v4-ready .cart-p-name a{
  color:var(--jcp4-primary-dark)!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.4!important;
  text-decoration:none!important;
}

body.josport-cart-products-v4-ready .p-name a:hover,
body.josport-cart-products-v4-ready .cart-p-name a:hover{color:var(--jcp4-accent)!important}

body.josport-cart-products-v4-ready .p-variant,
body.josport-cart-products-v4-ready .variant-name,
body.josport-cart-products-v4-ready .show-related-products{
  color:var(--jcp4-muted)!important;
  font-size:12px!important;
}

body.josport-cart-products-v4-ready .availability-label,
body.josport-cart-products-v4-ready .p-availability,
body.josport-cart-products-v4-ready .availability{
  color:var(--jcp4-success)!important;
  font-weight:700!important;
}

body.josport-cart-products-v4-ready .p-quantity input,
body.josport-cart-products-v4-ready .amount input{
  height:44px!important;
  background:#f8fbfe!important;
  border:1px solid #dce5ef!important;
  border-radius:10px!important;
  box-shadow:none!important;
}

body.josport-cart-products-v4-ready .p-price,
body.josport-cart-products-v4-ready .p-total,
body.josport-cart-products-v4-ready .price-final{
  color:var(--jcp4-primary-dark)!important;
  font-weight:700!important;
}

/* SLEVY */
.jcp4-discount-heading{
  margin-top:28px!important;
  color:var(--jcp4-primary-dark)!important;
  font:700 18px/1.2 "Roboto Condensed","Roboto",sans-serif!important;
}

.jcp4-coupon,
body.josport-cart-products-v4-ready .discount-coupon,
body.josport-cart-products-v4-ready .cart-discount{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  max-width:100%!important;
  margin-top:16px!important;
  padding:18px!important;
  background:#f7fafe!important;
  border:1px solid #e2eaf3!important;
  border-radius:16px!important;
}

.jcp4-coupon input,
body.josport-cart-products-v4-ready .discount-coupon input,
body.josport-cart-products-v4-ready .cart-discount input{
  min-width:210px!important;
  height:46px!important;
  padding:0 16px!important;
  background:#fff!important;
  border:1px solid #d8e3ee!important;
  border-radius:12px!important;
  box-shadow:none!important;
}

.jcp4-coupon .btn,
body.josport-cart-products-v4-ready .discount-coupon .btn,
body.josport-cart-products-v4-ready .cart-discount .btn{
  min-height:46px!important;
  padding:0 18px!important;
  color:var(--jcp4-primary)!important;
  background:#fff!important;
  border:1px solid #bdd4e7!important;
  border-radius:12px!important;
  font-weight:700!important;
}

/* PRAVÝ SLOUPEC */
.jcp4-sidebar-inner{
  position:sticky;
  top:18px;
  width:100%!important;
}

.jcp4-side-card,
.jcp4-benefits{
  width:100%!important;
  margin:0 0 16px!important;
  padding:24px!important;
  background:#fff!important;
  border:1px solid rgba(37,68,128,.08)!important;
  border-radius:18px!important;
  box-shadow:0 18px 45px rgba(31,58,101,.09)!important;
}

.jcp4-summary{
  border-top:4px solid var(--jcp4-accent)!important;
}

body.josport-cart-products-v4-ready .sidebar-in-cart .price-final,
body.josport-cart-products-v4-ready .cart-sidebar .price-final{
  color:var(--jcp4-primary-dark)!important;
  font-size:30px!important;
  font-weight:800!important;
  letter-spacing:-.02em;
}

.jcp4-benefits{
  display:grid;
  gap:10px;
  padding:18px!important;
}

.jcp4-benefit{
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:11px;
  align-items:center;
  min-width:0;
  padding:10px;
  background:#f8fbfe;
  border:1px solid #e1eaf3;
  border-radius:12px;
}

.jcp4-benefit > span{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  color:#fff;
  background:linear-gradient(135deg,var(--jcp4-primary),var(--jcp4-accent));
  border-radius:50%;
  font-weight:800;
}

.jcp4-benefit p{min-width:0;margin:0}
.jcp4-benefit strong,.jcp4-benefit small{display:block}
.jcp4-benefit strong{color:var(--jcp4-primary-dark);font-size:13px}
.jcp4-benefit small{margin-top:2px;color:var(--jcp4-muted);font-size:11px;line-height:1.35}

/* TLAČÍTKA */
.jcp4-primary-button,
body.josport-cart-products-v4-ready a.btn-conversion,
body.josport-cart-products-v4-ready button.btn-conversion{
  min-height:52px!important;
  color:#fff!important;
  background:linear-gradient(135deg,var(--jcp4-accent),var(--jcp4-accent-dark))!important;
  border:0!important;
  border-radius:12px!important;
  box-shadow:0 12px 24px rgba(25,156,230,.23)!important;
  font-weight:700!important;
}

.jcp4-secondary-button{
  min-height:52px!important;
  color:var(--jcp4-primary)!important;
  background:#fff!important;
  border:1px solid #c9d9e8!important;
  border-radius:12px!important;
  font-weight:700!important;
}

/* TABLET */
@media (max-width:1100px){
  .jcp4-layout{
    grid-template-columns:minmax(0,1.55fr) minmax(300px,.9fr)!important;
    gap:16px!important;
  }

  .jcp4-hero{padding:26px 28px}
  .jcp4-safe{min-width:270px}
}

/* MOBIL */
@media (max-width:900px){
  .jcp4-layout{grid-template-columns:1fr!important}
  .jcp4-sidebar-inner{position:static}
  .jcp4-hero{align-items:flex-start;flex-direction:column}
  .jcp4-safe{width:100%;min-width:0}
}

@media (max-width:767px){
  body.josport-cart-products-v4-ready main#content{padding-top:18px!important}

  .jcp4-hero{
    margin-bottom:15px;
    padding:24px 20px;
    border-radius:17px;
  }

  .jcp4-hero h1{font-size:30px!important}
  .jcp4-hero p{font-size:14px}
  .jcp4-safe{padding:13px}

  .jcp4-cart-card{padding:20px 16px!important;border-radius:16px!important}
  .jcp4-side-card,.jcp4-benefits{padding:18px!important;border-radius:16px!important}

  .jcp4-steps ul,
  .jcp4-steps .row{grid-template-columns:repeat(3,minmax(0,1fr))!important}

  .jcp4-steps li,
  .jcp4-steps .step{
    min-height:58px!important;
    padding:10px 5px!important;
    font-size:10px!important;
  }

  .jcp4-coupon{align-items:stretch!important;flex-direction:column!important}
  .jcp4-coupon input{width:100%!important;min-width:0!important}
  .jcp4-coupon .btn{width:100%!important}
}

/* =========================================================
   V4 — PŘESNÉ SROVNÁNÍ KUPÓNU A REGISTRAČNÍ SLEVY
   ========================================================= */
body.josport-cart-products-v4-ready .cart-content .cart-summary{
  margin-top:26px!important;
}

body.josport-cart-products-v4-ready .cart-content .cart-summary > .jcp4-discount-heading{
  margin:0 0 16px!important;
}

body.josport-cart-products-v4-ready .cart-content .extras-wrapper{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:18px!important;
  align-items:stretch!important;
  width:100%!important;
  margin:0!important;
}

body.josport-cart-products-v4-ready .cart-content .extras-wrapper > .extras-col{
  display:flex!important;
  align-items:stretch!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

body.josport-cart-products-v4-ready .cart-content .extras-wrapper > .extras-col > *{
  width:100%!important;
  min-width:0!important;
}

/* Obě nabídky jako stejně vysoké karty */
body.josport-cart-products-v4-ready .cart-content .discount-coupon,
body.josport-cart-products-v4-ready .cart-content .extras-wrap{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-height:86px!important;
  margin:0!important;
  padding:15px 16px!important;
  background:#f7fafe!important;
  border:1px solid #e2eaf3!important;
  border-radius:16px!important;
  box-sizing:border-box!important;
}

/* Kupón: input + tlačítko v jednom řádku */
body.josport-cart-products-v4-ready .cart-content .discount-coupon{
  flex-wrap:nowrap!important;
  gap:0!important;
}

body.josport-cart-products-v4-ready .cart-content .discount-coupon input{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  height:46px!important;
  margin:0!important;
  padding:0 16px!important;
  border:1px solid #d8e3ee!important;
  border-right:0!important;
  border-radius:12px 0 0 12px!important;
}

body.josport-cart-products-v4-ready .cart-content .discount-coupon .btn{
  flex:0 0 auto!important;
  min-width:96px!important;
  height:46px!important;
  min-height:46px!important;
  margin:0!important;
  padding:0 18px!important;
  border-radius:0 12px 12px 0!important;
}

/* Registrační sleva */
body.josport-cart-products-v4-ready .cart-content .extras-wrap .extra.discount{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

body.josport-cart-products-v4-ready .cart-content .extras-wrap .extra.discount::before{
  content:"-%"!important;
  display:grid!important;
  place-items:center!important;
  position:static!important;
  width:48px!important;
  height:48px!important;
  margin:0!important;
  color:var(--jcp4-accent)!important;
  background:#fff!important;
  border:1px solid #d8e6f2!important;
  border-radius:50%!important;
  font:700 21px/1 "Roboto Condensed","Roboto",sans-serif!important;
  box-sizing:border-box!important;
}

body.josport-cart-products-v4-ready .cart-content .extras-wrap .extra.discount > *{
  min-width:0!important;
  margin-top:0!important;
  margin-bottom:0!important;
}

body.josport-cart-products-v4-ready .cart-content .extras-wrap .extra.discount a{
  font-weight:700!important;
}

/* Odstranění původního vyčnívajícího symbolu u kupónu */
body.josport-cart-products-v4-ready .cart-content .discount-coupon::before{
  display:none!important;
  content:none!important;
}

@media (max-width:767px){
  body.josport-cart-products-v4-ready .cart-content .extras-wrapper{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  body.josport-cart-products-v4-ready .cart-content .discount-coupon,
  body.josport-cart-products-v4-ready .cart-content .extras-wrap{
    min-height:78px!important;
  }

  body.josport-cart-products-v4-ready .cart-content .discount-coupon{
    flex-direction:row!important;
    align-items:center!important;
  }

  body.josport-cart-products-v4-ready .cart-content .discount-coupon input{
    width:calc(100% - 92px)!important;
  }

  body.josport-cart-products-v4-ready .cart-content .discount-coupon .btn{
    width:92px!important;
    min-width:92px!important;
  }
}
