.datespass-gift-card-box {
  margin: 12px 0;
  padding: 14px;
  border: 1px solid #d9d9de;
  border-radius: 10px;
  background: #fbfbfc;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  text-align: left !important;
  line-height: 1.35 !important;
  font-size: 14px !important;
}

.datespass-gift-card-box *,
.datespass-gift-card-box *::before,
.datespass-gift-card-box *::after {
  box-sizing: border-box;
  text-shadow: none !important;
}

.datespass-gift-card-box p,
.datespass-gift-card-box span,
.datespass-gift-card-box div,
.datespass-gift-card-box input,
.datespass-gift-card-box button {
  position: static !important;
  float: none !important;
  clear: none !important;
  transform: none !important;
  letter-spacing: normal !important;
  text-indent: 0 !important;
  white-space: normal !important;
  max-width: 100%;
}

.datespass-gift-card-header {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.datespass-gift-card-title {
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  color: #1f2328 !important;
  text-transform: none !important;
}

.datespass-gift-card-badge {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: 12px !important;
  line-height: 1 !important;
  padding: 6px 10px;
  font-weight: 600 !important;
  margin: 0 !important;
  border: 0 !important;
}

.datespass-gift-card-badge.is-success {
  background: #e8f7ee;
  color: #147a3d;
}

.datespass-gift-card-badge.is-muted {
  background: #eef0f3;
  color: #596273;
}

.datespass-gift-card-row {
  margin: 0 0 10px !important;
  padding: 0 !important;
}

.datespass-gift-card-input {
  display: block !important;
  width: 100% !important;
  min-height: 44px !important;
  border-radius: 8px !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  border: 1px solid #cdd3db !important;
  background: #fff !important;
  color: #1f2328 !important;
  line-height: 1.25 !important;
}

.datespass-gift-card-actions {
  display: flex !important;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0 !important;
  padding: 0 !important;
}

.datespass-gift-card-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 120px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  line-height: 1.2 !important;
  border-radius: 8px !important;
}

.datespass-gift-card-btn-primary {
  font-weight: 600 !important;
}

.datespass-gift-card-box.is-loading {
  opacity: .72;
  pointer-events: none;
}

.datespass-gift-card-message {
  display: block !important;
  width: 100% !important;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  color: #555 !important;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.datespass-gift-card-accordion {
  border: 0;
}

.datespass-gift-card-summary {
  list-style: none;
  cursor: pointer;
}

.datespass-gift-card-summary::-webkit-details-marker {
  display: none;
}

.datespass-gift-card-summary::after {
  content: "▾";
  color: #6b7280;
  font-size: 14px;
  line-height: 1;
  transition: transform .2s ease;
  float: right;
  margin-top: -28px;
}

.datespass-gift-card-accordion:not([open]) .datespass-gift-card-summary::after {
  transform: rotate(-90deg);
}

.datespass-gift-card-content {
  margin-top: 8px;
}

/* Theme compatibility: prevent responsive totals-row label overlap in narrow sidebars */
.woocommerce .cart_totals table.shop_table tr.fee th,
.woocommerce .cart_totals table.shop_table tr.fee td,
.woocommerce #order_review table.shop_table tr.fee th,
.woocommerce #order_review table.shop_table tr.fee td,
.woocommerce-checkout-review-order-table tr.fee th,
.woocommerce-checkout-review-order-table tr.fee td {
  position: static !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  vertical-align: top !important;
}

.woocommerce table.shop_table_responsive tr.fee td::before,
.woocommerce-page table.shop_table_responsive tr.fee td::before {
  position: static !important;
  float: none !important;
  display: inline-block !important;
  margin-right: 6px !important;
  line-height: 1.2 !important;
}
