/* Cop Coffee / Clean Simple 2 checkout redesign */
#vmMainPageOPC {
  --cop-gold: #e5a600;
  --cop-gold-dark: #bd7d00;
  --cop-ink: #171717;
  --cop-cream: #f7f2e9;
  --cop-line: #ded5c8;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px 64px;
  color: var(--cop-ink);
  font-family: Inter, Arial, sans-serif;
  box-sizing: border-box;
}
#vmMainPageOPC *, #vmMainPageOPC *::before, #vmMainPageOPC *::after { box-sizing: border-box; }
#vmMainPageOPC::before {
  content: "1  Košík   ─────────   2  Doprava a platba   ─────────   3  Dokončení";
  display: block;
  max-width: 610px;
  margin: 0 0 34px auto;
  color: #4a453e;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  white-space: pre;
}

/* Stable two-column shell without moving checkout controls in the DOM. */
#vmMainPageOPC #opc_unlogged_wrapper,
#vmMainPageOPC #opc_logged_wrapper {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(350px, .95fr);
  grid-template-rows: auto auto 1fr;
  gap: 18px 24px;
  width: 100%;
  min-height: 0 !important;
  background: transparent !important;
}
#vmMainPageOPC #opc_unlogged_wrapper > div:first-child,
#vmMainPageOPC #opc_logged_wrapper > div:first-child {
  grid-column: 2;
  grid-row: 1;
  width: 100% !important;
  min-width: 0;
  float: none !important;
}
#vmMainPageOPC #opc_unlogged_wrapper > .coupon_right,
#vmMainPageOPC #opc_logged_wrapper > .coupon_right {
  grid-column: 2;
  grid-row: 2;
  width: 100% !important;
  margin: -19px 0 0 !important;
  padding: 0 24px 22px;
  float: none !important;
  background: rgba(255,255,255,.72);
  border-inline: 1px solid rgba(120,90,50,.15);
}
#vmMainPageOPC form#adminForm { display: contents !important; }
#vmMainPageOPC #onepage_main_div { display: contents !important; width: auto !important; height: auto !important; min-height: 0 !important; }
#vmMainPageOPC #onepage_main_div > .left_checkout { grid-column: 1; }
#vmMainPageOPC #onepage_main_div > .right_checkout { grid-column: 1; }
#vmMainPageOPC #onepage_info_above_button {
  grid-column: 2;
  grid-row: 3;
  align-self: start;
  width: 100% !important;
  margin: -19px 0 0 !important;
  padding: 22px 24px 28px !important;
  background: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(120,90,50,.15);
  border-top: 0;
  border-radius: 0 0 18px 18px;
}

/* Cards and section titles */
#vmMainPageOPC .left_checkout,
#vmMainPageOPC .right_checkout > .op_inside,
#vmMainPageOPC #payment_top_wrapper,
#vmMainPageOPC fieldset.notes_checkout {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 16px !important;
  padding: 22px 24px !important;
  float: none !important;
  clear: both;
  overflow: visible !important;
  background: rgba(255,255,255,.84) !important;
  border: 1px solid rgba(120,90,50,.16) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 34px rgba(65,43,17,.04);
}
#vmMainPageOPC .left_checkout:first-child:has(#vmtabs:empty),
#vmMainPageOPC .left_checkout:has(> div[style*="display: none"] > #vmtabs) { display: none !important; }
#vmMainPageOPC h3,
#vmMainPageOPC legend.sectiontableheader,
#vmMainPageOPC .module-title {
  display: block !important;
  margin: 0 0 18px !important;
  padding: 0 0 14px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cop-line) !important;
  background: transparent !important;
  color: var(--cop-ink) !important;
  font-family: "Barlow Condensed", Impact, sans-serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  text-transform: none !important;
}
#vmMainPageOPC .tabcontent3 > h3::before { content: "1. "; color: var(--cop-gold-dark); }
#vmMainPageOPC .right_checkout > .op_inside > h3::before { content: "2. "; color: var(--cop-gold-dark); }
#vmMainPageOPC #payment_top_wrapper > h3::before { content: "3. "; color: var(--cop-gold-dark); }
#vmMainPageOPC .right_checkout > h3.shipping_h3:first-child { font-size: 0 !important; }
#vmMainPageOPC .right_checkout > h3.shipping_h3:first-child::after { content: "Doručit na jinou adresu"; font-size: 20px; }
#vmMainPageOPC .right_checkout > h3.shipping_h3:last-of-type { display: none !important; }
#vmMainPageOPC fieldset.notes_checkout::before {
  content: "4. Poznámka k objednávce";
  display: block;
  margin: 0 0 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--cop-line);
  color: var(--cop-ink);
  font-family: "Barlow Condensed", Impact, sans-serif;
  font-size: 28px;
  font-weight: 700;
}

