:root {
  --oc-checkout-orange: #d93025;
  --oc-checkout-orange-hover: #b5251d;
  --oc-checkout-text: #3b3b3b;
  --oc-checkout-muted: #626262;
  --oc-checkout-border: #d9d6d2;
  --oc-checkout-soft: #f5f3f0;
}

body#cart,
body#checkout,
body#order-confirmation {
  color: var(--oc-checkout-text) !important;
}

body#cart input,
body#cart select,
body#cart textarea,
body#cart label,
body#checkout input,
body#checkout select,
body#checkout textarea,
body#checkout label,
body#order-confirmation input,
body#order-confirmation select,
body#order-confirmation textarea,
body#order-confirmation label {
  color: var(--oc-checkout-text) !important;
}

body#cart .form-control,
body#checkout .form-control,
body#order-confirmation .form-control {
  border-color: #bdb9b4 !important;
  background: #fff !important;
}

body#cart .form-control::placeholder,
body#checkout .form-control::placeholder,
body#order-confirmation .form-control::placeholder {
  color: #777 !important;
  opacity: 1;
}

body#cart .btn-primary,
body#cart .checkout a,
body#checkout .btn-primary,
body#checkout button[type="submit"],
body#order-confirmation .btn-primary {
  border-color: var(--oc-checkout-orange) !important;
  background: var(--oc-checkout-orange) !important;
  color: #fff !important;
  box-shadow: none !important;
}

body#cart .btn-primary:hover,
body#cart .checkout a:hover,
body#checkout .btn-primary:hover,
body#checkout button[type="submit"]:hover,
body#order-confirmation .btn-primary:hover {
  border-color: var(--oc-checkout-orange-hover) !important;
  background: var(--oc-checkout-orange-hover) !important;
}

body#checkout .checkout-step,
body#cart .cart-summary,
body#cart .card,
body#order-confirmation .card,
body#order-confirmation .order-confirmation-table {
  border-color: var(--oc-checkout-border) !important;
  background: #fff !important;
  box-shadow: 0 6px 18px rgba(59, 59, 59, .07) !important;
}

body#checkout .delivery-option,
body#checkout .payment-option {
  border: 1px solid var(--oc-checkout-border);
  background: #fff !important;
}

body#checkout .delivery-option:hover,
body#checkout .payment-option:hover {
  border-color: var(--oc-checkout-orange);
  background: #fffaf7 !important;
}

.oc-shipping-terms-link {
  color: var(--oc-checkout-orange) !important;
  font-weight: 700;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

.oc-delivery-terms {
  display: block;
  margin-top: 5px;
  font-size: 13px;
  line-height: 1.35;
}

.oc-shipping-notice {
  margin: 16px 0;
  padding: 15px 17px;
  border: 1px solid var(--oc-checkout-border);
  border-left: 4px solid var(--oc-checkout-orange);
  background: var(--oc-checkout-soft);
  color: var(--oc-checkout-text);
  font-size: 14px;
  line-height: 1.55;
}

.oc-shipping-notice strong {
  color: var(--oc-checkout-text);
}

.oc-production-payment-notice {
  display: grid;
  gap: 6px;
  margin: 0 0 18px;
  padding: 16px 18px;
  border-left: 4px solid #d94f18;
  background: #fff7f1;
  color: var(--oc-checkout-text);
  font-size: 14px;
  line-height: 1.5;
}

.oc-production-payment-notice strong {
  color: #3b3b3b;
  font-size: 16px;
}

.oc-production-payment-notice span {
  display: block;
}

.oc-production-payment-notice.alert-danger {
  border-left-color: #b42318;
  background: #fff1f0;
}

.oc-production-payment-error {
  color: #8b1d17;
  font-weight: 700;
}

.oc-terms-shipping-notice {
  margin: 18px 0 26px;
  padding: 19px 21px;
  border-left: 4px solid var(--oc-checkout-orange);
  background: #fff;
  color: var(--oc-checkout-text);
  box-shadow: 0 8px 22px rgba(59, 59, 59, .09);
}

.oc-terms-shipping-notice strong {
  display: block;
  margin-bottom: 6px;
  color: var(--oc-checkout-text);
  font-size: 17px;
}

body#order-confirmation .oc-invoice-wait-notice {
  margin: 18px 0 24px;
  padding: 18px 20px;
  border: 1px solid #efc2be;
  border-left: 4px solid var(--oc-checkout-orange);
  border-radius: 0;
  background: #fff8f7;
  color: var(--oc-checkout-text);
}

body#order-confirmation .oc-invoice-wait-notice strong {
  display: block;
  margin-bottom: 6px;
  font-size: 17px;
}

body#order-confirmation .oc-invoice-wait-notice p {
  margin: 0;
}

@media (max-width: 767px) {
  .oc-shipping-notice {
    margin: 12px 0;
    padding: 13px 14px;
    font-size: 13px;
  }

  .oc-production-payment-notice {
    margin-bottom: 14px;
    padding: 14px;
    font-size: 13px;
  }

  .oc-production-payment-notice strong {
    font-size: 15px;
  }
}

/* Veškeré běžné texty v košíku, objednávce a zákaznické historii mají
   jednotnou tmavou šedou. Bílé texty tlačítek a barevné odkazy zůstávají. */
body:is(#cart, #checkout, #order-confirmation, #history, #order-detail) #wrapper,
body:is(#cart, #checkout, #order-confirmation, #history, #order-detail) #main,
body:is(#cart, #checkout, #order-confirmation, #history, #order-detail) #main :is(
  p,
  li,
  td,
  th,
  label,
  small,
  .text-muted,
  .text-secondary,
  .breadcrumb,
  .breadcrumb a,
  .product-line-info,
  .order-line,
  .order-confirmation-table,
  .cart-summary-line,
  .cart-summary-subtotals-container,
  .oc-payment-confirmation
) {
  color: var(--oc-checkout-text) !important;
}

body:is(#cart, #checkout, #order-confirmation, #history, #order-detail) #main input::placeholder,
body:is(#cart, #checkout, #order-confirmation, #history, #order-detail) #main textarea::placeholder {
  color: #5e5e5e !important;
  opacity: 1;
}

body:is(#cart, #checkout, #order-confirmation, #history, #order-detail) #main a.oc-shipping-terms-link {
  color: var(--oc-checkout-orange) !important;
}

body:is(#cart, #checkout, #order-confirmation, #history, #order-detail) #wrapper .breadcrumb,
body:is(#cart, #checkout, #order-confirmation, #history, #order-detail) #wrapper .breadcrumb :is(a, span),
body:is(#cart, #checkout, #order-confirmation, #history, #order-detail) #main :is(h1, h2, h3, h4, h5, h6),
body:is(#cart, #checkout, #order-confirmation, #history, #order-detail) #main a:not(.btn):not(.oc-shipping-terms-link) {
  color: var(--oc-checkout-text) !important;
}

body:is(#cart, #checkout, #order-confirmation, #history, #order-detail) #main :is(.btn-primary, button[type="submit"]),
body:is(#cart, #checkout, #order-confirmation, #history, #order-detail) #main :is(.btn-primary, button[type="submit"]) * {
  color: #fff !important;
}
