/* Delivery Estimator – Clean, system font */
.de-wrap {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  color: #33401D;
  display: inline-block;
  width: 100%;
  max-width: 420px;
}

.de-label {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6b7a46;
  margin-bottom: 6px;
}

/* -------- ROW: INPUT + BUTTON -------- */

.de-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

/* Transparent textbox with outline */
.de-input {
  flex: 1;
  background: transparent;
  border-radius: 10px;
  border: 1.5px solid #33401D;
  padding: 10px 12px;
  font-size: 14px;
  color: #33401D;
  outline: none;
  box-shadow: none;
}

.de-input::placeholder {
  color: #8a8f7a;
}

.de-input:focus {
  border-color: #202812;
  box-shadow: 0 0 0 1px rgba(51, 64, 29, 0.1);
}

/* -------- BUTTON (MATCH ADD TO CART) -------- */

.de-wrap .de-btn {
  background: #33401D !important;    /* override theme */
  border-radius: 12px !important;    /* pill shape */
  border: none !important;
  padding: 10px 22px !important;
  font-size: 14px !important;
  font-weight: 600;
  cursor: pointer;
  color: #FFFBE7 !important;         /* off-white text */
  letter-spacing: 0.5px;
  white-space: nowrap;
  line-height: 1;
  min-width: auto !important;
  box-shadow: none !important;
  display: inline-block;
  transition: transform 0.08s ease, background-color 0.15s ease;
}

.de-wrap .de-btn:hover:not(.de-btn--loading) {
  background: #2B3618 !important;
  color: #FFFBE7 !important;
}

.de-wrap .de-btn:active:not(.de-btn--loading) {
  transform: translateY(1px);
}

.de-wrap .de-btn.de-btn--loading {
  opacity: 0.6;
  cursor: default;
}

/* -------- COUNTDOWN TEXT -------- */

.de-meta {
  min-height: 18px;
  margin-bottom: 4px;
}

.de-timer {
  font-size: 12px;
  color: #6b7a46;
}

.de-timer--ok {
  color: #3c7c3a;
}

.de-timer--late {
  color: #b3503b;
}

/* -------- RESULT BOX -------- */

.de-result {
  font-size: 13px;
  line-height: 1.4;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid transparent;
  display: none;
}

/* SUCCESS MESSAGE BOX */
.de-result--success {
  display: block;
  border-color: rgba(60, 124, 58, 0.25);
  background: #f4fbf4;
  color: #234221;
}

/* ERROR MESSAGE BOX */
.de-result--error {
  display: block;
  border-color: rgba(179, 80, 59, 0.25);
  background: #fff3f0;
  color: #5b2417;
}

/* ICON BEFORE RESULT TEXT */
.de-result-icon {
  margin-right: 6px;
}

/* -------- MOBILE -------- */

@media (max-width: 480px) {
  .de-row {
    flex-direction: row;
  }

  .de-btn {
    padding-inline: 14px;
    font-size: 12.5px;
  }
}