/* Billing fields */
#vmMainPageOPC fieldset { min-width: 0; margin: 0 !important; padding: 0 !important; border: 0 !important; }
#vmMainPageOPC #edit_address_bt_section .all_fields,
#vmMainPageOPC #registertab .all_fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 13px 18px;
}
#vmMainPageOPC .field_wrapper,
#vmMainPageOPC .field_wrapper .formLabel,
#vmMainPageOPC .field_wrapper .formField {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
#vmMainPageOPC #email_div,
#vmMainPageOPC #address_1_div,
#vmMainPageOPC #phone_1_div,
#vmMainPageOPC #virtuemart_country_id_div { grid-column: 1 / -1; }
#vmMainPageOPC .formLabel label {
  display: block;
  margin: 0 0 6px;
  color: #504a42;
  font-size: 13px;
  font-weight: 650;
}
#vmMainPageOPC input[type="text"], #vmMainPageOPC input[type="email"],
#vmMainPageOPC input[type="tel"], #vmMainPageOPC input[type="number"],
#vmMainPageOPC input[type="password"], #vmMainPageOPC select, #vmMainPageOPC textarea {
  width: 100% !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 10px 13px !important;
  border: 1px solid #d5cec3 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #222 !important;
  font-size: 15px !important;
  box-shadow: none !important;
}
#vmMainPageOPC textarea { min-height: 108px !important; resize: vertical; }
#vmMainPageOPC input:focus, #vmMainPageOPC select:focus, #vmMainPageOPC textarea:focus {
  border-color: var(--cop-gold) !important;
  outline: 3px solid rgba(229,166,0,.13) !important;
}

/* Shipping and payments */
#vmMainPageOPC .opc_payment_wrap,
#vmMainPageOPC .pay_box,
#vmMainPageOPC #ajaxshipping > div,
#vmMainPageOPC .shipping_method {
  min-height: 50px;
  padding: 11px 8px !important;
  border-bottom: 1px solid #e3ddd4 !important;
  background: transparent !important;
}
#vmMainPageOPC input[type="radio"], #vmMainPageOPC input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  margin-right: 10px !important;
  accent-color: var(--cop-gold);
}

/* Basket summary */
#vmMainPageOPC #basket_container { width: 100% !important; overflow: visible !important; }
#vmMainPageOPC #basket_container > .inside {
  padding: 24px !important;
  background: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(120,90,50,.15) !important;
  border-radius: 18px 18px 0 0 !important;
  box-shadow: 0 12px 34px rgba(65,43,17,.045);
}
#vmMainPageOPC #basket_container .module-title span span { font-size: 0; }
#vmMainPageOPC #basket_container .module-title span span::after { content: "Vaše objednávka"; font-size: 28px; }
#vmMainPageOPC .op_basket_header { display: none !important; }
#vmMainPageOPC .op_basket_rows {
  display: grid !important;
  grid-template-columns: 82px minmax(0,1fr) auto;
  grid-template-areas: "product product total" "product product total" "qty qty total";
  gap: 8px 14px;
  min-height: 0 !important;
  margin: 0 0 12px !important;
  padding: 12px 0 20px !important;
  overflow: visible !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cop-line) !important;
  background: transparent !important;
}
#vmMainPageOPC .op_basket_rows > div { width: auto !important; min-width: 0; height: auto !important; padding: 0 !important; float: none !important; border: 0 !important; }
#vmMainPageOPC .op_basket_rows .op_col1, #vmMainPageOPC .op_basket_rows .op_col3,
#vmMainPageOPC .op_basket_rows .op_col4, #vmMainPageOPC .op_basket_rows .op_col5 { display: none !important; }
#vmMainPageOPC .op_basket_rows .op_col2 { grid-area: product; display: grid; grid-template-columns: 82px 1fr; gap: 14px; }
#vmMainPageOPC .op_basket_rows .op_col6 { grid-area: qty; padding-left: 96px !important; }
#vmMainPageOPC .op_basket_rows .op_col7 { grid-area: total; font-size: 16px; font-weight: 800; white-space: nowrap; }
#vmMainPageOPC .op_basket_rows img { width: 82px !important; height: 108px !important; object-fit: contain; border-radius: 7px; background: #f2eadf; }
#vmMainPageOPC .op_basket_rows .cart-title { color: #181818; font-size: 16px; font-weight: 800; line-height: 1.3; }
#vmMainPageOPC .mobile_unit_price { display: none !important; }
#vmMainPageOPC .op_basket_row.custom_chec {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  width: 100% !important;
  min-height: 0 !important;
  padding: 8px 0 !important;
  border: 0 !important;
  background: transparent !important;
}
#vmMainPageOPC .op_basket_row.custom_chec > div { width: auto !important; padding: 0 !important; float: none !important; }
#vmMainPageOPC #tt_tax_total_1_div_basket, #vmMainPageOPC #tt_tax_total_2_div_basket,
#vmMainPageOPC #tt_tax_total_3_div_basket, #vmMainPageOPC #tt_tax_total_4_div_basket,
#vmMainPageOPC #tt_genericwrapper_basket { display: none !important; }
#vmMainPageOPC .total_total { margin-top: 12px !important; padding-top: 18px !important; border-top: 1px solid var(--cop-line) !important; font-size: 18px; font-weight: 800; }
#vmMainPageOPC #tt_total_basket { color: var(--cop-gold-dark) !important; font-family: "Barlow Condensed", Impact, sans-serif; font-size: 36px !important; }

