/* ============================================================
   CHECKOUT STEPS — Layout e visibilità
   ============================================================ */

.wc-block-components-checkout-step__container {
  margin-top: 10px !important;
}

.wc-block-components-form .wc-block-components-checkout-step {
  margin: 20px 0 24px !important;
}

/* Step chiusi */
.wc-block-components-checkout-step.step-closed .wc-block-components-checkout-step__content {
  display: none !important;
}
.wc-block-components-checkout-step.step-closed:not(.step-done) .wc-block-components-checkout-step__heading-container,
.wc-block-components-checkout-step.step-closed:not(.step-done) .wc-block-components-checkout-step__description {
  display: none !important;
}

/* Nav bottoni per stato step */
.wc-block-components-checkout-step.step-closed .dammos-step-nav,
.wc-block-components-checkout-step.step-done .dammos-step-nav {
  display: none !important;
}
.wc-block-components-checkout-step.step-open .dammos-step-nav {
  display: flex !important;
}

/* Heading per stato step */
.wc-block-components-checkout-step.step-done .wc-block-components-checkout-step__heading-container {
  display: flex !important;
  cursor: pointer;
}
.wc-block-components-checkout-step.step-open .wc-block-components-checkout-step__heading-container {
  display: flex !important;
}

.wc-block-components-checkout-step__heading-container {
  display: flex;
  align-items: left;
  flex-wrap: wrap;
  gap: 8px;
}
/* ============================================================
   CHECKOUT address space between select country
   ============================================================ */
.wc-block-components-address-form__company {
  margin-bottom: 13px !important;
}
/* ============================================================
   Heading padding left in checkout
   ============================================================ */
@media (max-width: 768px) {
  .checkout-heading-mobile {
    padding-left: 32px !important;
  }
}

/* ============================================================
   CHECKOUT ACTIONS — Place Order, notes, terms
   ============================================================ */
.wc-block-checkout__actions,
.wc-block-checkout__order-notes,
.wc-block-checkout__terms {
  display: none !important;
}
.wc-block-checkout__actions.dammos-visible,
.wc-block-checkout__order-notes.dammos-visible,
.wc-block-checkout__terms.dammos-visible {
  display: block !important;
}
.wc-block-checkout__actions.dammos-gpay-hidden {
  display: none !important;
}


/* ============================================================
   INPUT & FORM
   ============================================================ */

.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-text-input input[type="password"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="url"] {
  border-radius: 0 !important;
}


/* ============================================================
   PRODUCT DETAILS — Campi appuntamento
   ============================================================ */

.wc-block-components-product-details {
  display: flex;
  flex-direction: column;
}
.wc-block-components-product-details > span {
  display: block;
}
.wc-block-components-product-details > span [aria-hidden="true"] {
  display: none;
}
.wc-block-components-product-details__name {
  font-weight: 500;
}


/* ============================================================
   ADDRESS CARD
   ============================================================ */

.wc-block-components-address-card {
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  padding-top: 16px;
}
.wc-block-components-address-card address {
  text-align: center;
  width: 100%;
}
.wc-block-components-address-card .wc-block-components-address-card__edit {
  position: absolute;
  top: 16px;
  right: 16px;
}

/* ============================================================
   Points reward style in the summary column
   ============================================================ */

.wc-block-components-panel__button {
  padding-top: 1.375em !important;
}
.woocommerce-reward-points-redemption-form-inputs {
  display: flex !important;
  align-items: stretch !important;
  gap: 8px !important;
  margin: 12px 0 !important;
  width: 100% !important;
  justify-content: center !important;
}

.woocommerce-reward-points-redemption-text-below {
  display: block !important;
  text-align: center !important;
  width: 100% !important;
  font-size: 12px !important;
  color: #888 !important;
}

.woocommerce-reward-points-redemption-text {
  display: block !important;
  text-align: center !important;
  margin-bottom: 8px !important;
  font-size: 13px !important;
}

.woocommerce-reward-points-redemption-text-remove-points {
  display: block !important;
  text-align: center !important;
  font-size: 12px !important;
  color: #888 !important;
  margin-top: 8px !important;
}

