/* 123eetstoel v2.5.6 — compact, overview-first one-page checkout. */

/* The normal WordPress page hero must never sit above the focused checkout. */
body.woocommerce-checkout:not(.woocommerce-order-received) .es-page-header,
body.woocommerce-checkout:not(.woocommerce-order-received) .page-header,
body.woocommerce-checkout:not(.woocommerce-order-received) .entry-header,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-products-header {
  display: none !important;
}

/* Remove all generic page constraints around the checkout shortcode. */
body.woocommerce-checkout:not(.woocommerce-order-received) #main-content,
body.woocommerce-checkout:not(.woocommerce-order-received) .es-content,
body.woocommerce-checkout:not(.woocommerce-order-received) .es-content > .es-container,
body.woocommerce-checkout:not(.woocommerce-order-received) article.page,
body.woocommerce-checkout:not(.woocommerce-order-received) .entry-content,
body.woocommerce-checkout:not(.woocommerce-order-received) .entry-content > *,
body.woocommerce-checkout:not(.woocommerce-order-received) .entry-content > .woocommerce,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce {
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .es-content {
  display: block;
}

/* Compact success/error feedback directly above the buying flow. */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-notices-wrapper {
  width: min(calc(100% - 32px), 1480px) !important;
  margin: 10px auto 0 !important;
  padding: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-message,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-info,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-error {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px 10px 44px !important;
  margin: 0 0 8px !important;
  border-radius: 12px !important;
  background: #fff !important;
  font-size: 0.78rem;
  line-height: 1.35;
  box-shadow: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-message .button,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-info .button {
  min-height: 36px;
  margin-left: auto;
  padding: 8px 13px;
  border-radius: 9px;
  font-size: 0.72rem;
  white-space: nowrap;
}

.es-onepage-checkout {
  width: min(100%, 1480px);
  padding: 0 clamp(14px, 2.1vw, 32px) 24px;
}

/* One compact brand row, then immediately the checkout. */
.es-onepage-checkout__brandbar--compact {
  min-height: 62px;
  grid-template-columns: minmax(150px, 205px) minmax(190px, 1fr) auto;
  gap: clamp(14px, 2vw, 30px);
  padding: 10px 0;
}

.es-onepage-checkout__brandbar--compact .es-onepage-checkout__logo {
  width: min(100%, 190px);
}

.es-onepage-checkout__brandbar--compact .es-onepage-checkout__logo img {
  max-height: 38px;
}

.es-onepage-checkout__heading .es-eyebrow {
  margin-bottom: 1px;
  font-size: 0.58rem;
}

.es-onepage-checkout__heading h1 {
  font-size: clamp(1.08rem, 1.45vw, 1.45rem);
  letter-spacing: -0.035em;
}

.es-onepage-checkout__brandbar--compact .es-onepage-checkout__assurances {
  gap: 8px 16px;
  font-size: 0.68rem;
}

.es-onepage-checkout__form {
  gap: 18px;
  padding-top: 14px;
  grid-template-columns: minmax(0, 1fr) minmax(350px, 390px);
}

.es-onepage-checkout__sidebar {
  top: 12px;
}

.es-onepage-checkout__main {
  gap: 14px;
}

.es-onepage-card,
.es-onepage-summary {
  border-radius: 17px;
  box-shadow: 0 10px 30px rgba(31, 38, 37, 0.045);
}

.es-onepage-card {
  padding: clamp(18px, 1.8vw, 24px);
}

.es-onepage-summary {
  padding: 20px;
}

.es-onepage-card__head {
  gap: 11px;
  margin-bottom: 17px;
}

.es-onepage-card__number {
  width: 32px;
  height: 32px;
  flex-basis: 32px;
  font-size: 0.76rem;
}

.es-onepage-card__head .es-eyebrow,
.es-onepage-summary__head .es-eyebrow {
  font-size: 0.61rem;
}

.es-onepage-card__head h2,
.es-onepage-summary__head h2 {
  font-size: clamp(1.08rem, 1.25vw, 1.35rem);
}

/* Denser customer form without sacrificing touch or focus states. */
.woocommerce-checkout .es-onepage-card .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .es-onepage-card .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .es-onepage-card .woocommerce-additional-fields__field-wrapper {
  gap: 11px 10px;
}

.woocommerce-checkout .es-onepage-card label {
  margin-bottom: 5px;
  font-size: 0.7rem;
}

.woocommerce-checkout .es-onepage-card input.input-text,
.woocommerce-checkout .es-onepage-card textarea,
.woocommerce-checkout .es-onepage-card select,
.woocommerce-checkout .es-onepage-card .select2-selection {
  min-height: 46px;
  padding-inline: 13px;
  border-radius: 10px;
}

.woocommerce-checkout .es-onepage-card textarea {
  min-height: 84px;
}

.woocommerce-checkout .es-onepage-card .woocommerce-account-fields,
.woocommerce-checkout .es-onepage-card .woocommerce-shipping-fields,
.woocommerce-checkout .es-onepage-card .woocommerce-additional-fields {
  margin-top: 15px;
}

.es-onepage-delivery-summary {
  gap: 10px;
  padding: 10px 12px;
  margin-bottom: 11px;
  border-radius: 11px;
}

.es-onepage-delivery-summary > span {
  width: 34px;
  height: 34px;
  flex-basis: 34px;
  border-radius: 9px;
}

.es-onepage-delivery-summary strong {
  font-size: 0.84rem;
}

.es-onepage-delivery-summary small {
  font-size: 0.68rem;
}

.es-delivery-calendar {
  border-radius: 14px;
}

.es-delivery-calendar__head {
  padding: 10px 12px;
}

.es-delivery-calendar__head strong {
  font-size: 0.84rem;
}

.es-delivery-calendar__head span {
  font-size: 0.64rem;
}

.es-delivery-calendar__weekdays {
  padding: 7px 7px 4px;
  font-size: 0.6rem;
}

.es-delivery-calendar__grid {
  gap: 4px;
  padding: 0 7px 8px;
}

.es-delivery-calendar__day {
  min-height: 47px;
  gap: 0;
  padding: 4px 2px;
  border-radius: 9px;
}

.es-delivery-calendar__day > span {
  font-size: 0.86rem;
}

.es-delivery-calendar__day small {
  font-size: 0.43rem;
}

.es-onepage-delivery-note {
  margin-top: 8px;
  font-size: 0.68rem;
}

/* Payment choices become a compact grid on wide screens. */
.woocommerce-checkout .es-onepage-payment ul.wc_payment_methods {
  gap: 8px;
  margin-bottom: 12px !important;
}

.woocommerce-checkout .es-onepage-payment li.wc_payment_method > input {
  top: 18px;
  left: 14px;
  width: 17px;
  height: 17px;
}

.woocommerce-checkout .es-onepage-payment li.wc_payment_method > label {
  min-height: 52px;
  gap: 10px;
  padding: 12px 12px 12px 40px;
  font-size: 0.8rem;
}

.woocommerce-checkout .es-onepage-payment li.wc_payment_method > label img {
  max-width: 58px;
  max-height: 27px;
}

.woocommerce-checkout .es-onepage-payment .payment_box {
  padding: 0 12px 12px 40px !important;
  font-size: 0.7rem;
}

.woocommerce-checkout .es-onepage-payment .place-order {
  margin-top: 13px;
}

.woocommerce-checkout .es-onepage-payment #place_order {
  min-height: 50px;
  border-radius: 11px;
  font-size: 0.9rem;
}

.woocommerce-checkout .es-onepage-payment .woocommerce-privacy-policy-text,
.woocommerce-checkout .es-onepage-payment .woocommerce-terms-and-conditions-wrapper {
  font-size: 0.68rem;
}

/* Summary remains visible, but uses far less vertical space. */
.es-onepage-summary__head {
  padding-bottom: 13px;
}

.es-onepage-cart-item {
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 11px;
  padding: 13px 0;
}

.es-onepage-cart-item__image {
  width: 72px;
  height: 82px;
  border-radius: 10px;
}

.es-onepage-cart-item__heading > a {
  font-size: 0.78rem;
}

.es-onepage-cart-item__bottom {
  margin-top: 8px;
}

.es-onepage-quantity {
  grid-template-columns: 27px 36px 27px;
  min-height: 32px;
}

.es-onepage-quantity button,
.es-onepage-quantity input {
  height: 30px;
}

.es-onepage-quantity input {
  width: 36px;
}

.es-onepage-order-review {
  padding-top: 10px;
}

.es-onepage-order-review table.shop_table tfoot th,
.es-onepage-order-review table.shop_table tfoot td {
  padding: 8px 0 !important;
  font-size: 0.75rem;
}

.es-onepage-order-review table.shop_table tr.order-total th,
.es-onepage-order-review table.shop_table tr.order-total td {
  padding-top: 11px !important;
  font-size: 1rem;
}

.es-onepage-summary__delivery {
  padding: 10px;
  margin-top: 11px;
}

.es-onepage-summary__trust {
  gap: 6px;
  padding-top: 10px;
}

.es-onepage-checkout__footer {
  padding-top: 16px;
  margin-top: 16px;
}

/* Wide desktop: details and calendar sit side by side, payment spans below. */
@media (min-width: 1180px) {
  .es-onepage-checkout__main {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
    align-items: start;
    gap: 14px;
  }

  .es-onepage-card--details {
    grid-column: 1;
    grid-row: 1;
  }

  .es-onepage-card--delivery {
    grid-column: 2;
    grid-row: 1;
  }

  .es-onepage-card--payment {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .woocommerce-checkout .es-onepage-payment ul.wc_payment_methods {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .woocommerce-checkout .es-onepage-payment li.wc_payment_method .payment_box {
    min-height: 0;
  }
}

@media (max-width: 1179px) {
  .woocommerce-checkout .es-onepage-payment ul.wc_payment_methods {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-notices-wrapper {
    width: calc(100% - 24px) !important;
    margin-top: 7px !important;
  }

  .es-onepage-checkout__form {
    padding-top: 10px;
  }

  .woocommerce-checkout .es-onepage-payment ul.wc_payment_methods {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .es-onepage-checkout {
    padding-inline: 12px;
  }

  .es-onepage-checkout__brandbar--compact {
    grid-template-columns: minmax(112px, 150px) minmax(0, 1fr);
    gap: 10px;
    padding: 9px 0;
  }

  .es-onepage-checkout__brandbar--compact .es-onepage-checkout__logo img {
    max-height: 32px;
  }

  .es-onepage-checkout__brandbar--compact .es-onepage-checkout__assurances {
    padding-top: 7px;
  }

  .es-onepage-checkout__brandbar--compact .es-onepage-checkout__assurances span {
    font-size: 0.54rem;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-message,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-info,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-error {
    align-items: flex-start;
    flex-direction: column;
    padding: 10px 12px 10px 42px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-message .button,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-info .button {
    margin: 5px 0 0;
  }

  .es-onepage-card {
    padding: 18px 15px;
  }

  .es-onepage-summary {
    padding: 17px 15px;
  }

  .es-delivery-calendar__day small {
    display: none;
  }

  .es-delivery-calendar__day {
    min-height: 42px;
  }
}
