/* Modern checkout/cart layer for the legacy Sam Marko store. */
body.checkout .banners-desktop,
body.checkout .banners-mobile {
  display:none;
}
body.checkout {
  width:100%;
  max-width:100%;
  overflow-x:clip;
}
body.checkout .main,
body.checkout .main .full {
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
body.checkout .products_wrap {
  display:flex;
  align-items:flex-start;
  gap:22px;
  width:100%;
  max-width:100%;
  padding:0;
  box-sizing:border-box;
}
body.checkout .products_wrap .column.left {
  display:block;
  flex:0 0 300px;
  width:300px;
  max-width:300px;
  margin-right:0;
}
body.checkout .main .full {
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.column.cart {
  display:block;
  flex:1 1 auto;
  min-width:0;
  max-width:none;
  width:auto;
  margin:0;
  font-size:15px;
  box-sizing:border-box;
}
.cart_shell {
  width:100%;
  box-sizing:border-box;
}
.cart_shell.is_updating {
  opacity:0.62;
  pointer-events:none;
}
.cart_intro {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin:0 0 18px 0;
  padding:16px 20px;
  border-radius:16px;
  background:#3a3a3a;
  color:#ffffff;
  box-shadow:0 18px 42px rgba(0,0,0,0.12);
}
.cart_intro h1 {
  margin:0;
  color:#ffffff;
  font-size:22px;
  line-height:1.12;
  font-weight:700;
}
.cart_intro p {
  margin:8px 0 0 0;
  color:#dedede;
  line-height:1.45;
}
.cart_continue_action,
.cart_clear_action,
.cart_primary_action,
.cart_checkout_action {
  text-decoration:none;
  box-sizing:border-box;
}
.cart_layout {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(280px, 310px);
  gap:22px;
  align-items:start;
}
.cart_layout_empty {
  grid-template-columns:1fr;
}
.cart_items {
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
}
.cart_item {
  display:grid;
  grid-template-columns:108px minmax(180px, 1fr) minmax(86px, 104px) minmax(118px, 132px) minmax(106px, 116px);
  gap:16px;
  align-items:center;
  padding:11px 14px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:18px;
  background:#ffffff;
  box-shadow:0 10px 30px rgba(0,0,0,0.07);
  box-sizing:border-box;
}
.cart_item_photo {
  display:flex;
  align-items:center;
  justify-content:center;
  width:108px;
  height:88px;
  border-radius:14px;
  background:#ffffff;
  overflow:hidden;
}
.cart_item_photo img {
  max-width:100%;
  max-height:100%;
  height:auto;
  display:block;
  border:0;
  outline:0;
  box-shadow:none;
  background:#ffffff;
}
.cart_item_body {
  min-width:0;
}
.cart_item_price,
.cart_item_qty,
.cart_item_total {
  min-width:0;
}
.cart_item_title {
  display:block;
  color:#222222;
  font-size:15px;
  line-height:1.32;
  font-weight:700;
  text-decoration:none;
  overflow-wrap:anywhere;
}
.cart_item_title:hover {
  color:#e3262e;
}
.cart_item_meta {
  margin-top:8px;
  color:#777777;
  font-size:13px;
}

.cart_addon_rows,
.order_summary_addon_rows {
  margin-top:8px;
  display:flex;
  flex-direction:column;
  gap:4px;
}
@media (min-width:1381px) {
  .cart_item {
    row-gap:0;
  }
  .cart_item > .cart_addon_rows {
    grid-column:2 / 4;
    grid-row:2;
    display:grid;
    grid-template-columns:minmax(180px, 1fr) minmax(86px, 86px);
    column-gap:16px;
    row-gap:4px;
    margin-top:-2px;
  }
  .cart_item > .cart_addon_rows .cart_addon_row {
    display:contents;
  }
  .cart_item > .cart_addon_rows .cart_addon_row span {
    grid-column:1;
  }
  .cart_item > .cart_addon_rows .cart_addon_row strong {
    grid-column:2;
    justify-self:start;
  }
}
.cart_addon_row,
.order_summary_addon_row {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  color:#5f5f5f;
  font-size:12px;
  line-height:1.3;
}
.cart_addon_row span,
.order_summary_addon_row span {
  min-width:0;
}
.cart_addon_row strong,
.order_summary_addon_row strong {
  flex:0 0 auto;
  color:#333333;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}

.cart_mobile_price,
.order_summary_mobile_price {
  display:none;
}
.cart_item_price,
.cart_item_qty,
.cart_item_total {
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items: center;
}
.cart_item_price span,
.cart_mobile_price span,
.order_summary_mobile_price span,
.cart_item_qty span,
.cart_item_total span {
  color:#777777;
  font-size:12px;
  line-height:1;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.04em;
}
.cart_item_price strong,
.cart_mobile_price strong,
.order_summary_mobile_price strong,
.cart_item_total strong {
  color:#222222;
  font-size:16px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
}
.cart_qty_stepper {
  display:inline-grid;
  grid-template-columns:31px minmax(32px, auto) 31px;
  align-items:center;
  height:33px;
  border:1px solid rgba(0,0,0,0.12);
  border-radius:999px;
  background:#ffffff;
  overflow:hidden;
}
.cart_qty_stepper .qty_adjust {
  display:flex;
  align-items:center;
  justify-content:center;
  width:31px;
  height:33px;
  color:#222222;
  font-size:18px;
  line-height:1;
  font-weight:700;
  text-decoration:none;
  background:transparent;
  border:0;
}
.cart_qty_stepper .qty_adjust:hover {
  background:#e3262e;
  color:#ffffff;
}
.cart_qty_stepper .cart_qty {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:32px;
  width:42px;
  height:33px;
  padding:0 4px;
  color:#222222;
  font-size:15px;
  line-height:1;
  font-weight:700;
  text-align:center;
  background:transparent;
  border:0;
  outline:0;
  box-shadow:none;
  box-sizing:border-box;
  appearance:textfield;
  -moz-appearance:textfield;
}
.cart_qty_stepper .cart_qty::-webkit-outer-spin-button,
.cart_qty_stepper .cart_qty::-webkit-inner-spin-button {
  margin:0;
  -webkit-appearance:none;
}
.cart_item_total {
  display:grid;
  grid-template-columns:minmax(0, auto) 24px;
  column-gap:10px;
  row-gap:8px;
  align-items:center;
  justify-content:start;
}
.cart_item_total > span {
  grid-column:1 / -1;
}
.cart_item_total > strong {
  grid-column:1;
}
.cart_remove {
  grid-column:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  gap:0;
  color:#777777;
  font-size:0;
  line-height:1;
  font-weight:700;
  text-decoration:none;
  background:transparent;
  border:0;
  outline:0;
  box-shadow:none;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  -webkit-touch-callout:none;
  user-select:none;
}
.cart_remove:before {
  content:"\f2ed";
  font-family:"Font Awesome 5 Free";
  font-weight:900;
  font-size:14px;
}
.cart_remove:hover {
  color:#e3262e;
}
.cart_remove:focus,
.cart_remove:active {
  color:#777777;
  background:transparent;
  outline:0;
  box-shadow:none;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
}
.cart_summary {
  position:sticky;
  top:55px;
}
.cart_summary_card {
  padding:19px;
  border-radius:16px;
  background:#ffffff;
  border:1px solid rgba(0,0,0,0.08);
  box-shadow:0 18px 42px rgba(0,0,0,0.10);
  box-sizing:border-box;
}
.cart_summary_card h2 {
  margin:0 0 16px 0;
  color:#222222;
  font-size:18px;
  line-height:1.2;
  font-weight:700;
}
.summary_line,
.summary_total {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.summary_line {
  padding:11px 0;
  border-bottom:1px solid rgba(0,0,0,0.08);
  color:#555555;
}
.summary_line strong {
  color:#222222;
  white-space:nowrap;
}
.summary_total {
  margin-top:12px;
  padding:14px 0 16px 0;
  color:#222222;
  font-size:18px;
  font-weight:700;
}
.summary_total strong {
  color:#e3262e;
  font-size:18px;
  font-weight:800;
  white-space:nowrap;
}
.cart_checkout_action,
.cart_primary_action {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:44px;
  margin-top:6px;
  border-radius:10px;
  background:#e3262e;
  color:#ffffff;
  font-size:14px;
  font-weight:700;
  text-transform:none;
  box-shadow:0 8px 18px rgba(227,38,46,0.22);
}
.cart_checkout_action:hover,
.cart_primary_action:hover {
  background:#c91f27;
}
.cart_continue_action,
.cart_clear_action {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:38px;
  margin-top:8px;
  border-radius:10px;
  color:#333333;
  font-size: 14px;
  font-weight:700;
  background:#f4f4f4;
}
.cart_clear_action {
  color:#8a1c22;
  background:#fff0f1;
}
.cart_continue_action:hover {
  background:#ebebeb;
}
.cart_clear_action:hover {
  background:#ffe1e3;
}
.cart_empty_state {
  padding:46px 26px;
  text-align:center;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:18px;
  background:#ffffff;
  box-shadow:0 10px 30px rgba(0,0,0,0.07);
}
.cart_empty_icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:72px;
  height:72px;
  margin:0 auto 16px auto;
  border-radius:50%;
  background:#fff0f1;
  color:#e3262e;
}
.cart_empty_icon:before {
  content:"\f07a";
  font-family:"Font Awesome 5 Free";
  font-weight:900;
  font-size:28px;
}
.cart_empty_state h2 {
  margin:0 0 8px 0;
  color:#222222;
  font-size:24px;
}
.cart_empty_state p {
  max-width:460px;
  margin:0 auto 20px auto;
  color:#666666;
  line-height:1.45;
}
.cart_empty_state .cart_primary_action {
  display:inline-flex;
  width:auto;
  min-width:190px;
  max-width:100%;
  margin:0 auto;
  padding:0 24px;
}
.panel.delivery_info {
  display:flex;
  align-items:flex-start;
  gap:14px;
  width:calc(100% - 332px);
  max-width:calc(100% - 332px);
  margin:18px 0 0 0;
  padding:14px 16px;
  border-radius:14px;
  background:#f7f7f7;
  border:1px solid rgba(0,0,0,0.07);
  box-shadow:none;
  box-sizing:border-box;
}
.delivery_info_icon {
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  border-radius:50%;
  background:#ffffff;
  color:#e3262e;
  box-shadow:0 4px 12px rgba(0,0,0,0.07);
}
.delivery_info_icon:before {
  content:"\f0d1";
  font-family:"Font Awesome 5 Free";
  font-weight:900;
  font-size:16px;
}
.delivery_info_body {
  min-width:0;
}
.delivery_info_body h2 {
  margin:0 0 5px 0;
  color:#222222;
  font-size:16px;
  line-height:1.2;
  font-weight:700;
}
.delivery_info_body .shipping_info_note,
.delivery_info_body p.shipping_info_note {
  margin:0;
  color:#5f5f5f;
  font-size:13px;
  line-height:1.45;
}
.column.cart .caption,
.column.cart .heading {
  margin:22px 0 10px 0;
  color:#222222;
  font-size:20px;
  font-weight:800;
  text-transform:none;
}
.order_panel_card > .caption,
.order_form_card > .caption,
.order_details_full > .caption {
  display:flex;
  align-items:center;
  min-height:48px;
  margin:0 0 12px 0;
  padding:0 18px;
  border:0;
  border-radius:14px;
  background:#3a3a3a;
  color:#ffffff;
  font-size:18px;
  line-height:1.2;
  font-weight:700;
  text-transform:none;
  box-shadow:0 12px 28px rgba(0,0,0,0.10);
  box-sizing:border-box;
}
.checkout.customer .column.cart .slot.login .login_component,
.checkout.customer .column.cart .slot.register .panel,
.column.cart .panel {
  background:#ffffff;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,0.06);
  box-sizing:border-box;
}
.customer_shell {
  width:100%;
  box-sizing:border-box;
}
.order_row {
  width:100%;
  margin-top:22px;
  box-sizing:border-box;
}
.order_top_row,
.order_forms_row {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:22px;
  align-items:stretch;
  margin-top:22px;
}
.order_details_row,
.order_payment_row {
  display:block;
  margin-top:22px;
}
.order_panel_card,
.order_form_card {
  display:flex;
  flex-direction:column;
  min-width:0;
}
.order_panel_card .login_component,
.order_panel_card .cart_summary_card,
.order_form_card .order_form_inner {
  flex:1 1 auto;
}
.order_panel_card .cart_summary_card {
  position:static;
}
.order_form_inner,
.checkout.customer .column.cart .slot.register .panel {
  width:100%;
  padding:20px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:16px;
  background:#ffffff;
  box-shadow:0 10px 30px rgba(0,0,0,0.06);
  box-sizing:border-box;
}
.order_delivery_data_card .order_form_inner,
.order_invoice_data_card .order_form_inner {
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  column-gap:16px;
  row-gap:14px;
}
.order_delivery_data_card .order_form_inner .InputComponent,
.order_invoice_data_card .order_form_inner .InputComponent {
  grid-column:span 3;
}
.order_delivery_data_card .order_form_inner .InputComponent[field="address1"],
.order_invoice_data_card .order_form_inner .InputComponent[field="invoice_address"] {
  grid-column:span 4;
}
.order_delivery_data_card .order_form_inner .InputComponent[field="postcode"],
.order_delivery_data_card .order_form_inner .InputComponent[field="need_register"],
.order_invoice_data_card .order_form_inner .InputComponent[field="dds_registered"] {
  grid-column:1 / -1;
}

.customer_grid {
  display:grid;
  grid-template-columns:minmax(280px, 0.82fr) minmax(0, 1.18fr);
  gap:22px;
  align-items:start;
}
.order_customer_grid {
  grid-template-columns:minmax(260px, 0.36fr) minmax(0, 0.64fr);
}
.checkout.customer .slot.login,
.checkout.customer .slot.register {
  min-width:0;
}
body.checkout.customer .column.cart .order_panel_card > .caption,
body.checkout.customer .column.cart .order_quick_order_card > .caption,
body.checkout.customer .column.cart .order_form_card > .caption,
body.checkout.customer .column.cart .order_details_full > .caption,
body.checkout.customer .column.cart .order_payment_section_card > .caption,
.checkout.customer .slot .caption {
  display:flex;
  align-items:center;
  min-height:48px;
  margin:0 0 12px 0;
  padding:0 18px;
  border:0;
  border-radius:14px;
  background:#3a3a3a;
  color:#ffffff;
  font-size:18px;
  line-height:1.2;
  font-weight:700;
  text-transform:none;
  box-shadow:0 12px 28px rgba(0,0,0,0.10);
  box-sizing:border-box;
}
.checkout.customer .column.cart .slot.login .login_component,
.checkout.customer .column.cart .slot.register .panel {
  padding:20px;
}
.checkout.customer .login_component .inner {
  width:100%;
  box-sizing:border-box;
}
.customer_order_summary {
  margin-top:18px;
}
.customer_order_summary .cart_summary_card {
  position:static;
}
.order_summary_after_payment_row {
  grid-template-columns:1fr;
}
.order_summary_after_payment {
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.order_summary_after_payment .cart_summary_card {
  position:static;
}
.order_summary_products {
  display:flex;
  flex-direction:column;
  gap:14px;
  margin:0 0 14px 0;
  padding:0;
  border-bottom:0;
}
.order_summary_product {
  display:grid;
  grid-template-columns:108px minmax(180px, 1fr) minmax(86px, 104px) minmax(118px, 132px) minmax(106px, 116px);
  column-gap:16px;
  row-gap:0;
  align-items:center;
  padding:11px 14px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:18px;
  background:#ffffff;
  box-shadow:0 10px 30px rgba(0,0,0,0.07);
  box-sizing:border-box;
}
.order_summary_product_photo {
  display:flex;
  align-items:center;
  justify-content:center;
  width:108px;
  height:88px;
  border-radius:14px;
  background:#ffffff;
  overflow:hidden;
}
.order_summary_product_photo img {
  display:block;
  max-width:100%;
  max-height:100%;
  height:auto;
  border:0;
  outline:0;
  box-shadow:none;
  background:#ffffff;
}
.order_summary_product_body {
  min-width:0;
}
.order_summary_product_title {
  display:block;
  color:#222222;
  font-size:15px;
  line-height:1.32;
  font-weight:700;
  text-decoration:none;
  overflow-wrap:anywhere;
}
.order_summary_product_title:hover {
  color:#e3262e;
}
.order_summary_product_meta {
  margin-top:8px;
  color:#777777;
  font-size:13px;
  line-height:1.25;
}
.order_summary_product_numbers {
  display:contents;
}
.order_summary_product_numbers > .order_summary_addon_rows {
  grid-column:2 / 4;
  grid-row:2;
  display:grid;
  grid-template-columns:minmax(180px, 1fr) minmax(86px, 104px);
  column-gap:16px;
  row-gap:4px;
  margin-top:-2px;
}
.order_summary_product_numbers > .order_summary_addon_rows .order_summary_addon_row {
  display:contents;
}
.order_summary_product_numbers > .order_summary_addon_rows .order_summary_addon_row span {
  grid-column:1;
}
.order_summary_product_numbers > .order_summary_addon_rows .order_summary_addon_row strong {
  grid-column:2;
  justify-self:start;
}
.order_summary_product_price,
.order_summary_product_qty,
.order_summary_product_total {
  display:flex;
  flex-direction:column;
  align-items: center;
  justify-content:center;
  justify-self:stretch;
  gap:8px;
  min-width:0;
  text-align:left;
}
.order_summary_product_price span,
.order_summary_product_qty span,
.order_summary_product_total span {
  color:#777777;
  font-size:12px;
  line-height:1;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.04em;
}
.order_summary_product_price strong,
.order_summary_product_total strong {
  color:#222222;
  font-size:16px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
}
.order_summary_product_qty .cart_qty {
  display:block;
  width:auto;
  min-width:0;
  height:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#222222;
  font-size:15px;
  line-height:1;
  font-weight:800;
  box-sizing:border-box;
}
.order_quick_order_card {
  min-width:0;
}
.quick_order_form {
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  padding:20px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:16px;
  background:#ffffff;
  box-shadow:0 10px 30px rgba(0,0,0,0.06);
  box-sizing:border-box;
}
.quick_order_intro {
  color:#555555;
  font-size:13px;
  line-height:1.45;
  font-weight:600;
}
.quick_order_field {
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
  margin:0;
  color:#333333;
  font-size:13px;
  line-height:1.35;
  font-weight:700;
}
.quick_order_field input {
  display:block;
  width:100%;
  height:42px;
  margin:0;
  padding:0 12px;
  border:1px solid rgba(0,0,0,0.12);
  border-radius:10px;
  background:#ffffff;
  color:#222222;
  font-size:14px;
  line-height:42px;
  box-sizing:border-box;
}
.quick_order_field input:focus {
  border-color:rgba(0,0,0,0.12);
  outline:0;
  box-shadow:none;
}
.quick_order_error {
  display:none;
  padding:10px 12px;
  border:1px solid rgba(227,38,46,0.24);
  border-radius:10px;
  background:rgba(227,38,46,0.07);
  color:#e3262e;
  font-size:13px;
  line-height:1.4;
  font-weight:700;
}
.quick_order_error.is_visible {
  display:block;
}
.quick_order_antispam_fields {
  position:absolute;
  left:-10000px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.quick_order_robot {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  margin:2px 0 0 0;
  color:#333333;
  font-size:13px;
  line-height:1.35;
  font-weight:700;
  cursor:pointer;
}
.quick_order_robot input[type="checkbox"] {
  flex:0 0 auto;
}
.quick_order_submit {
  display:flex;
  align-items:center;
  justify-content:center;
  width:30%;
  min-width:130px;
  max-width:220px;
  min-height:44px;
  margin:2px auto 0 auto;
  padding:0 18px;
  border:0;
  border-radius:12px;
  background:#e3262e;
  color:#ffffff;
  font-size:14px;
  line-height:1.2;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 12px 24px rgba(227,38,46,0.18);
  box-sizing:border-box;
}
.quick_order_submit:hover {
  background:#c91f26;
}
.checkout.customer .column.cart .FormRenderer {
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.checkout.customer .column.cart .slot.register .FormRenderer {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  column-gap:16px;
  row-gap:14px;
}
.checkout.customer .column.cart .FormRenderer .InputComponent {
  min-width:0;
  margin:0;
  box-sizing:border-box;
}
.checkout.customer .column.cart .FormRenderer .InputComponent[field="order_address"],
.checkout.customer .column.cart .FormRenderer .InputComponent[field="rand"],
.checkout.customer .column.cart .FormRenderer .InputComponent[field="pass"] {
  display:none;
}
.checkout.customer .column.cart .FormRenderer .InputComponent[field="need_register"] {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  grid-column:1 / -1;
  width:100%;
  margin-top:14px;
  padding-top:18px;
  border-top:1px solid rgba(0,0,0,0.08);
}
.checkout.customer .column.cart .FormRenderer .InputLabel {
  margin:0 0 6px 0;
  color:#555555;
  font-family:inherit;
  font-size:13px;
  line-height:1.35;
  font-weight:700;
  text-transform:none;
  text-align:left;
  letter-spacing:0.01em;
}
.checkout.customer .column.cart .FormRenderer .InputLabel label {
  color:#555555;
  text-transform:none;
  text-align:left;
}
.checkout.customer .column.cart .FormRenderer .required {
  display:none;
}
.checkout.customer .column.cart .FormRenderer .InputComponent[required="1"] .InputLabel label:before {
  content:"*";
  display:inline-block;
  margin-right:6px;
  color:#e3262e;
  font-size:18px;
  line-height:1;
  font-weight:900;
  vertical-align:-2px;
}
.checkout.customer .column.cart .FormRenderer .InputComponent[error="1"] .InputLabel label,
.checkout.customer .column.cart .FormRenderer .InputComponent.is_client_invalid .InputLabel label {
  color:#e3262e;
}
.checkout.customer .column.cart .FormRenderer .InputComponent[error="1"] .InputField.TextField,
.checkout.customer .column.cart .FormRenderer .InputComponent[error="1"] .InputField.PasswordField,
.checkout.customer .column.cart .FormRenderer .InputComponent[error="1"] .InputField.TextArea,
.checkout.customer .column.cart .FormRenderer .InputComponent.is_client_invalid .InputField.TextField,
.checkout.customer .column.cart .FormRenderer .InputComponent.is_client_invalid .InputField.PasswordField,
.checkout.customer .column.cart .FormRenderer .InputComponent.is_client_invalid .InputField.TextArea {
  border-color:#e3262e;
  box-shadow:0 0 0 3px rgba(227,38,46,0.12);
}
.checkout.customer .column.cart .FormRenderer .InputComponent[error="1"] input,
.checkout.customer .column.cart .FormRenderer .InputComponent[error="1"] textarea,
.checkout.customer .column.cart .FormRenderer .InputComponent.is_client_invalid input,
.checkout.customer .column.cart .FormRenderer .InputComponent.is_client_invalid textarea {
  color:#222222;
}
.checkout.customer .column.cart .FormRenderer .InputField.TextField,
.checkout.customer .column.cart .FormRenderer .InputField.PasswordField {
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  min-height:42px;
  margin:0;
  padding:0;
  border:1px solid rgba(0,0,0,0.12);
  border-radius:10px;
  background:#ffffff;
  box-sizing:border-box;
  overflow:hidden;
}
.checkout.customer .column.cart .FormRenderer input[type="text"],
.checkout.customer .column.cart .FormRenderer input[type="password"] {
  display:block;
  width:100%;
  height:42px;
  margin:0;
  padding:0 12px;
  border:0;
  background:#ffffff;
  color:#222222;
  font-size:14px;
  line-height:42px;
  box-sizing:border-box;
}
.checkout.customer .column.cart .FormRenderer .InputComponent[field="dds_registered"] {
  grid-column:1 / -1;
}
.checkout.customer .column.cart .FormRenderer .InputComponent[field="dds_registered"] .InputField.RadioField,
.checkout.customer .column.cart .FormRenderer .InputComponent[field="dds_registered"] .FieldElements {
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.checkout.customer .column.cart .FormRenderer .InputComponent[field="dds_registered"] .RadioItem {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:20px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#333333;
  font-size:14px;
  line-height:1.35;
  font-weight:700;
  box-sizing:border-box;
}
.checkout.customer .column.cart .FormRenderer .InputComponent[field="dds_registered"] .RadioItem input,
.checkout.customer .column.cart .FormRenderer .InputComponent[field="need_register"] .CheckItem input,
.customer_terms_accept input[type="checkbox"],
.quick_order_robot input[type="checkbox"] {
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 auto;
  width:16px;
  height:16px;
  margin:0;
  border:1px solid rgba(0,0,0,0.28);
  border-radius:3px;
  background:#ffffff;
  box-sizing:border-box;
  cursor:pointer;
}
.checkout.customer .column.cart .FormRenderer .InputComponent[field="dds_registered"] .RadioItem input:checked,
.checkout.customer .column.cart .FormRenderer .InputComponent[field="need_register"] .CheckItem input:checked,
.customer_terms_accept input[type="checkbox"]:checked,
.quick_order_robot input[type="checkbox"]:checked {
  background-color:#e3262e;
  border-color:#e3262e;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' d='M3.3 8.3 6.6 11.4 12.8 4.8'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:12px 12px;
}
.checkout.customer .column.cart .FormRenderer .CheckBox {
  display:flex;
  align-items:flex-start;
  gap:10px;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.checkout.customer .column.cart .FormRenderer .addon_content {
  width:100%;
  max-width:100%;
  margin-top:6px;
  color:#666666;
  font-size:13px;
  line-height:1.4;
  box-sizing:border-box;
}
.checkout.customer .column.cart .FormRenderer .InputComponent[field="need_register"] .InputLabel {
  order:2;
  flex:0 0 auto;
  margin:0;
  white-space:nowrap;
}
.checkout.customer .column.cart .FormRenderer .InputComponent[field="need_register"] .InputField.CheckField {
  display:contents;
}
.checkout.customer .column.cart .FormRenderer .InputComponent[field="need_register"] .FieldElements {
  order:1;
  flex:0 0 auto;
}
.checkout.customer .column.cart .FormRenderer .InputComponent[field="need_register"] .CheckItem {
  display:flex;
  align-items:center;
}
.checkout.customer .column.cart .FormRenderer .InputComponent[field="need_register"] .CheckItem input {
  width:16px;
  height:16px;
  margin:0;
}
.checkout.customer .column.cart .FormRenderer .InputComponent[field="need_register"] .addon_content {
  order:3;
  flex:0 0 100%;
  width:100%;
  margin:0;
  min-width:0;
}
.checkout.customer .column.cart .AuthFormRenderer .submit_line {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:16px;
}
.checkout.customer .forgot_password {
  color:#666666;
  font-size:13px;
  line-height:1.35;
}
.checkout.customer .forgot_password a {
  color:#e3262e;
  text-decoration:none;
  font-weight:700;
}
.checkout.customer .column.cart .AuthFormRenderer .DefaultButton {
  min-height:40px;
  padding:0 20px;
  border:0;
  border-radius:10px;
  background:#e3262e;
  color:#ffffff;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
}
.checkout.customer .navigation {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:12px;
  margin-top:18px;
  padding:16px 18px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:16px;
  background:#ffffff;
  box-shadow:0 10px 30px rgba(0,0,0,0.06);
  box-sizing:border-box;
}
.customer_terms_accept {
  width:100%;
  padding-bottom:12px;
  border-bottom:1px solid rgba(0,0,0,0.08);
  box-sizing:border-box;
}
.customer_terms_accept label {
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  gap:12px;
  color:#555555;
  font-size:13px;
  line-height:1.45;
  cursor:pointer;
  text-align:left;
}
.customer_terms_accept input[type="checkbox"] {
  flex:0 0 auto;
  width:16px;
  height:16px;
  margin:0;
}
.customer_terms_accept span {
  flex:1 1 auto;
  min-width:0;
  display:block;
  text-align:left;
}
.customer_terms_accept a {
  color:#e3262e;
  text-decoration:none;
  font-weight:700;
}
.customer_terms_accept a:hover {
  text-decoration:underline;
}
.customer_terms_error {
  display:none;
  margin-top:12px;
  padding:10px 12px;
  border:1px solid rgba(227,38,46,0.24);
  border-radius:10px;
  background:rgba(227,38,46,0.07);
  color:#e3262e;
  font-size:13px;
  line-height:1.4;
  font-weight:700;
}
.customer_terms_accept.is_client_invalid,
.customer_terms_accept:has(.customer_terms_error.is_visible) {
  padding:12px;
  border:1px solid rgba(227,38,46,0.34);
  border-radius:12px;
  background:rgba(227,38,46,0.04);
}
.customer_terms_accept.is_client_invalid input[type="checkbox"],
.customer_terms_accept:has(.customer_terms_error.is_visible) input[type="checkbox"] {
  border-color:#e3262e;
  box-shadow:0 0 0 3px rgba(227,38,46,0.12);
}
.customer_terms_error.is_visible {
  display:block;
}
.customer_navigation_actions {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
}
.checkout.customer .navigation .slot {
  float:none;
  width:auto;
  margin:0;
}
.customer_primary_action,
.customer_secondary_action {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 22px;
  border-radius:10px;
  font-size:14px;
  font-weight:800;
  text-transform:none;
  text-decoration:none;
  box-sizing:border-box;
}
.customer_primary_action {
  background:#e3262e;
  color:#ffffff;
  box-shadow:0 8px 18px rgba(227,38,46,0.22);
}
.customer_secondary_action {
  background:#f4f4f4;
  color:#333333;
}
.customer_primary_action:hover {
  background:#c91f27;
}
.customer_secondary_action:hover {
  background:#ebebeb;
}
.order_shell {
  width:100%;
  box-sizing:border-box;
}
.order_grid {
  display:grid;
  grid-template-columns:minmax(280px, 0.82fr) minmax(0, 1.18fr);
  gap:22px;
  align-items:start;
}
.order_delivery_grid {
  grid-template-columns:minmax(0, 1fr) minmax(280px, 320px);
}
.order_side,
.order_main {
  min-width:0;
}
.checkout.order .order_side .caption,
.checkout.order .order_main .caption {
  display:flex;
  align-items:center;
  min-height:48px;
  margin:0 0 12px 0;
  padding:0 18px;
  border-radius:14px;
  background:#3a3a3a;
  color:#ffffff;
  font-size:18px;
  line-height:1.2;
  font-weight:700;
  box-shadow:0 12px 28px rgba(0,0,0,0.10);
  box-sizing:border-box;
}
.checkout.order FORM[name="DeliveryDetails"] {
  display:block;
}
.order_delivery_card,
.order_note_card {
  width:100%;
  padding:20px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:16px;
  background:#ffffff;
  box-shadow:0 10px 30px rgba(0,0,0,0.06);
  box-sizing:border-box;
}
.order_delivery_card {
  display:flex;
  flex-direction:column;
  gap:18px;
}
.order_note_card {
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:18px;
}
.order_note_head {
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
}
.order_note_field,
.order_note_field .InputComponent[field="delivery_note"] {
  display:block;
  width:100%;
  max-width:100%;
  margin:0;
  box-sizing:border-box;
}
.order_note_field .InputComponent[field="delivery_note"] .InputLabel {
  display:none;
}
.order_section_head h2 {
  margin:0 0 6px 0;
  color:#222222;
  font-size:18px;
  line-height:1.25;
  font-weight:700;
}
.order_section_head p {
  margin:0;
  color:#666666;
  font-size:13px;
  line-height:1.45;
}
.order_section_head.compact h2 {
  margin-bottom:0;
}
.checkout.order .delivery_method_component {
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
  border:1px solid transparent;
  border-radius:14px;
  box-sizing:border-box;
}
.delivery_method_cards {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
  width:100%;
  box-sizing:border-box;
}
.delivery_method_option {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:112px;
  width:100%;
  padding:18px 12px;
  border:1px solid rgba(0,0,0,0.10);
  border-radius:16px;
  background:linear-gradient(180deg, #ffffff 0%, #f7f7f7 100%);
  color:#222222;
  text-align:center;
  cursor:pointer;
  box-shadow:0 3px 10px rgba(0,0,0,0.035);
  box-sizing:border-box;
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}
.delivery_method_option:hover,
.delivery_method_option.is_active {
  border-color:rgba(227,38,46,0.58);
  background:linear-gradient(180deg, #fff8f8 0%, #ffffff 100%);
  box-shadow:0 5px 14px rgba(227,38,46,0.075);
  transform:translateY(-1px);
}
.delivery_method_option input {
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.delivery_method_icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin-bottom:10px;
  border-radius:14px;
  background:#f0f0f0;
  color:#333333;
  box-sizing:border-box;
}
.delivery_method_option.is_active .delivery_method_icon,
.delivery_method_option:hover .delivery_method_icon {
  background:#e3262e;
  color:#ffffff;
}
.delivery_method_icon:before {
  font-family:"Font Awesome 5 Free";
  font-weight:900;
  font-size:24px;
  line-height:1;
}
.delivery_store .delivery_method_icon:before {
  content:"\f54e";
}
.delivery_address .delivery_method_icon:before {
  content:"\f015";
}
.delivery_econt .delivery_method_icon:before {
  content:"\f0d1";
}
.delivery_speedy .delivery_method_icon:before {
  content:"\f48b";
}
.delivery_method_label {
  display:block;
  color:#222222;
  font-size:14px;
  line-height:1.25;
  font-weight:700;
}
.delivery_method_hint {
  display:block;
  margin-top:6px;
  color:#666666;
  font-size:12px;
  line-height:1.25;
  font-weight:600;
}
.delivery_method_option.is_active .delivery_method_label {
  color:#e3262e;
}
.order_payment_section_card {
  min-width:0;
}

.checkout.order .order_delivery_card.is_client_invalid,
.checkout.order .order_payment_card.is_client_invalid {
  border-color:#e3262e;
  box-shadow:0 0 0 3px rgba(227,38,46,0.12), 0 4px 14px rgba(0,0,0,0.035);
}
.order_payment_card {
  width:100%;
  margin-top:0;
  padding:20px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:16px;
  background:#ffffff;
  box-shadow:0 4px 14px rgba(0,0,0,0.035);
  box-sizing:border-box;
}
.order_payment_head {
  margin-bottom:14px;
}
.payment_method_cards {
  display:grid;
  grid-template-columns:repeat(5, minmax(0,1fr));
  gap:12px;
  width:100%;
  box-sizing:border-box;
}
.payment_method_option {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:112px;
  padding:18px 12px;
  border:1px solid rgba(0,0,0,0.10);
  border-radius:16px;
  background:linear-gradient(180deg, #ffffff 0%, #f7f7f7 100%);
  color:#222222;
  text-align:center;
  cursor:pointer;
  box-shadow:0 3px 10px rgba(0,0,0,0.035);
  box-sizing:border-box;
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}
.payment_method_option:hover,
.payment_method_option.is_active {
  border-color:rgba(227,38,46,0.58);
  background:linear-gradient(180deg, #fff8f8 0%, #ffffff 100%);
  box-shadow:0 5px 14px rgba(227,38,46,0.075);
  transform:translateY(-1px);
}

.payment_method_option.is_not_selectable {
  background:#f2f2f2;
  color:#9a9a9a;
  border-color:rgba(0,0,0,0.06);
}
.payment_method_option.is_not_selectable .payment_method_icon {
  background:#e8e8e8;
  color:#9a9a9a;
}
.payment_method_option.is_not_selectable .payment_method_label,
.payment_method_option.is_not_selectable .payment_method_hint {
  color:#9a9a9a;
}

.payment_method_option.is_not_selectable:hover {
  border-color:rgba(0,0,0,0.06);
  background:#f2f2f2;
  box-shadow:0 3px 10px rgba(0,0,0,0.025);
  transform:none;
}
.payment_method_option.is_not_selectable:hover .payment_method_icon {
  background:#e8e8e8;
  color:#9a9a9a;
}

.payment_method_option.is_not_selectable:hover .payment_method_label,
.payment_method_option.is_not_selectable:hover .payment_method_hint {
  color:#9a9a9a;
}

.payment_method_option input {
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.payment_method_icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin-bottom:10px;
  border-radius:14px;
  background:#f0f0f0;
  color:#333333;
  box-sizing:border-box;
}
.payment_method_option.is_active .payment_method_icon,
.payment_method_option:hover .payment_method_icon {
  background:#e3262e;
  color:#ffffff;
}
.payment_method_icon:before {
  font-family:"Font Awesome 5 Free";
  font-weight:700;
  font-size:24px;
  line-height:1;
}
.payment_truck .payment_method_icon:before {
  content:"\f0d1";
}
.payment_bank .payment_method_icon:before {
  content:"\f19c";
}
.payment_card .payment_method_icon:before {
  content:"\f09d";
}
.payment_money .payment_method_icon:before {
  content:"\f3d1";
}
.payment_calendar .payment_method_icon:before {
  content:"\f073";
}
.payment_method_label {
  color:#222222;
  font-size:14px;
  line-height:1.25;
  font-weight:700;
}
.payment_method_hint {
  display:none;
  margin-top:6px;
  color:#666666;
  font-size:12px;
  line-height:1.25;
  font-weight:600;
}
.payment_method_option.is_active .payment_method_label {
  color:#e3262e;
}
.payment_method_text,
.delivery_method_text {
  display:none;
  margin-top:14px;
  padding:14px 16px;
  border:1px solid rgba(227,38,46,0.14);
  border-radius:14px;
  background:#fff7f7;
  color:#4a4a4a;
  font-size:13px;
  line-height:1.5;
  font-weight:600;
  box-sizing:border-box;
}
.payment_method_text.is_visible,
.delivery_method_text.is_visible {
  display:block;
}
.checkout.order .address_wrap {
  display:none;
  margin:0;
  padding:16px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:14px;
  background:#fafafa;
  box-sizing:border-box;
}
.checkout.order .OrderAddressList,
.checkout.order .order_selected_address {
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin:0 0 12px 0;
  padding:0;
}
.checkout.order .order_selected_address {
  gap:4px;
  padding:12px 14px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:12px;
  background:#ffffff;
}
.checkout.order .order_selected_address strong {
  color:#222222;
  font-size:15px;
  line-height:1.35;
  font-weight:800;
}
.checkout.order .order_selected_address span {
  color:#666666;
  font-size:13px;
  line-height:1.45;
}
.checkout.order .OrderAddressList .address_item {
  display:grid;
  grid-template-columns:1fr;
  gap:4px;
  padding:8px 0;
  border-bottom:1px solid rgba(0,0,0,0.06);
}
.checkout.order .OrderAddressList label {
  color:#666666;
  font-size:13px;
  line-height:1.35;
  font-weight:700;
  text-align:left;
}
.checkout.order .OrderAddressList span {
  color:#222222;
  font-size:14px;
  line-height:1.35;
  font-weight:800;
  overflow-wrap:anywhere;
  text-align:left;
}
.order_edit_address {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 16px;
  border-radius:10px;
  background:#f0f0f0;
  color:#333333;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
  box-sizing:border-box;
}
.order_edit_address:hover {
  background:#e7e7e7;
}
.checkout.order .ekont_manual_fields {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px 16px;
  margin-top:14px;
  align-items:start;
}
.checkout.order .ekont_manual_fields .InputComponent {
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.checkout.order .ekont_manual_fields .InputComponent[field="ekont_address"] {
  grid-column:1 / -1;
}
.checkout.order .ekont_manual_fields .InputLabel {
  display:block;
  width:100%;
  margin:0 0 6px 0;
  color:#666666;
  font-size:13px;
  line-height:1.35;
  font-weight:700;
  text-align:left;
}
.checkout.order .ekont_manual_fields .InputField.TextField,
.checkout.order .ekont_manual_fields .InputField.TextArea {
  display:block;
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
  border:1px solid rgba(0,0,0,0.12);
  border-radius:10px;
  background:#ffffff;
  box-sizing:border-box;
  overflow:hidden;
}
.checkout.order .ekont_manual_fields .InputField.TextField input,
.checkout.order .ekont_manual_fields .InputField.TextField INPUT {
  display:block;
  width:100%;
  min-height:42px;
  margin:0;
  padding:0 12px;
  border:0;
  background:#ffffff;
  color:#222222;
  font-size:14px;
  line-height:42px;
  box-sizing:border-box;
}
.checkout.order .ekont_locator {
  display:none;
  margin-top:14px;
}
.checkout.order #ekont_frame {
  display:block;
  width:100%;
  max-width:100%;
  height:450px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:12px;
  background:#ffffff;
  box-sizing:border-box;
}
.checkout.order .selected_office {
  display:none;
}
.checkout.order .InputField.TextArea[field="ekont_address"],
.checkout.order .InputField.TextArea[field="delivery_note"] {
  display:block;
  width:100%;
  max-width:100%;
  min-height:100px;
  margin:0;
  padding:0;
  border:1px solid rgba(0,0,0,0.12);
  border-radius:10px;
  background:#ffffff;
  box-sizing:border-box;
  overflow:hidden;
}
.checkout.order .InputField.TextArea[field="ekont_address"] {
  min-height:74px;
}
.checkout.order .InputField.TextArea textarea,
.checkout.order .InputField.TextArea TEXTAREA {
  display:block;
  width:100%;
  min-height:100px;
  margin:0;
  padding:12px;
  border:0;
  background:#ffffff;
  color:#222222;
  font-size:14px;
  line-height:1.4;
  box-sizing:border-box;
  resize:vertical;
}
.checkout.order .InputField.TextArea[field="ekont_address"] textarea,
.checkout.order .InputField.TextArea[field="ekont_address"] TEXTAREA {
  min-height:74px;
  resize:none;
}
.order_navigation {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(0,0,0,0.08);
  box-sizing:border-box;
}
.order_primary_action,
.order_secondary_action {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 22px;
  border-radius:10px;
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  box-sizing:border-box;
}
.order_primary_action {
  background:#e3262e;
  color:#ffffff;
  box-shadow:0 8px 18px rgba(227,38,46,0.22);
}
.order_primary_action:after {
  content:none;
}
.order_primary_action:hover {
  background:#c91f27;
}
.order_secondary_action {
  background:#ebebeb;
  color:#333333;
}
.order_secondary_action:before {
  content:none;
}
.order_secondary_action:hover {
  background:#dedede;
}
.confirm_shell {
  width:100%;
  box-sizing:border-box;
}
.confirm_grid {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:22px;
  align-items:stretch;
}
.confirm_block {
  display:flex;
  flex-direction:column;
  min-width:0;
}
.confirm_block .cart_summary_card,
.confirm_block .confirm_message_card {
  flex:1 1 auto;
}
.confirm_grid_single {
  display:block;
  width:100%;
  max-width:520px;
  margin:0 auto;
}
.confirm_grid_single .confirm_main,
.confirm_grid_single .confirm_block,
.confirm_grid_single .cart_summary_card,
.confirm_grid_single .confirm_message_card,
.confirm_grid_single .confirm_navigation {
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.confirm_grid_single .confirm_status_block {
  margin-top:22px;
}
.confirm_side,
.confirm_main {
  min-width:0;
}
.checkout.confirm .confirm_side .caption,
.checkout.confirm .confirm_main .caption {
  display:flex;
  align-items:center;
  min-height:48px;
  margin:0 0 12px 0;
  padding:0 18px;
  border-radius:14px;
  background:#3a3a3a;
  color:#ffffff;
  font-size:18px;
  line-height:1.2;
  font-weight:700;
  box-shadow:0 12px 28px rgba(0,0,0,0.10);
  box-sizing:border-box;
}
.confirm_message_card {
  width:100%;
  padding:20px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:16px;
  background:#ffffff;
  box-shadow:0 10px 30px rgba(0,0,0,0.06);
  box-sizing:border-box;
}
.confirm_message_card {
  display:grid;
  grid-template-columns:48px minmax(0, 1fr);
  gap:16px;
  align-items:start;
}
.confirm_status_block .confirm_message_card {
  min-height:0;
}
.confirm_status_icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:50%;
  background:rgba(46,160,67,0.12);
  color:#2ea043;
}
.confirm_status_icon:before {
  content:"\f00c";
  font-family:"Font Awesome 5 Free";
  font-weight:900;
  font-size:20px;
}
.confirm_error_card .confirm_status_icon {
  background:rgba(227,38,46,0.12);
  color:#e3262e;
}
.confirm_error_card .confirm_status_icon:before {
  content:"\f071";
}
.confirm_message_body h2 {
  margin:0 0 8px 0;
  color:#222222;
  font-size:20px;
  line-height:1.25;
  font-weight:800;
}
.confirm_message_body p {
  margin:0 0 12px 0;
  color:#555555;
  font-size:14px;
  line-height:1.45;
}
.confirm_detail {
  display:grid;
  grid-template-columns:minmax(135px, 0.34fr) minmax(0, 1fr);
  gap:12px;
  padding:10px 0;
  border-top:1px solid rgba(0,0,0,0.07);
}
.confirm_detail span {
  color:#666666;
  font-size:13px;
  line-height:1.35;
  font-weight:700;
}
.confirm_detail strong {
  color:#222222;
  font-size:14px;
  line-height:1.35;
  font-weight:800;
  overflow-wrap:anywhere;
}
.confirm_note {
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(0,0,0,0.07);
}
.confirm_note.muted {
  color:#666666;
  font-size:13px;
}
.confirm_navigation {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  width:100%;
  margin-top:14px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  box-sizing:border-box;
}
.confirm_status_block .confirm_navigation {
  margin-top:auto;
  padding-top:14px;
}
.confirm_primary_action,
.confirm_secondary_action {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 22px;
  border-radius:10px;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
  box-sizing:border-box;
}
.confirm_primary_action {
  background:#e3262e;
  color:#ffffff;
  box-shadow:0 8px 18px rgba(227,38,46,0.22);
}
.confirm_primary_action:hover {
  background:#c91f27;
}
.confirm_secondary_action {
  background:#f4f4f4;
  color:#333333;
}
.confirm_secondary_action:before {
  content:"\f060";
  margin-right:8px;
  font-family:"Font Awesome 5 Free";
  font-weight:900;
  font-size:12px;
}
.confirm_secondary_action:hover {
  background:#ebebeb;
}
.email_order_confirm_shell {
  width:100%;
  box-sizing:border-box;
}
.email_confirm_grid {
  display:grid;
  grid-template-columns:minmax(0, 1.12fr) minmax(280px, 0.88fr);
  gap:22px;
  align-items:start;
}
.email_confirm_main,
.email_confirm_side {
  min-width:0;
}
.email_order_confirm_shell .caption {
  display:flex;
  align-items:center;
  min-height:48px;
  margin:0 0 12px 0;
  padding:0 18px;
  border-radius:14px;
  background:#3a3a3a;
  color:#ffffff;
  font-size:18px;
  line-height:1.2;
  font-weight:700;
  box-shadow:0 12px 28px rgba(0,0,0,0.10);
  box-sizing:border-box;
}
.email_confirm_message_card,
.email_confirm_details_card,
.email_confirm_navigation {
  width:100%;
  padding:20px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:16px;
  background:#ffffff;
  box-shadow:0 10px 30px rgba(0,0,0,0.06);
  box-sizing:border-box;
}
.email_confirm_message_card {
  display:grid;
  grid-template-columns:48px minmax(0, 1fr);
  gap:16px;
  align-items:start;
}
.email_confirm_error_card .confirm_status_icon {
  background:rgba(227,38,46,0.12);
  color:#e3262e;
}
.email_confirm_error_card .confirm_status_icon:before {
  content:"\f071";
}
.email_confirm_details_card + .email_confirm_details_card {
  margin-top:18px;
}
.email_confirm_details_card .caption {
  min-height:0;
  margin:0 0 12px 0;
  padding:0;
  border-radius:0;
  background:none;
  color:#222222;
  font-size:18px;
  box-shadow:none;
}
.email_confirm_details_card TABLE,
.email_confirm_details_card table {
  width:100%;
  max-width:100%;
  border-collapse:collapse;
}
.email_confirm_details_card TD,
.email_confirm_details_card td,
.email_confirm_details_card TH,
.email_confirm_details_card th {
  padding:8px 0;
  border-bottom:1px solid rgba(0,0,0,0.06);
  color:#333333;
  font-size:13px;
  line-height:1.35;
  vertical-align:top;
}
.email_confirm_details_card .OrderAddressList {
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin:0;
  padding:0;
}
.email_confirm_details_card .OrderAddressList .address_item {
  display:grid;
  grid-template-columns:minmax(120px, 0.38fr) minmax(0, 1fr);
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid rgba(0,0,0,0.06);
}
.email_confirm_details_card .OrderAddressList label {
  color:#666666;
  font-size:13px;
  line-height:1.35;
  font-weight:700;
}
.email_confirm_details_card .OrderAddressList span {
  color:#222222;
  font-size:14px;
  line-height:1.35;
  font-weight:700;
  overflow-wrap:anywhere;
}
.email_confirm_navigation {
  justify-content:flex-end;
}

.checkout.order .courier_picker_fields {
  display:grid;
  grid-template-columns:minmax(0, 25%) minmax(120px, 25%) minmax(0, 50%);
  gap:12px;
  width:100%;
  margin-top:14px;
  align-items:start;
  box-sizing:border-box;
}
.checkout.order .courier_picker_fields .InputComponent,
.checkout.order .courier_picker_fields .courier_picker_office {
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.checkout.order .courier_picker_fields .InputLabel,
.checkout.order .courier_picker_fields .InputField {
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.checkout.order .courier_picker_fields .InputLabel {
  margin:0 0 6px 0;
  color:#666666;
  font-size:13px;
  line-height:1.35;
  font-weight:700;
  text-align:left;
}
.checkout.order .courier_city_picker,
.checkout.order .courier_postcode_picker,
.checkout.order .courier_office_picker {
  display:block;
  width:100%;
  max-width:100%;
  height:44px;
  min-height:44px;
  margin:0;
  padding:0 12px;
  border:1px solid rgba(0,0,0,0.12);
  border-radius:10px;
  background:#ffffff;
  color:#222222;
  font-size:14px;
  line-height:44px;
  box-sizing:border-box;
  cursor:pointer;
}
.checkout.order .courier_postcode_picker {
  cursor:default;
  background:#f7f7f7;
}
.checkout.order .courier_office_picker {
  overflow:hidden;
  resize:none;
  white-space:nowrap;
  text-overflow:clip;
}
.checkout.order .courier_manual_fallback {
  margin-top:10px;
  color:#777777;
  font-size:12px;
  line-height:1.4;
}
html.courier_modal_open {
  overflow:hidden;
  overscroll-behavior:none;
}
body.courier_modal_open {
  position:fixed;
  left:0;
  right:0;
  width:100%;
  overflow:hidden;
  overscroll-behavior:none;
}
.courier_picker_modal {
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  box-sizing:border-box;
}
.courier_picker_modal.is_visible {
  display:flex;
}
.courier_picker_backdrop {
  position:absolute;
  inset:0;
  background:rgba(17,17,17,0.54);
}
.courier_picker_dialog {
  position:relative;
  display:flex;
  flex-direction:column;
  width:min(720px, 100%);
  height:min(720px, 88vh);
  max-height:min(720px, 88vh);
  padding:24px;
  border:1px solid rgba(255,255,255,0.75);
  border-radius:20px;
  background:#ffffff;
  box-shadow:0 28px 80px rgba(0,0,0,0.30);
  box-sizing:border-box;
  overflow:hidden;
}
.courier_picker_close {
  position:absolute;
  top:14px;
  right:14px;
  width:34px;
  height:34px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:50%;
  background:#f3f3f3;
  color:#333333;
  font-size:24px;
  line-height:30px;
  cursor:pointer;
  box-sizing:border-box;
}
.courier_picker_close:hover,
.courier_picker_close:focus {
  background:#72232d;
  color:#ffffff;
  outline:none;
}
.courier_picker_dialog h3 {
  margin:0 46px 18px 0;
  color:#222222;
  font-size:20px;
  line-height:1.25;
  font-weight:800;
}
.courier_picker_search {
  display:block;
  width:100%;
  max-width:100%;
  height:46px;
  min-height:46px;
  margin:0;
  padding:0 15px;
  border:1px solid rgba(0,0,0,0.13);
  border-radius:14px;
  background:#f7f7f7;
  color:#222222;
  font-size:15px;
  line-height:46px;
  box-sizing:border-box;
  outline:none;
}
.courier_picker_search:focus {
  border-color:rgba(114,35,45,0.40);
  background:#ffffff;
  box-shadow:0 0 0 3px rgba(114,35,45,0.08);
}
.courier_picker_results {
  display:grid;
  grid-template-columns:1fr;
  grid-auto-rows:max-content;
  gap:12px;
  align-content:start;
  align-items:start;
  width:100%;
  max-width:100%;
  min-width:0;
  flex:1 1 auto;
  max-height:none;
  min-height:0;
  margin:0;
  padding:12px 0 0 0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  box-sizing:border-box;
  overscroll-behavior:contain;
  scrollbar-width:none;
}
.courier_picker_results::-webkit-scrollbar {
  width:0;
  height:0;
  display:none;
}
.courier_picker_item {
  -webkit-appearance:none;
  appearance:none;
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  margin:0;
  align-self:start;
  padding:14px 16px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:14px;
  background:#f5f5f5;
  color:#222222;
  font-family:inherit;
  text-align:left;
  cursor:pointer;
  box-sizing:border-box;
  box-shadow:0 2px 8px rgba(0,0,0,0.035);
  transition:background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.courier_picker_item:hover,
.courier_picker_item:focus {
  border-color:rgba(114,35,45,0.32);
  background:#fbf7f7;
  box-shadow:0 5px 16px rgba(114,35,45,0.08);
  transform:translateY(-1px);
  outline:none;
}
.courier_picker_item strong,
.courier_picker_item span {
  display:block;
}
.courier_picker_item strong {
  margin-bottom:3px;
  color:#222222;
  font-size:15px;
  line-height:1.25;
  font-weight:800;
}
.courier_picker_item span {
  color:#666666;
  font-size:13px;
  line-height:1.32;
}
.courier_picker_loading,
.courier_picker_empty {
  margin:0;
  padding:18px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:14px;
  background:#f5f5f5;
  color:#555555;
  font-size:14px;
  line-height:1.4;
  text-align:center;
  box-sizing:border-box;
}
.courier_picker_empty {
  padding:14px 0 0 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#777777;
}
.courier_picker_more_loading {
  margin:0;
}

@media (max-width:1180px) {
  body.checkout .products_wrap {
    gap:18px;
  }
  body.checkout .products_wrap .column.left {
    flex:0 0 290px;
    width:290px;
    max-width:290px;
  }
  body.checkout .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] {
    width:280px;
    max-width:100%;
    box-sizing:border-box;
  }
  .panel.delivery_info {
    width:100%;
    max-width:100%;
  }
  .customer_grid,
  .order_grid,
  .confirm_grid,
  .email_confirm_grid {
    grid-template-columns:1fr;
  }
}
@media (max-width:1380px) {
  .cart_item {
    grid-template-columns:108px minmax(0, 1fr) minmax(118px, 126px) minmax(104px, 112px);
    gap:14px;
  }
  .cart_item_price {
    display:none;
  }
  .cart_mobile_price {
    display:block;
    margin-top:7px;
    color:#222222;
    font-weight:800;
  }
  .cart_item > .cart_addon_rows {
    grid-column:2;
    width:100%;
  }
}
@media (max-width:1260px) {
  .cart_item {
    grid-template-columns:96px minmax(0, 1fr) minmax(112px, 120px) minmax(100px, 108px);
    gap:12px;
    padding:13px 14px;
  }
  .cart_item_photo {
    width:96px;
    height:80px;
  }
  .cart_item_title {
    font-size:14px;
    line-height:1.28;
  }
  .cart_item_price span,
  .cart_item_qty span,
  .cart_item_total span {
    font-size:12px;
    letter-spacing:0.03em;
  }
  .cart_item_price strong,
  .cart_item_total strong {
    font-size:16px;
  }
}
@media (max-width:1080px) {
  .cart_item {
    grid-template-columns:96px minmax(0, 1fr) minmax(120px, auto) minmax(106px, auto);
  }
}
@media (max-width:760px) {
  .cart_item {
    grid-template-columns:84px minmax(0, 1fr);
    gap:12px;
    padding:13px;
  }
  .cart_item_photo {
    width:84px;
    height:76px;
    grid-row:1 / span 4;
  }
  .cart_item_price {
    display:none;
  }
  .cart_mobile_price {
    display:flex;
    margin:9px 0 7px 0;
  }
  .cart_mobile_price,
  .cart_item_qty,
  .cart_item_total {
    display:flex;
    grid-column:2;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    text-align:left;
  }
  .cart_item > .cart_addon_rows {
    grid-column:2;
    width:100%;
  }
  .cart_item_total {
    flex-wrap:wrap;
    padding-top:10px;
    border-top:1px solid rgba(0,0,0,0.08);
  }
  .cart_item_total .cart_remove {
    flex:0 0 100%;
    width:auto;
    height:auto;
    justify-content:flex-end;
    margin-top:7px;
    color:#777777;
    font-size:0;
    line-height:1;
    text-align:right;
  }
}
@media (max-width:980px) {
  body.checkout .products_wrap {
    flex-direction:column;
    gap:16px;
  }
  body.checkout .products_wrap .column.left {
    flex:0 0 auto;
    width:100%;
    max-width:100%;
  }
  body.checkout .products_wrap .column.left .section,
  body.checkout .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] {
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
}
@media (min-width:901px) {
  .delivery_method_option,
  .payment_method_option {
    height:180px;
  }
  .payment_method_option {
    justify-content:flex-start;
  }
  .payment_method_hint {
    display:block;
  }
  .payment_method_text.is_visible,
  .delivery_method_text.is_visible {
    display:none;
  }
}
@media (max-width:900px) {
  body.checkout .products_wrap {
    flex-direction:column;
    gap:16px;
    padding:0;
  }
  body.checkout .products_wrap .column.left {
    flex:0 0 auto;
    width:100%;
    max-width:100%;
  }
  body.checkout .products_wrap .column.left .section,
  body.checkout .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] {
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  .column.cart {
    width:100%;
    max-width:100%;
    padding:0;
  }
  .cart_layout {
    grid-template-columns:1fr;
  }
  .cart_summary {
    position:static;
  }
  .panel.delivery_info {
    max-width:100%;
    margin:16px 0 0 0;
  }
  .cart_intro {
    display:block;
    padding:16px 14px;
  }
  .cart_intro h1 {
    font-size:25px;
  }

  .checkout.customer .column.cart .slot.login .login_component,
  .checkout.customer .column.cart .slot.register .panel,
  .order_form_inner {
    padding:16px 14px;
  }
  .order_top_row,
  .order_forms_row {
    grid-template-columns:1fr;
    gap:16px;
    margin-top:16px;
  }
  .order_delivery_data_card .order_form_inner,
  .order_invoice_data_card .order_form_inner,
  .checkout.customer .column.cart .slot.register .FormRenderer {
    grid-template-columns:1fr;
    gap:12px;
  }
  .order_delivery_data_card .order_form_inner .InputComponent,
  .order_invoice_data_card .order_form_inner .InputComponent,
  .order_delivery_data_card .order_form_inner .InputComponent[field="address1"],
  .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_address"],
  .order_delivery_data_card .order_form_inner .InputComponent[field="postcode"],
  .order_delivery_data_card .order_form_inner .InputComponent[field="need_register"],
  .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_type"],
  .order_invoice_data_card .order_form_inner .InputComponent[field="dds_registered"] {
    grid-column:1 / -1;
  }
  .checkout.customer .column.cart .FormRenderer .InputComponent {
    display:block;
    width:100%;
    max-width:100%;
  }
  .checkout.customer .column.cart .FormRenderer .InputLabel,
  .checkout.customer .column.cart .FormRenderer .InputField.TextField,
  .checkout.customer .column.cart .FormRenderer .InputField.PasswordField,
  .checkout.customer .column.cart .FormRenderer .InputField.TextArea {
    display:block;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  .checkout.customer .column.cart .FormRenderer .InputLabel {
    margin:0 0 6px 0;
  }
  .checkout.customer .column.cart .FormRenderer .InputComponent[field="need_register"] {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 10px;
  }
  .checkout.customer .column.cart .FormRenderer .InputComponent[field="need_register"] .InputLabel {
    order:2;
    flex:0 0 auto;
    width:auto;
    max-width:none;
    margin:0;
    white-space:nowrap;
  }
  .checkout.customer .column.cart .FormRenderer .InputComponent[field="need_register"] .InputField.CheckField {
    display:contents;
  }
  .checkout.customer .column.cart .FormRenderer .InputComponent[field="need_register"] .FieldElements {
    order:1;
    flex:0 0 auto;
  }
  .checkout.customer .column.cart .FormRenderer .InputComponent[field="need_register"] .addon_content {
    order:3;
    flex:0 0 100%;
    width:100%;
  }
  .checkout.customer .column.cart .AuthFormRenderer .submit_line,
  .checkout.customer .navigation,
  .customer_navigation_actions,
  .order_navigation,
  .confirm_navigation,
  .email_confirm_navigation {
    flex-direction:column;
    align-items:stretch;
  }
  .checkout.customer .navigation .slot,
  .customer_primary_action,
  .customer_secondary_action,
  .order_primary_action,
  .order_secondary_action,
  .confirm_primary_action,
  .confirm_secondary_action {
    width:100%;
  }
  .checkout.customer .navigation .slot.right {
    order:1;
  }
  .checkout.customer .navigation .slot.left {
    order:2;
  }
  .email_confirm_message_card,
  .confirm_message_card,
  .email_confirm_details_card .OrderAddressList .address_item,
  .confirm_detail {
    grid-template-columns:1fr;
  }
  .confirm_status_icon {
    width:44px;
    height:44px;
  }
  .checkout.order .OrderAddressList .address_item {
    grid-template-columns:1fr;
    gap:4px;
  }
  .order_summary_product {
    grid-template-columns:84px minmax(0, 1fr);
    gap:12px;
    padding:13px;
  }
  .order_summary_product_photo {
    width:84px;
    height:76px;
    grid-row:1 / span 4;
  }
  .order_summary_product_body,
  .order_summary_product_price,
  .order_summary_product_qty,
  .order_summary_product_total {
    grid-column:2;
  }
  .order_summary_product_price {
    display:none;
  }
  .order_summary_mobile_price {
    display:flex;
    margin:9px 0 7px 0;
  }
  .order_summary_product_numbers > .order_summary_addon_rows {
    grid-column:2;
    width:100%;
  }
  .order_summary_product_numbers {
    display:contents;
  }
  .order_summary_mobile_price,
  .order_summary_product_qty,
  .order_summary_product_total {
    display:flex;
    grid-column:2;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    justify-self:stretch;
    gap:10px;
    text-align:left;
  }
  .order_summary_product_total {
    padding-top:10px;
    border-top:1px solid rgba(0,0,0,0.08);
  }
  .order_summary_product_price span,
  .order_summary_product_qty span,
  .order_summary_product_total span {
    font-size:11px;
    letter-spacing:0.03em;
  }
  .order_summary_product_price strong,
  .order_summary_product_qty .cart_qty,
  .order_summary_product_total strong {
    font-size:15px;
  }
  .delivery_method_cards {
    grid-template-columns:1fr;
  }
  .delivery_method_option {
    min-height:82px;
    flex-direction:row;
    justify-content:flex-start;
    gap:12px;
    padding:14px 16px;
    text-align:left;
  }
  .delivery_method_icon {
    flex:0 0 48px;
    margin:0;
  }
  .delivery_method_label,
  .delivery_method_hint {
    text-align:left;
  }
  .payment_method_cards {
    grid-template-columns:1fr;
  }
  .payment_method_option {
    min-height:82px;
    flex-direction:row;
    justify-content:flex-start;
    gap:12px;
    padding:14px 16px;
    text-align:left;
  }

  .delivery_method_option,
  .delivery_method_option *,
  .payment_method_option,
  .payment_method_option * {
    -webkit-tap-highlight-color:transparent;
    tap-highlight-color:transparent;
  }

  .quick_order_robot,
  .quick_order_robot *,
  .customer_terms_accept,
  .customer_terms_accept * {
    -webkit-tap-highlight-color:transparent;
    tap-highlight-color:transparent;
  }
  .payment_method_icon {
    margin:0;
  }

  .delivery_method_option.is_active,
  .payment_method_option.is_active {
    background:transparent;
  }
  .delivery_method_option.is_active:hover,
  .payment_method_option.is_active:hover {
    background:transparent;
  }
  .payment_method_hint,
  .delivery_method_hint {
    display:none;
  }
  .payment_method_text,
  .delivery_method_text {
    margin-top:12px;
  }
  .checkout.order .ekont_manual_fields {
    grid-template-columns:1fr;
    gap:12px;
  }

  .checkout.order .courier_picker_fields {
    grid-template-columns:1fr;
    gap:12px;
  }
  .checkout.order .courier_picker_fields .courier_picker_office {
    grid-column:1;
  }
  .courier_picker_modal {
    padding:10px;
  }
  .courier_picker_dialog {
    height:90vh;
    max-height:90vh;
    padding:16px 14px;
    border-radius:16px;
  }
  .courier_picker_results {
    max-height:calc(90vh - 140px);
  }
  .checkout.order .ekont_manual_fields .InputComponent[field="ekont_address"] {
    grid-column:1;
  }
  .checkout.order #ekont_frame {
    height:360px;
  }
  .cart_item {
    grid-template-columns:84px minmax(0, 1fr);
    gap:12px;
    padding:13px;
  }
  .cart_item_photo {
    width:84px;
    height:76px;
    grid-row:1 / span 4;
  }
  .cart_item_price {
    display:none;
  }
  .cart_mobile_price {
    display:flex;
    margin:9px 0 7px 0;
  }
  .cart_mobile_price,
  .cart_item_qty,
  .cart_item_total {
    display:flex;
    grid-column:2;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    text-align:left;
  }
  .cart_item > .cart_addon_rows {
    grid-column:2;
    width:100%;
  }
  .cart_item_total {
    flex-wrap:wrap;
    padding-top:10px;
    border-top:1px solid rgba(0,0,0,0.08);
  }
  .cart_item_total .cart_remove {
    flex:0 0 100%;
    width:auto;
    height:auto;
    justify-content:flex-end;
    margin-top:7px;
    color:#777777;
    font-size:0;
    line-height:1;
    text-align:right;
  }
  .cart_summary_card {
    padding:18px;
  }
  .cart_layout_empty {
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding:0 0 24px 0;
    box-sizing:border-box;
  }
  .cart_layout_empty .cart_items {
    width:100%;
    align-items:center;
  }
  .cart_layout_empty .cart_empty_state {
    position:sticky;
    top:calc(var(--mobile-header-space, 0px) + 12px);
    width:100%;
    max-width:420px;
    margin:0 auto;
    box-sizing:border-box;
  }
  .checkout.order .InputField.TextArea[field="ekont_address"],
  .checkout.order .InputField.TextArea[field="delivery_note"] {
    width:100%;
  }
}
@media (max-width:520px) {
  body.checkout .products_wrap {
    padding:0;
  }
  .cart_intro {
    padding:14px 12px;
  }
  .cart_item {
    grid-template-columns:1fr;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  .cart_item_photo {
    width:100%;
    height:160px;
    grid-row:auto;
  }
  .cart_item_price {
    display:none;
  }
  .cart_mobile_price,
  .cart_item_qty,
  .cart_item_total {
    display:flex;
    grid-column:auto;
    width:100%;
  }
  .cart_item > .cart_addon_rows {
    grid-column:auto;
    width:100%;
  }
  .cart_mobile_price span,
  .cart_item_qty span,
  .cart_item_total span {
    font-size:12px;
  }
  .cart_mobile_price strong,
  .cart_item_total strong {
    font-size:16px;
  }
  .order_summary_product {
    grid-template-columns:1fr;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  .order_summary_product_photo {
    width:100%;
    height:160px;
    grid-row:auto;
  }
  .order_summary_product_body,
  .order_summary_product_price,
  .order_summary_product_qty,
  .order_summary_product_total {
    grid-column:auto;
  }
  .order_summary_product_price {
    display:none;
  }
  .order_summary_mobile_price,
  .order_summary_product_qty,
  .order_summary_product_total {
    display:flex;
    grid-column:auto;
    width:100%;
  }
  .order_summary_product_numbers > .order_summary_addon_rows {
    grid-column:auto;
    width:100%;
  }
}

/* Invoice fields: stable top controls, natural field flow. */
body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner {
  align-content:start;
  align-items:start;
  grid-auto-rows:max-content;
}

body.checkout.customer .column.cart .order_invoice_data_card.invoice_mode_company .order_form_inner .InputComponent[field="invoice_fullname"],
body.checkout.customer .column.cart .order_invoice_data_card.invoice_mode_company .order_form_inner .InputComponent[field="invoice_egn"],
body.checkout.customer .column.cart .order_invoice_data_card.invoice_mode_person .order_form_inner .InputComponent[field="company"],
body.checkout.customer .column.cart .order_invoice_data_card.invoice_mode_person .order_form_inner .InputComponent[field="vat_number"],
body.checkout.customer .column.cart .order_invoice_data_card.invoice_mode_person .order_form_inner .InputComponent[field="dds_registered"],
body.checkout.customer .column.cart .order_invoice_data_card.invoice_mode_person .order_form_inner .InputComponent[field="accountable_person"] {
  display:none;
}

body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_requested"],
body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_type"] {
  grid-column:1 / -1;
  width:100%;
  margin:0;
  padding:0;
  box-sizing:border-box;
  align-self:start;
}

body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_requested"] {
  order:1;
  display:flex;
  align-items:center;
  gap:8px;
  min-height:24px;
  border:0;
  background:transparent;
  box-shadow:none;
}

body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_type"] {
  order:2;
  min-height:24px;
}

body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent:not([field="invoice_requested"]):not([field="invoice_type"]) {
  order:3;
}

body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_requested"] .InputLabel {
  order:2;
  margin:0;
  padding:0;
}

body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_requested"] .InputLabel label,
body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_type"] .RadioItem {
  margin:0;
  padding:0;
  color:#333333;
  font-size:14px;
  line-height:1.35;
  font-weight:700;
}

body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_requested"] .InputField,
body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_requested"] .FieldElements,
body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_requested"] .CheckItem {
  order:1;
  display:flex;
  align-items:center;
  width:auto;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}

body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_requested"] .CheckItem span,
body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_type"] > .InputLabel {
  display:none;
}

body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_requested"] input[type="checkbox"],
body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_type"] .RadioItem input {
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 auto;
  width:16px;
  height:16px;
  min-width:16px;
  min-height:16px;
  margin:0;
  padding:0;
  border:1px solid rgba(0,0,0,0.30);
  background:#ffffff;
  box-sizing:border-box;
  cursor:pointer;
}

body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_requested"] input[type="checkbox"] {
  border-radius:3px;
}

body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_type"] .RadioItem input {
  border-radius:50%;
}

body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_requested"] input[type="checkbox"]:checked {
  border-color:#e3262e;
  background-color:#e3262e;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' d='M3.3 8.3 6.6 11.4 12.8 4.8'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:12px 12px;
}

body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_type"] .InputField.RadioField,
body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_type"] .FieldElements {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  min-height:24px;
  margin:0;
  padding:0;
}

body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_type"] .RadioItem {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:24px;
  border:0;
  background:transparent;
  box-shadow:none;
  transform:none;
  -webkit-tap-highlight-color:transparent;
}

body.checkout.customer .column.cart .order_invoice_data_card .order_form_inner .InputComponent[field="invoice_type"] .RadioItem input:checked {
  border-color:#e3262e;
  background:radial-gradient(circle at center, #e3262e 0 4px, transparent 4.5px);
}

/* Temporarily hide the delivery terms/info card in the cart.
 * The PHP/HTML block remains rendered for later review.
 */
body.checkout .panel.delivery_info {
  display:none;
}
