.gmdfa h3 { margin: 0 0 .5rem; }
#gmdfa-form { display:flex; gap:.5rem; align-items:end; flex-wrap:wrap; margin-bottom:.75rem; }
#gmdfa-form label { display:flex; flex-direction:column; font-weight:600; font-size:.9rem; }
#gmdfa-form input[type=date] { min-width: 10.5rem; }

.gmdfa-loading { padding:.5rem .75rem; background:#f7f7f7; border:1px solid #ddd; border-radius:6px; }
.gmdfa-error   { color:#7a0000; background:#fdeaea; border:1px solid #f5b5b5; padding:.5rem .75rem; border-radius:6px; }
.gmdfa-success { color:#0b5e27; background:#e6f6ec; border:1px solid #b8e3ca; padding:.5rem .75rem; border-radius:6px; margin-bottom:.5rem; }
.gmdfa-empty   { background:#fff8db; border:1px solid #ffe08a; color:#594a00; padding:.6rem .75rem; border-radius:6px; margin:.25rem 0 .5rem; }

/* Two-column grid by default (shortcode). Single column on product page (integration). */
.gmdfa-available h4 { margin:.25rem 0 .5rem; }
.gmdfa-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
  align-items: stretch;
}
.gmdfa.is-integration .gmdfa-grid { grid-template-columns: 1fr; } /* single column */
@media (max-width: 700px) { .gmdfa-grid { grid-template-columns: 1fr; } }

/* Cards */
.gmdfa-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.5rem;
  padding:.6rem .7rem;
  border:1px solid #e5e5e5;
  border-radius:6px;
  background:#fff;
  height:100%;
}
.gmdfa-row--unavail { opacity:.6; }
.gmdfa-name { font-weight:600; line-height:1.25; }

/* Wider, no-wrap booking buttons */
.gmdfa-actions { display:flex; gap:.4rem; margin-left:auto; }
.gmdfa-actions .button.gmdfa-book-btn {
  white-space: nowrap;
  min-width: 14.5rem;
  text-align: center;
}
.gmdfa-actions .button.gmdfa-book-btn.is-loading { opacity:.75; pointer-events:none; }

/* Unavailable tag */
.gmdfa-tag { display:inline-block; padding:.2rem .4rem; border-radius:4px; background:#eee; font-size:.8rem; }

/* Optional note under injected finder */
.gmdfa-note { margin-top:.5rem; color:#555; font-size:.9rem; }
