/* Checkout maps + clean layout */
#tetra-delivery-map-wrap,
#tetra-pickup-map-wrap {
  margin-top: 8px;
}

#tetra-delivery-map,
#tetra-pickup-map {
  width: 100%;
  height: 320px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  overflow: hidden;
  background: #f7f7f7;
}

#tetra-pickup-map {
  height: 280px;
}

#tetra-checkout-type .form-row,
#tetra-checkout-type .woocommerce-input-wrapper,
#tetra-pickup-branch-wrap .form-row,
#tetra-pickup-branch-wrap .woocommerce-input-wrapper {
  width: 100%;
  float: none;
  clear: both;
}

#tetra-checkout-type .woocommerce-input-wrapper label {
  width: 100%;
}

#tetra-use-my-location {
  margin-bottom: 10px;
}

.branches-map-section {
  margin: 0 0 28px;
}

.branches-map-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 12px;
  flex-wrap: wrap;
}

.branches-my-location {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border: none;
  border-radius: 12px;
  background: #111;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.branches-map-help {
  margin: 0;
  color: #666;
}

.tetra-branches-map {
  width: 100%;
  height: 420px;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
  background: #f7f7f7;
}

@media (max-width: 768px) {
  #tetra-delivery-map,
  #tetra-pickup-map,
  .tetra-branches-map {
    height: 280px;
  }
}

/* Professional checkout page layout */
body.woocommerce-checkout .woocommerce {
  max-width: 1280px;
  margin: 0 auto;
}

body.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 28px;
  align-items: start;
}

body.woocommerce-checkout .woocommerce-NoticeGroup,
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .place-order {
  grid-column: 1 / -1;
}

body.woocommerce-checkout #customer_details {
  grid-column: 1;
  width: 100%;
}

body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout #order_review {
  grid-column: 2;
  width: 100%;
}

body.woocommerce-checkout #order_review_heading {
  margin: 0;
  padding: 18px 20px 0;
  font-size: 24px;
  font-weight: 900;
}

body.woocommerce-checkout #order_review {
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 20px;
  padding: 0 20px 20px;
  box-shadow: 0 12px 30px rgba(0,0,0,.06);
  position: sticky;
  top: 120px;
}

body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .col2-set,
body.woocommerce-checkout .col-1,
body.woocommerce-checkout .col-2 {
  width: 100% !important;
  float: none !important;
}

body.woocommerce-checkout .col2-set {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  display: block;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
body.woocommerce-checkout .woocommerce-additional-fields .form-row,
body.woocommerce-checkout .form-row {
  width: 100% !important;
  float: none !important;
  clear: both !important;
  display: block !important;
  margin: 0 0 16px !important;
  text-align: right !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,
body.woocommerce-checkout .woocommerce-additional-fields .form-row-first,
body.woocommerce-checkout .woocommerce-additional-fields .form-row-last,
body.woocommerce-checkout .form-row-first,
body.woocommerce-checkout .form-row-last {
  width: 100% !important;
  float: none !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row label,
body.woocommerce-checkout .woocommerce-additional-fields .form-row label,
body.woocommerce-checkout .form-row label {
  display: block !important;
  width: 100% !important;
  float: none !important;
  margin: 0 0 8px !important;
  text-align: right !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #111 !important;
  line-height: 1.5 !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row .woocommerce-input-wrapper,
body.woocommerce-checkout .woocommerce-additional-fields .form-row .woocommerce-input-wrapper,
body.woocommerce-checkout .form-row .woocommerce-input-wrapper {
  display: block !important;
  width: 100% !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row input.input-text,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row textarea,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row select,
body.woocommerce-checkout .woocommerce-additional-fields .form-row input.input-text,
body.woocommerce-checkout .woocommerce-additional-fields .form-row textarea,
body.woocommerce-checkout .woocommerce-additional-fields .form-row select,
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .form-row select {
  width: 100% !important;
  min-height: 54px !important;
  border: 1px solid rgba(0,0,0,.14) !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
  background: #fff !important;
  box-sizing: border-box !important;
  text-align: right !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row textarea,
body.woocommerce-checkout .woocommerce-additional-fields .form-row textarea,
body.woocommerce-checkout .form-row textarea {
  min-height: 110px !important;
  resize: vertical !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row .optional,
body.woocommerce-checkout .woocommerce-additional-fields .form-row .optional,
body.woocommerce-checkout .form-row .optional {
  font-size: 12px !important;
  color: #777 !important;
  margin-right: 4px;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row .required,
body.woocommerce-checkout .woocommerce-additional-fields .form-row .required,
body.woocommerce-checkout .form-row .required {
  color: #d72626 !important;
}

body.woocommerce-checkout .tetra-checkout-block {
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 20px;
  padding: 20px;
  margin-bottom: 22px;
  box-shadow: 0 12px 28px rgba(0,0,0,.05);
}

body.woocommerce-checkout .tetra-checkout-title {
  margin: 0 0 8px;
  font-size: 28px;
  font-weight: 900;
}

body.woocommerce-checkout .tetra-checkout-sub {
  margin: 0 0 14px;
  color: #666;
  font-size: 14px;
}

body.woocommerce-checkout .tetra-order-type .woocommerce-input-wrapper {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 12px;
}

body.woocommerce-checkout .tetra-order-type label {
  display: flex !important;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  background: #fff;
  cursor: pointer;
}

body.woocommerce-checkout #tetra-use-my-location {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 16px;
  border: none;
  border-radius: 14px;
  background: #111;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
  margin-bottom: 10px;
}

body.woocommerce-checkout .tetra-checkout-help {
  color: #666;
  font-size: 13px;
  margin: 6px 0 10px;
}

body.woocommerce-checkout .tetra-hidden {
  display: none !important;
}

body.woocommerce-checkout #ship-to-different-address,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .shipping_address {
  display: none !important;
}

body.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon {
  margin-bottom: 16px;
}

@media (max-width: 980px) {
  body.woocommerce-checkout form.checkout {
    grid-template-columns: 1fr;
  }

  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review {
    grid-column: 1;
  }

  body.woocommerce-checkout #order_review {
    position: static;
  }
}

/* Strong cart checkout CTA */
body.woocommerce-cart .wc-proceed-to-checkout {
  margin-top: 22px !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart .cart-collaterals .checkout-button,
body.woocommerce-cart a.checkout-button.button.alt.wc-forward,
body.woocommerce-cart .wc-proceed-to-checkout .button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 62px !important;
  padding: 18px 20px !important;
  border: none !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #111 0%, #2b2b2b 100%) !important;
  color: #fff !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.16) !important;
  transition: transform .15s ease, opacity .15s ease, box-shadow .15s ease !important;
  text-align: center !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart .cart-collaterals .checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout .button:hover {
  opacity: .96 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 18px 34px rgba(0,0,0,.18) !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::before,
body.woocommerce-cart .wc-proceed-to-checkout .button::before {
  content: "←";
  display: inline-block;
  margin-left: 10px;
  font-size: 20px;
  font-weight: 900;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button *,
body.woocommerce-cart .wc-proceed-to-checkout .button,
body.woocommerce-cart .wc-proceed-to-checkout .button * {
  color: #fff !important;
}