.woocommerce-reward-points-redemption-form-container {
  width: 100% !important;
  float: none !important;
  text-align: left !important;
}
.woocommerce-reward-points-redemption-form-inputs {
  display: flex !important;
  align-items: stretch !important;
  gap: 8px !important;
  margin: 12px 0 !important;
  width: 100% !important;
}
.woocommerce-reward-points-redemption-success-container,
.woocommerce-reward-points-text-container {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* ============================================================
   REACT SELECT (pickup point)
   ============================================================ */

.css-13cymwt-control {
  font-size: 16px;
}
.css-hlgwow {
  padding: 10px 9px 8px;
  font-size: 16px;
}

#mc_pickup_point_select [class$="-control"]:focus,
#mc_pickup_point_select [class$="-control"]:focus-within {
  box-shadow: none !important;
  border-color: #000 !important;
  border-width: 1.5px !important;
  outline: none !important;
}

[role="option"] {
  background-color: #ffffff !important;
  color: #2c2c2a !important;
  font-size: 13px !important;
}
[role="option"]:hover {
  background-color: #f5f0e8 !important;
  color: #2c2c2a !important;
}


/* ============================================================
   BREADCRUMB
   ============================================================ */

.dammos-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 24px;
  font-size: 13px;
}
.dammos-bc-item {
  color: #aaa;
  display: flex;
  align-items: center;
  gap: 6px;
}
.dammos-bc-item.active {
  color: #2b2d2f;
  font-weight: 500;
}
.dammos-bc-item.done {
  color: #c9a96e;
  cursor: pointer;
}
.dammos-bc-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid currentColor;
  font-size: 11px;
  flex-shrink: 0;
}
.dammos-bc-sep {
  color: #ddd;
}


/* ============================================================
   STEP SUMMARY & NAV BOTTONI
   ============================================================ */

.dammos-step-summary {
  font-size: 13px;
  color: #888;
  margin-top: 2px;
  flex: 1;
}

.dammos-step-nav {
  display: flex;
  gap: 12px;
  margin-top: 20px;
  width: 100%;
}

.dammos-btn-next {
  flex: 1;
  background: #2b2d2f;
  color: #fff;
  border: none;
  padding: 10px !important;
  font-size: 14px;
  font-weight: 300 !important;
  cursor: pointer;
  letter-spacing: 0.05em;
  text-align: center;
}
.dammos-btn-back {
  flex: 1;
  background: transparent;
  color: #2b2d2f;
  border: 1px solid #e0ddd5;
  padding: 10px !important;
  font-size: 14px;
  font-weight: 300 !important;
  cursor: pointer;
  letter-spacing: 0.05em;
  text-align: center;
}
.dammos-btn-next:hover { background: #c9a96e; }
.dammos-btn-back:hover { border-color: #2b2d2f; }


/* ============================================================
   MEDIA QUERIES
   ============================================================ */

@media (max-width: 768px) {
  .wc-block-components-shipping-rates-control__package,
  .wc-block-components-radio-control,
  .wc-block-components-radio-control__option {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  #mc_pickup_point_select,
  #mc_pickup_point_select .css-b62m3t-container,
  #mc_pickup_point_select [class$="-control"] {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .wc-block-components-radio-control__label {
    white-space: nowrap !important;
  }

  .makecommerce-payment-methods .row {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
  }

  .makecommerce-payment-methods .payment-method-wrapper {
    width: 100% !important;
    padding: 0 !important;
  }

  .wc-block-components-checkbox label {
    padding-top: 10px;
  }
}
/* ============================================================
   CHECKOUT — Mobile padding & title
   ============================================================ */


@media (max-width: 768px) {
  .wc-block-checkout,
  .wp-block-woocommerce-checkout {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }

  .wc-block-checkout .wp-block-woocommerce-checkout-fields-block,
  .wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }


}


/* ============================================================
   CHECKOUT — Colonna centrata (da assegnare al wrapper Elementor)
   ============================================================ */

.dammos-checkout-centered {
  max-width: 1200px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.wc-block-components-checkout-return-to-cart-button {
  display: none !important;
}

.wc-block-components-checkout-place-order-button {
  width: 100% !important;
}
