/* =========================================================
   EPNEU – CHECKOUT + CART CLEAN STYLE (v1)
   Scope: #obj (checkout) + table.table.table-responsive
   ========================================================= */

/* kotvení našeptávače */
.checkout-ns .medium-6.columns { position: relative; }

/* ---------------- Design tokens ---------------- */
#obj{
  --accent: #e30613;
  --text: #111827;
  --muted: #6b7280;
  --line: #e5e7eb;
  --soft: #f6f7f9;
}

/* ========================
   CHECKOUT CARDS
   ======================== */

#obj .checkout-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:18px 18px 16px;
  box-shadow:0 12px 30px rgba(0,0,0,.06);
  margin-bottom:14px;
  position:relative;
}

#obj .checkout-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  height:3px;
  width:100%;
  background:var(--accent);
  border-radius:16px 16px 0 0;
}

#obj .checkout-step{
  display:flex;
  align-items:center;
  gap:10px;
  margin:2px 0 14px;
}

#obj .checkout-step-num{
  width:26px;
  height:26px;
  border-radius:999px;
  background:var(--accent);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:13px;
  box-shadow:0 10px 22px rgba(227,6,19,.18);
}

#obj .checkout-step-title{
  margin:0;
  font-size:16px;
  font-weight:800;
  color:var(--text);
}

/* ========================
   LABELS
   ======================== */

#obj label{
  display:block;
  margin:14px 0 6px;
  font-size:12.5px;
  font-weight:700;
  color:var(--text);
}

/* ========================
   INPUTS
   ======================== */

form.default-form#obj input.form-control,
form.default-form#obj textarea.form-control{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  height:44px;
  padding:11px 12px;
  font-size:14px;
  color:var(--text);
  box-shadow:none;
  transition:border-color .15s ease, box-shadow .15s ease;
}

form.default-form#obj textarea.form-control{
  height:auto;
  min-height:96px;
  resize:vertical;
}

form.default-form#obj input.form-control:hover,
form.default-form#obj textarea.form-control:hover{
  border-color:#cbd5e1;
}

form.default-form#obj input.form-control:focus,
form.default-form#obj textarea.form-control:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(227,6,19,.12);
}

#obj input.form-control::placeholder,
#obj textarea.form-control::placeholder{
  color:#9ca3af;
}

/* ========================
   CHECKBOX / SHIPPING
   ======================== */

#obj .checkbox-line{
  display:flex;
  align-items:center;
  gap:10px;
  margin:6px 0 14px;
  padding:12px;
  background:#fafafa;
  border:1px solid var(--line);
  border-radius:14px;
}

#shippingFields{
  transition: all .25s ease;
}
#shippingFields.is-hidden{
  opacity:0;
  height:0;
  overflow:hidden;
  margin:0;
  padding:0;
  pointer-events:none;
}

/* ========================
   RADIO LIST
   ======================== */

#obj .radio label{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  margin:6px 0;
  border-radius:12px;
  border:1px solid #eef2f7;
  background:#fff;
  transition:background .15s ease, border-color .15s ease;
}

#obj .radio label:hover{
  background:#f9fafb;
  border-color:#e5e7eb;
}

#obj .radio input[type="radio"]{
  margin:0 2px 0 0;
}

/* ========================
   ERROR STATE
   ======================== */

#obj .chyba{
  border-color:var(--accent) !important;
  background:#fff !important;
  box-shadow:0 0 0 4px rgba(227,6,19,.10) !important;
}

/* ========================
   SUBMIT BUTTON
   ======================== */

#obj .order-submit{
  height:52px;
  border-radius:14px;
}

/* =========================================================
   CART TABLE SKIN
   ========================================================= */

.table.table-responsive{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(0,0,0,.06);
}

.table.table-responsive thead th{
  background:#f8fafc;
  color:var(--text);
  font-weight:800;
  font-size:13px;
  padding:12px;
  border-bottom:1px solid var(--line);
}

.table.table-responsive thead::after{
  content:"";
  display:block;
  height:3px;
  background:var(--accent);
}

.table.table-responsive tbody td{
  padding:12px;
  border-bottom:1px solid #eef2f7;
  color:var(--text);
  vertical-align:middle;
}

.table.table-responsive tbody tr:nth-child(even){
  background:#fafafa;
}

.table.table-responsive tbody tr:hover{
  background:#fff5f5;
}

.table.table-responsive tbody td:first-child{
  font-weight:700;
}

.table.table-responsive tbody td:nth-child(3),
.table.table-responsive tbody td:nth-child(4){
  font-weight:800;
}

.table.table-responsive tbody td:nth-child(2){
  text-align:center;
  width:80px;
  font-weight:700;
}

.table.table-responsive tbody td:last-child{
  text-align:center;
  width:120px;
  white-space:nowrap;
}

.table.table-responsive .qty-controls{
  justify-content:center;
  gap:8px;
}

.table.table-responsive .qty-btn{
  width:32px;
  height:32px;
  box-shadow:0 6px 16px rgba(0,0,0,.10);
}

.table.table-responsive .qty-btn i{
  font-size:14px;
}

/* FIX: globální .default-form h3 nesmí přebít checkout */
form.default-form#obj h3{
  background: none !important;
  background-color: transparent !important;
  color: #111827 !important;
  padding: 0 !important;
  font-family: Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
}

/* FIX H3 badge – úplně poslední override */
#obj h3,
#obj .checkout-step-title{
  background: transparent !important;
  background-color: transparent !important;
  color: #111827 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* někdy se dědí line-height/height */
#obj .checkout-step-title{
  line-height: 1.2 !important;
  display: block !important;
}

#obj .checkout-step-title::after{
  content:"";
  display:block;
  width:44px;
  height:3px;
  background:#e30613;
  border-radius:2px;
  margin-top:6px;
  opacity:.85;
}

#obj .muted{
  color:#6b7280;
  font-weight:600;
  font-size:12px;
}

/* KOŠÍK: schovej levý sidebar (filtr + banner) */
.sidebar{ 
  display:none !important; 
}

/* KOŠÍK: zruš Foundation push/pull a roztáhni hlavní obsah */
.main.row > .columns.large-9.large-push-3{
  width:100% !important;
  left:auto !important;
  right:auto !important;
  float:none !important;
  margin:0 auto !important;
}

/* jistota – když se push/pull aplikuje separátně */
.main.row > .columns.large-push-3{ left:auto !important; }
.main.row > .columns.large-pull-9{ right:auto !important; }

/* KOŠÍK: schovat spodní pás s logy značek */
.product-logos{
  display: none !important;
}