/* Coupon, agreements and submit */
#vmMainPageOPC #couponcode_field form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; width: 100%; }
#vmMainPageOPC #submit_coupon_button { min-height: 46px; padding: 0 18px !important; border: 1px solid var(--cop-gold) !important; border-radius: 8px !important; background: transparent !important; color: var(--cop-gold-dark) !important; font-weight: 800; }
#vmMainPageOPC #onepage_info_above_button > * { width: 100% !important; max-width: none !important; margin-inline: 0 !important; }
#vmMainPageOPC #onepage_submit_section { width: 100% !important; margin: 22px 0 0 !important; }
#vmMainPageOPC #confirmbtn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 58px !important;
  padding: 14px 22px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: linear-gradient(100deg,#efa900,#d99500) !important;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  box-shadow: 0 8px 20px rgba(195,129,0,.18) !important;
}
#vmMainPageOPC #confirmbtn:hover { transform: translateY(-1px); filter: brightness(.94); }
#vmMainPageOPC #opc_error_msgs:empty, #vmMainPageOPC #checkout-advertise-box:empty,
#vmMainPageOPC #tracking_div:empty, #vmMainPageOPC br.op_clear { display: none !important; }

@media (max-width: 991.98px) {
  #vmMainPageOPC { padding-inline: 18px; }
  #vmMainPageOPC::before { max-width: none; margin-bottom: 26px; font-size: 12px; white-space: normal; }
  #vmMainPageOPC #opc_unlogged_wrapper, #vmMainPageOPC #opc_logged_wrapper { display: flex !important; flex-direction: column; gap: 14px; }
  #vmMainPageOPC #onepage_main_div { display: contents !important; }
  #vmMainPageOPC .left_checkout { order: 1; }
  #vmMainPageOPC .right_checkout { display: contents !important; }
  #vmMainPageOPC .right_checkout > h3, #vmMainPageOPC .right_checkout > fieldset { order: 2; }
  #vmMainPageOPC .right_checkout > .op_inside { order: 3; }
  #vmMainPageOPC #payment_top_wrapper { order: 4; }
  #vmMainPageOPC fieldset.notes_checkout { order: 5; }
  #vmMainPageOPC #opc_unlogged_wrapper > div:first-child, #vmMainPageOPC #opc_logged_wrapper > div:first-child { order: 6; }
  #vmMainPageOPC .coupon_right { order: 7; }
  #vmMainPageOPC #onepage_info_above_button { order: 8; }
}
@media (max-width: 575.98px) {
  #vmMainPageOPC { padding-inline: 12px; }
  #vmMainPageOPC #edit_address_bt_section .all_fields, #vmMainPageOPC #registertab .all_fields { grid-template-columns: 1fr; }
  #vmMainPageOPC .field_wrapper { grid-column: 1 !important; }
  #vmMainPageOPC .left_checkout, #vmMainPageOPC .right_checkout > .op_inside,
  #vmMainPageOPC #payment_top_wrapper, #vmMainPageOPC fieldset.notes_checkout,
  #vmMainPageOPC #basket_container > .inside { padding: 18px 16px !important; border-radius: 14px !important; }
  #vmMainPageOPC #opc_unlogged_wrapper > .coupon_right, #vmMainPageOPC #opc_logged_wrapper > .coupon_right,
  #vmMainPageOPC #onepage_info_above_button { padding-left: 16px !important; padding-right: 16px !important; }
  #vmMainPageOPC .op_basket_rows { grid-template-columns: 66px 1fr; grid-template-areas: "product product" "qty total"; }
  #vmMainPageOPC .op_basket_rows .op_col2 { grid-template-columns: 66px 1fr; }
  #vmMainPageOPC .op_basket_rows .op_col6 { padding-left: 80px !important; }
  #vmMainPageOPC .op_basket_rows img { width: 66px !important; height: 88px !important; }
}
