/* =========================================================
   JOSPORT.CZ — REDESIGN 2026 / NAPLNĚNÝ KOŠÍK V1
   Navazuje na vizuální styl modulu prázdného košíku.
   ========================================================= */

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

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

body.josport-filled-cart-v1-ready main#content{
  padding-top:34px!important;
  padding-bottom:100px!important;
}

body.josport-filled-cart-v1-ready .content-wrapper{
  max-width:1560px;
}

.jfc1-wrapper{
  width:100%;
}

.jfc1-inner{
  position:relative;
}

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

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

.jfc1-intro-copy,
.jfc1-security{position:relative;z-index:1}

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

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

.jfc1-intro 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;
}

.jfc1-intro h1::before,
.jfc1-intro h1::after{display:none!important}

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

.jfc1-security{
  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);
}

.jfc1-security-icon{
  display:grid;
  place-items:center;
  flex:0 0 40px;
  width:40px;
  height:40px;
  color:#fff;
  background:linear-gradient(135deg,var(--jfc1-accent),#0c78ba);
  border-radius:50%;
  font-size:18px;
  font-weight:900;
  box-shadow:0 9px 22px rgba(0,0,0,.17);
}

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

/* HLAVNÍ ROZLOŽENÍ */
.josport-filled-cart-v1-ready .cart-inner > .cart-row,
.josport-filled-cart-v1-ready .cart-inner > .row.cart-row{
  align-items:flex-start;
}

.josport-filled-cart-v1-ready .cart-inner > .cart-row > .col-md-8,
.josport-filled-cart-v1-ready .cart-inner > .row.cart-row > .col-md-8{
  padding-right:11px;
}

.josport-filled-cart-v1-ready .cart-inner > .cart-row > .col-md-4,
.josport-filled-cart-v1-ready .cart-inner > .row.cart-row > .col-md-4{
  padding-left:11px;
}

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

.jfc1-steps .step,
.jfc1-steps > div,
.jfc1-steps li{
  min-height:66px;
}

/* LEVÁ KARTA */
.josport-filled-cart-v1-ready .cart-content{
  padding:28px 30px!important;
  background:#fff!important;
  border:1px solid rgba(37,68,128,.08)!important;
  border-radius:20px!important;
  box-shadow:var(--jfc1-shadow)!important;
}

.jfc1-product-row{
  position:relative;
  margin:0!important;
  padding:18px 0!important;
  border-bottom:1px solid #e8eef5!important;
}

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

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

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

.josport-filled-cart-v1-ready .p-name a:hover,
.josport-filled-cart-v1-ready .cart-p-name a:hover{color:var(--jfc1-accent)!important}

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

.jfc1-stock,
.josport-filled-cart-v1-ready .availability-label{
  color:var(--jfc1-success)!important;
  font-weight:700!important;
}

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

.josport-filled-cart-v1-ready .p-price,
.josport-filled-cart-v1-ready .p-total,
.josport-filled-cart-v1-ready .price-final{
  color:var(--jfc1-primary-dark)!important;
  font-weight:700!important;
}

/* DORUČENÍ */
.josport-filled-cart-v1-ready .delivery-time,
.josport-filled-cart-v1-ready .cart-delivery-time,
.josport-filled-cart-v1-ready [class*="delivery"]{
  color:var(--jfc1-text);
}

/* SLEVY */
.josport-filled-cart-v1-ready .discount-coupon,
.josport-filled-cart-v1-ready .cart-discount,
.jfc1-discount-card{
  margin-top:22px!important;
  padding:22px!important;
  background:#f7fafe!important;
  border:1px solid #e2eaf3!important;
  border-radius:16px!important;
}

.josport-filled-cart-v1-ready .discount-coupon input,
.josport-filled-cart-v1-ready .cart-discount input,
.jfc1-coupon-input{
  height:46px!important;
  padding:0 16px!important;
  background:#fff!important;
  border:1px solid #d8e3ee!important;
  border-radius:12px!important;
  box-shadow:none!important;
}

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

/* PRAVÝ PANEL */
.jfc1-sidebar{
  position:sticky;
  top:20px;
}

.jfc1-sidebar-card{
  overflow:hidden;
  margin-bottom: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;
}

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

.josport-filled-cart-v1-ready .sidebar-in-cart h4,
.josport-filled-cart-v1-ready .sidebar-in-cart h3,
.josport-filled-cart-v1-ready .cart-sidebar h4,
.josport-filled-cart-v1-ready .cart-sidebar h3{
  color:var(--jfc1-primary-dark)!important;
  font-family:"Roboto Condensed","Roboto",sans-serif!important;
  font-weight:700!important;
}

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

.jfc1-primary-button,
.josport-filled-cart-v1-ready .btn-conversion{
  width:100%!important;
  min-height:56px!important;
  padding:0 24px!important;
  color:#fff!important;
  background:linear-gradient(135deg,var(--jfc1-accent),#0c78ba)!important;
  border:0!important;
  border-radius:13px!important;
  box-shadow:0 13px 28px rgba(25,156,230,.28)!important;
  font-size:16px!important;
  font-weight:700!important;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease!important;
}

.jfc1-primary-button:hover,
.josport-filled-cart-v1-ready .btn-conversion:hover{
  color:#fff!important;
  transform:translateY(-2px);
  box-shadow:0 17px 34px rgba(25,156,230,.34)!important;
  filter:saturate(1.08);
}

.jfc1-secondary-button{
  width:100%!important;
  min-height:48px!important;
  margin-top:8px!important;
  color:var(--jfc1-primary)!important;
  background:#fff!important;
  border:1px solid #cddbea!important;
  border-radius:12px!important;
  font-weight:700!important;
}

/* BENEFITY V SIDEBARU */
.jfc1-benefits{
  display:grid;
  gap:9px;
  padding:5px 0 0;
}

.jfc1-benefits > div{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:11px 12px;
  background:#fff;
  border:1px solid #e2eaf3;
  border-radius:12px;
  box-shadow:0 10px 24px rgba(31,58,101,.055);
}

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

.jfc1-benefits p{margin:0!important}
.jfc1-benefits strong{display:block;color:var(--jfc1-primary-dark);font-size:13px}
.jfc1-benefits small{display:block;margin-top:2px;color:var(--jfc1-muted);font-size:11px;line-height:1.35}

@media (max-width:991px){
  .jfc1-intro{align-items:flex-start;flex-direction:column}
  .jfc1-security{width:100%;min-width:0}
  .jfc1-sidebar{position:static;top:auto;margin-top:20px}
  .josport-filled-cart-v1-ready .cart-inner > .cart-row > .col-md-8,
  .josport-filled-cart-v1-ready .cart-inner > .cart-row > .col-md-4,
  .josport-filled-cart-v1-ready .cart-inner > .row.cart-row > .col-md-8,
  .josport-filled-cart-v1-ready .cart-inner > .row.cart-row > .col-md-4{
    padding-left:0;
    padding-right:0;
  }
}

@media (max-width:767px){
  body.josport-filled-cart-v1-ready main#content{padding-top:18px!important}
  .jfc1-intro{padding:25px 20px;border-radius:17px}
  .jfc1-intro h1{font-size:29px!important}
  .jfc1-intro p{font-size:14px}
  .jfc1-security{padding:13px}
  .josport-filled-cart-v1-ready .cart-content{padding:20px 16px!important;border-radius:16px!important}
  .jfc1-product-row{padding:16px 0!important}
  .jfc1-product-image{max-width:82px!important;max-height:82px!important}
  .jfc1-sidebar-card{padding:20px!important;border-radius:16px!important}
  .josport-filled-cart-v1-ready .cart-summary .price,
  .josport-filled-cart-v1-ready .cart-summary .price-final,
  .josport-filled-cart-v1-ready .sidebar-in-cart .price-final{font-size:27px!important}
}

/* =========================================================
   V2 — DOLADĚNÍ ROZLOŽENÍ A ZAROVNÁNÍ
   ========================================================= */
body.josport-filled-cart-v1-ready .content-wrapper,
body.josport-filled-cart-v1-ready #cart-wrapper{
  width:100%;
  max-width:1460px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.jfc1-intro{
  min-height:146px;
  margin-bottom:26px;
  padding:30px 34px;
}

.jfc1-main-row{
  display:grid!important;
  grid-template-columns:minmax(0,2.08fr) minmax(350px,1fr)!important;
  gap:22px!important;
  margin:0!important;
}

.jfc1-main-row > .jfc1-left-column,
.jfc1-main-row > .jfc1-right-column{
  width:auto!important;
  max-width:none!important;
  padding:0!important;
  float:none!important;
}

.jfc1-steps{
  margin:0 0 18px!important;
  border-radius:18px!important;
}

.jfc1-steps .step,
.jfc1-steps > div,
.jfc1-steps li{
  min-height:60px;
}

body.josport-filled-cart-v1-ready .cart-content{
  min-height:390px;
  padding:0 28px 26px!important;
  border-radius:0 0 20px 20px!important;
}

/* Produkt jako čistá horizontální řádka */
.jfc1-product-row{
  display:grid!important;
  grid-template-columns:76px minmax(260px,1fr) 122px 70px 86px 82px;
  gap:0!important;
  align-items:center!important;
  min-height:112px;
  padding:16px 0!important;
}

.jfc1-product-row > *{
  min-width:0;
  margin:0!important;
  padding:0 12px!important;
  border-left:1px solid #e7edf4;
}

.jfc1-product-row > *:first-child{
  padding-left:0!important;
  border-left:0;
}

.jfc1-product-row .p-image,
.jfc1-product-row .cart-p-image{
  display:flex!important;
  align-items:center;
  justify-content:center;
  padding-right:10px!important;
}

.jfc1-product-image{
  width:72px!important;
  height:72px!important;
  max-width:72px!important;
  max-height:72px!important;
  padding:5px!important;
  border-radius:12px!important;
}

.jfc1-product-row .p-name,
.jfc1-product-row .cart-p-name{
  align-self:center;
}

.jfc1-product-row .p-name a,
.jfc1-product-row .cart-p-name a{
  display:block;
  margin-bottom:5px;
  font-size:14px!important;
  line-height:1.3!important;
}

.jfc1-product-row .p-availability,
.jfc1-product-row .availability,
.jfc1-product-row .availability-label,
.jfc1-product-row .p-quantity,
.jfc1-product-row .amount,
.jfc1-product-row .p-price,
.jfc1-product-row .p-total{
  text-align:center!important;
}

.jfc1-product-row .p-quantity input,
.jfc1-product-row .amount input{
  width:52px!important;
  height:42px!important;
  padding:0 6px!important;
  text-align:center!important;
}

/* Doručení */
body.josport-filled-cart-v1-ready .delivery-time,
body.josport-filled-cart-v1-ready .cart-delivery-time{
  margin:10px 0 2px!important;
  padding:0!important;
  font-size:13px!important;
}

/* Dárky a slevy */
.jfc1-discounts-area{
  display:grid!important;
  grid-template-columns:minmax(280px,.9fr) minmax(280px,1.1fr);
  gap:24px;
  align-items:end;
  margin-top:18px!important;
  padding-top:18px!important;
  border-top:1px solid #e8eef5;
}

.jfc1-discounts-area > *{
  min-width:0;
}

body.josport-filled-cart-v1-ready .discount-coupon,
body.josport-filled-cart-v1-ready .cart-discount,
.jfc1-discount-card{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:14px 16px!important;
  border-radius:14px!important;
}

body.josport-filled-cart-v1-ready .discount-coupon form,
body.josport-filled-cart-v1-ready .cart-discount form{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
}

body.josport-filled-cart-v1-ready .discount-coupon input,
body.josport-filled-cart-v1-ready .cart-discount input,
.jfc1-coupon-input{
  flex:1 1 auto!important;
  min-width:0!important;
  height:44px!important;
}

body.josport-filled-cart-v1-ready .discount-coupon .btn,
body.josport-filled-cart-v1-ready .cart-discount .btn{
  flex:0 0 auto!important;
  min-height:44px!important;
  white-space:nowrap;
}

/* Sidebar zarovnaný s levou kartou */
.jfc1-sidebar{
  top:16px;
}

.jfc1-sidebar-card{
  margin-bottom:18px!important;
  padding:24px 26px!important;
  border-radius:18px!important;
}

.jfc1-sidebar-card:first-child{
  min-height:214px;
}

.jfc1-summary-card{
  min-height:184px;
  padding-top:22px!important;
}

.jfc1-summary-card .btn,
.jfc1-summary-card a.btn,
.jfc1-summary-card button{
  min-width:0;
}

/* Tlačítka mají stejné rozměry a správné pořadí */
.jfc1-summary-card .next-step,
.jfc1-summary-card .cart-buttons,
.jfc1-summary-card .buttons-wrapper{
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:0!important;
  margin-top:18px!important;
}

.jfc1-primary-button,
.jfc1-secondary-button,
body.josport-filled-cart-v1-ready .btn-conversion{
  min-height:52px!important;
  margin:0!important;
  border-radius:11px!important;
}

.jfc1-secondary-button{
  border-radius:11px 0 0 11px!important;
}

.jfc1-primary-button,
body.josport-filled-cart-v1-ready .btn-conversion{
  border-radius:0 11px 11px 0!important;
}

.jfc1-benefits{
  gap:8px;
  padding:4px 0 0;
}

.jfc1-benefits > div{
  min-height:56px;
  padding:9px 11px;
}

@media (max-width:1100px){
  .jfc1-main-row{
    grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr)!important;
  }
  .jfc1-product-row{
    grid-template-columns:70px minmax(210px,1fr) 105px 66px 78px 76px;
  }
}

@media (max-width:991px){
  .jfc1-main-row{
    display:block!important;
  }
  .jfc1-product-row{
    grid-template-columns:72px minmax(0,1fr) 100px 66px 80px 76px;
  }
  .jfc1-discounts-area{
    grid-template-columns:1fr;
  }
}

@media (max-width:767px){
  body.josport-filled-cart-v1-ready .cart-content{
    min-height:0;
    padding:0 16px 20px!important;
  }
  .jfc1-product-row{
    display:grid!important;
    grid-template-columns:74px minmax(0,1fr)!important;
    gap:10px!important;
    min-height:0;
  }
  .jfc1-product-row > *{
    padding:5px 0!important;
    border-left:0!important;
  }
  .jfc1-product-row > *:not(.p-image):not(.cart-p-image):not(.p-name):not(.cart-p-name){
    grid-column:2;
    text-align:left!important;
  }
  .jfc1-product-row .p-image,
  .jfc1-product-row .cart-p-image{
    grid-row:1 / span 5;
    align-self:start;
  }
  .jfc1-summary-card .next-step,
  .jfc1-summary-card .cart-buttons,
  .jfc1-summary-card .buttons-wrapper{
    grid-template-columns:1fr;
    gap:8px!important;
  }
  .jfc1-secondary-button,
  .jfc1-primary-button,
  body.josport-filled-cart-v1-ready .btn-conversion{
    border-radius:11px!important;
  }
}
