/* Main product button */
.nova-gift-card-wrapper {
 margin: 15px 0;
}
.nova-gift-card-main-button {
 display: inline-block !important;
 width: auto !important;
 border: 0 !important;
 padding: 14px 10px !important;
 cursor: pointer !important;
 font-size: 11px !important; 
 font-weight: 600 !important;
 background: #111111 !important;
 color: #ffffff !important;
 transition: opacity 0.2s ease !important;
}
.nova-gift-card-main-button:hover {
 opacity: 0.85 !important;
}
.nova-gift-card-price {
 margin-top: 8px;
 font-size: 14px;
}
/* Modal */
.nova-gift-card-modal {
 display: none;
 position: fixed;
 inset: 0;
 z-index: 999999;
}
.nova-gift-card-modal.is-open {
 display: block;
}
.nova-gift-card-overlay {
 position: absolute;
 inset: 0;
 background: rgba(0, 0, 0, 0.60);
}
.nova-gift-card-modal-content {
 position: relative;
 z-index: 2;
 width: calc(100% - 30px);
 max-width: 560px;
 max-height: calc(100vh - 30px);
 overflow-y: auto;
 margin: 15px auto;
 top: 50%;
 transform: translateY(-50%);
 padding: 30px;
 background: #ffffff;
 border-radius: 8px;
 box-sizing: border-box;
}
.nova-gift-card-close {
 position: absolute;
 right: 15px;
 top: 10px;
 border: 0;
 background: transparent;
 font-size: 30px;
 line-height: 1;
 cursor: pointer;
}
.nova-gift-card-modal-content h2 {
 margin-top: 0;
 margin-bottom: 25px;
}
.nova-field {
 margin-bottom: 18px;
}
.nova-field label {
 display: block;
 margin-bottom: 7px;
 font-weight: 600;
}
.nova-field label span {
 color: #d00;
}
.nova-field input,
.nova-field textarea {
 width: 100%;
 box-sizing: border-box;
 padding: 12px;
 border: 1px solid #cccccc;
 border-radius: 4px;
 font-size: 15px;
}
.nova-field textarea {
 resize: vertical;
}
.nova-field small {
 display: block;
 margin-top: 5px;
 color: #666666;
}
.nova-gift-card-error {
 display: none;
 margin-bottom: 15px;
 padding: 10px;
 background: #fff0f0;
 color: #a00000;
 border: 1px solid #f0b0b0;
 border-radius: 4px;
}
.nova-gift-card-submit {
 width: 100%;
 padding: 14px 18px;
 border: 0;
 cursor: pointer;
 background: #111111;
 color: #ffffff;
 font-size: 15px;
 font-weight: 600;
}
.nova-gift-card-submit:disabled {
 opacity: 0.6;
 cursor: wait;
}
body.nova-gift-card-modal-open {
 overflow: hidden;
}
@media (max-width: 600px) {
 .nova-gift-card-modal-content {
  padding: 22px;
  margin: 10px auto;
  width: calc(100% - 20px);
 }
 .nova-gift-card-main-button {
  font-size: 12px !important;
  width: 100% !important;
  padding: 12px 16px !important;
 }
}

/* Cart Data UI Cleanup */
.product-name .variation {
  margin-top: 12px !important;
  padding: 15px !important;
  background: #f9f9f9 !important;
  border-radius: 6px !important;
  font-size: 0.95em !important;
  border-left: 4px solid #7a8c4f !important;
  display: grid !important;
  grid-template-columns: max-content 1fr !important;
  gap: 8px 15px !important;
  align-items: baseline !important;
}
.product-name .variation dt {
  font-weight: 600 !important;
  color: #222 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.product-name .variation dd {
  margin: 0 !important;
  padding: 0 !important;
  color: #555 !important;
}
.product-name .variation p {
  margin: 0 !important;
  padding: 0 !important;
}

/* Hide Product Image Thumbnail on Cart safely without breaking table columns */
.woocommerce-cart-form td.product-thumbnail img {
    display: none !important;
}
.woocommerce-cart-form td.product-thumbnail {
    width: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
}
.woocommerce-cart-form td.product-name {
    padding-left: 0 !important;
}

/* Auto-update cart styling */
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart input[name="update_cart"] {
    display: none !important;
}

/* Make coupon area full width */
.woocommerce-cart table.cart td.actions .coupon {
    display: flex !important;
    width: 100% !important;
    justify-content: space-between !important;
    gap: 15px !important;
    padding: 10px 0 !important;
}
.woocommerce-cart table.cart td.actions .coupon .input-text {
    flex-grow: 1 !important;
    width: auto !important;
}
