/* Stable checkout form controls loaded outside PrestaShop's combined CSS cache. */
.sc-page {
  --sc-control-height: 52px;
  --sc-control-font-size: 16px;
  --sc-control-font-family: Satoshi, Arial, sans-serif;
}

.sc-page button,
.sc-page input,
.sc-page select,
.sc-page textarea,
.sc-page .form-control,
.sc-page .chosen-container,
.sc-page .select-omnivalt {
  font-family: var(--sc-control-font-family) !important;
}

.sc-page .sc-field > label {
  font-family: var(--sc-control-font-family) !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
}

.sc-page .sc-field > input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.sc-page .sc-voucher input {
  width: 100% !important;
  height: var(--sc-control-height) !important;
  min-height: var(--sc-control-height) !important;
  padding: 12px 14px !important;
  font-family: var(--sc-control-font-family) !important;
  font-size: var(--sc-control-font-size) !important;
  font-weight: 400 !important;
  line-height: 24px !important;
  border-radius: 10px !important;
  box-sizing: border-box !important;
}

.sc-page .sc-voucher button[data-cart-action="voucher"] {
  flex: 0 0 auto;
  height: var(--sc-control-height) !important;
  min-height: var(--sc-control-height) !important;
  padding: 12px 20px !important;
  border: 1px solid #142044 !important;
  border-radius: 10px !important;
  background: #142044 !important;
  color: #fff !important;
  font-family: var(--sc-control-font-family) !important;
  font-size: var(--sc-control-font-size) !important;
  font-weight: 700 !important;
  line-height: 24px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.sc-page .sc-voucher button[data-cart-action="voucher"]:hover,
.sc-page .sc-voucher button[data-cart-action="voucher"]:focus-visible {
  background: #29355a !important;
  border-color: #29355a !important;
}

.sc-page .select-omnivalt .omniva-terminals-list .dropdown,
.sc-page .dpd-pudo-container .chosen-single,
.sc-page .sc-carrier-extra .dpd-pudo-container select[name="dpd-city"],
.sc-page .sc-carrier-extra .dpd-pudo-container select[name="dpd-street"],
.sc-page .sc-dpd-wrap select,
.sc-page .paysera-country select#paysera_country {
  height: var(--sc-control-height) !important;
  min-height: var(--sc-control-height) !important;
  padding: 12px 38px 12px 14px !important;
  border-radius: 10px !important;
  font-family: var(--sc-control-font-family) !important;
  font-size: var(--sc-control-font-size) !important;
  font-weight: 400 !important;
  line-height: 24px !important;
  box-sizing: border-box !important;
}

/* Keep the DPD pickup controls directly under the selected carrier row. */
.sc-page .sc-carrier-label {
  padding-bottom: 10px !important;
}

.sc-page .sc-carrier-extra,
.sc-page .sc-carrier-extra .dpd-pudo-container,
.sc-page .sc-carrier-extra .dpd-pudo-container > .panel {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.sc-page .sc-carrier-extra > .dpd-checkout-phone-container,
.sc-page .sc-carrier-extra > .dpd-checkout-phone-container + .phone-block-hr {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sc-page .sc-carrier-extra .dpd-pudo-container > .panel > .col-lg-12 {
  float: none !important;
  clear: both !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sc-page .sc-carrier-extra .dpd-pudo-container .form-control-label {
  margin: 0 0 10px !important;
  padding: 0 !important;
}

.sc-page .sc-payment-state-message {
  margin: 0 0 12px;
  padding: 11px 13px;
  border: 1px solid #e7c66c;
  border-radius: 10px;
  background: #fff8df;
  color: #6b4b00;
  font-size: 14px;
  line-height: 1.45;
}

/* Validation warning: visible as a toast while the page scrolls to the field. */
.sc-page #sc-form-errors.sc-warning-pop {
  position: fixed;
  z-index: 2000;
  top: 18px;
  left: 50%;
  width: min(560px, calc(100vw - 28px));
  transform: translateX(-50%);
  filter: drop-shadow(0 14px 30px rgba(84, 24, 24, .2));
  animation: sc-warning-in .28s ease-out both;
}
.sc-page #sc-form-errors.sc-warning-pop .sc-alert {
  margin: 0;
  border: 1px solid #ef9a9a;
  background: #fff0f0;
  color: #a31313;
  font-weight: 700;
}
.sc-page .sc-invalid-field > input:not([type="checkbox"]):not([type="radio"]),
.sc-page input.sc-invalid-field,
.sc-page select.sc-invalid-field,
.sc-page .sc-terms.sc-invalid-field {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, .14) !important;
  background-color: #fff7f7 !important;
}
.sc-page .sc-invalid-blink {
  animation: sc-invalid-blink .22s ease-in-out 3;
}
@keyframes sc-warning-in {
  from { opacity: 0; transform: translate(-50%, -14px) scale(.98); }
  to { opacity: 1; transform: translate(-50%, 0) scale(1); }
}
@keyframes sc-invalid-blink {
  0%, 100% { transform: translateX(0); }
  35% { transform: translateX(-5px); }
  70% { transform: translateX(5px); }
}
@media (prefers-reduced-motion: reduce) {
  .sc-page #sc-form-errors.sc-warning-pop,
  .sc-page .sc-invalid-blink { animation: none; }
}

@media (max-width: 767px) {
  body:has(.sc-page) { padding-bottom: 78px; }
  .sc-page #sc-place-order {
    position: fixed;
    z-index: 1000;
    right: 12px;
    bottom: 12px;
    left: 12px;
    width: auto;
    margin: 0;
    box-shadow: 0 10px 28px rgba(20, 32, 68, .26);
  }
  body:has(.sc-page) #pt-back-to-top { bottom: 84px; }
}
