/*
 * Cart + checkout, account, lost password, order tracking and wishlist pages.
 * Everything is scoped to `.tw` (the wrapper of those pages) so it never touches the Flatsome parts of the shop.
 * Utilities come from tailwind.css (theme/tailwind, scoped with the same `.tw`).
 */

/* Flatsome sets a margin / min-height / shadow on every button and input: put the page controls back to plain. */
.tw .cv-qty-btn,
.tw .cv-qty-input,
.tw .cv-link-btn {
  margin: 0;
  min-height: 0;
  box-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  font-family: inherit;
  background: transparent;
  cursor: pointer;
}
.tw .cv-qty-btn { border: 0; padding: 0; }
.tw .cv-qty-btn:hover { background: #f3f4f6; }
.tw .cv-qty-input { border: 0; border-radius: 0; padding: 0; width: 2.5rem; max-width: 2.5rem; -moz-appearance: textfield; }
.tw .cv-qty-input::-webkit-outer-spin-button,
.tw .cv-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.tw .cv-link-btn { border-width: 0; padding: 0; line-height: 1.2; }
.tw .cv-link-btn.border { border-width: 1px; border-style: solid; padding: 2px 8px; }

/* Cards, titles and form controls of the checkout */
.tw .co-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 6px; padding: 24px; }
.tw .co-title { font-size: 1.25rem; font-weight: 700; line-height: 1.25; color: #111; margin: 0; text-transform: none; }
.tw .co-title.mb-5 { margin-bottom: 1.25rem; }
.tw .co-title.mb-4 { margin-bottom: 1rem; }
.tw .co-title.mb-3 { margin-bottom: .75rem; }
.tw .co-title.mb-2 { margin-bottom: .5rem; }
.tw .co-title.mb-1 { margin-bottom: .25rem; }
.tw .co-label { display: block; font-size: .875rem; font-weight: 600; color: #111; margin: 0 0 6px; }
.tw .co-error { display: block; min-height: 0; font-size: .75rem; color: #dc2626; margin-top: 4px; }
.tw .co-input {
  display: block;
  width: 100%;
  margin: 0;
  height: 44px;
  padding: 0 14px;
  border: 1px solid #d1d5db;
  border-radius: 5px;
  background: #fff;
  color: #111;
  font-size: .9rem;
  box-shadow: none;
}
.tw textarea.co-input { height: auto; padding: 10px 14px; min-height: 64px; }
.tw .co-input:focus { outline: none; border-color: #F2AB1F; box-shadow: 0 0 0 3px rgba(227, 38, 44, .12); }
.tw .co-input:disabled { background: #f3f4f6; cursor: not-allowed; }
.tw .co-check { display: inline-flex; align-items: center; gap: 10px; font-size: .875rem; cursor: pointer; user-select: none; margin: 0; }
.tw .co-check input[type="checkbox"] { width: 16px; height: 16px; margin: 0; accent-color: #B86E00; }

/* Province / ward search dropdowns */
.tw .co-combo { position: relative; }
.tw .co-combo__chev { position: absolute; right: 12px; top: 50%; width: 18px; height: 18px; margin-top: -9px; color: #6b7280; pointer-events: none; }
.tw .co-combo.is-free .co-combo__chev { display: none; }
.tw .co-combo__list {
  position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 4px);
  max-height: 260px; overflow-y: auto; margin: 0; padding: 4px; list-style: none;
  background: #fff; border: 1px solid #d1d5db; border-radius: 6px; box-shadow: 0 10px 28px rgba(0, 0, 0, .14);
}
.tw .co-combo__item { margin: 0; padding: 9px 12px; font-size: .875rem; border-radius: 4px; cursor: pointer; list-style: none; }
.tw .co-combo__item:hover,
.tw .co-combo__item.is-active { background: #fdecec; color: #8a5200; }
.tw .co-combo__empty { margin: 0; padding: 10px 12px; font-size: .85rem; color: #6b7280; list-style: none; }

/* Wishlist cards: Flatsome gives images a margin and buttons a min-height */
.tw #wishlist-grid .button { margin-bottom: 0; }
.tw #wishlist-grid img { display: block; }

/* Flatsome's checkout container has no bottom padding: keep the last card off the footer */
.tw .cart-container { padding-bottom: 40px; }
