/* TA Document Manager - frontend v1.0.1 */

.ta-doc-library,
.ta-doc-library * {
  box-sizing: border-box;
}

/* Match the existing Documents page: three equal cards per row. */
.ta-doc-library .ta-doc-grid {
  display: grid !important;
  grid-template-columns: repeat(var(--ta-doc-cols, 3), minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  align-items: stretch !important;
}

.ta-doc-library .ta-doc-card {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #121212 !important;
  border: 1px solid #6f5a22 !important;
  border-radius: 14px !important;
  color: #fff !important;
  box-shadow: 0 5px 14px rgba(0,0,0,.22) !important;
}

.ta-doc-library .ta-doc-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1.55 / 1 !important;
  overflow: hidden !important;
  background: linear-gradient(135deg,#dfc879,#9e8c72) !important;
}

.ta-doc-library .ta-doc-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  margin: 0 !important;
}

.ta-doc-library .ta-doc-placeholder span {
  font-size: 58px !important;
  line-height: 1 !important;
  opacity: .42 !important;
}

.ta-doc-library .ta-doc-body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  padding: 15px 13px 14px !important;
  text-align: center !important;
  background: #121212 !important;
}

.ta-doc-library .ta-doc-body h3 {
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: #9c8330 !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

.ta-doc-library .ta-doc-description {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-height: 56px !important;
  margin: 0 0 8px !important;
  color: #fff !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  text-align: center !important;
}

.ta-doc-library .ta-doc-description p {
  margin: 0 0 5px !important;
  color: inherit !important;
}

.ta-doc-library .ta-doc-generate,
.ta-doc-library .ta-doc-locked {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 112px !important;
  min-height: 36px !important;
  margin: 6px auto 0 !important;
  padding: 8px 17px !important;
  border: 0 !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-transform: none !important;
}

.ta-doc-library .ta-doc-generate {
  background: #c9a96e !important;
  color: #111 !important;
  cursor: pointer !important;
}

.ta-doc-library .ta-doc-generate:hover,
.ta-doc-library .ta-doc-generate:focus {
  background: #d8ba7e !important;
  color: #111 !important;
}

.ta-doc-library .ta-doc-locked {
  background: transparent !important;
  color: #484848 !important;
  cursor: not-allowed !important;
}

.ta-doc-library .ta-doc-card.is-locked {
  opacity: .62 !important;
}

/* Pre-rendered Forminator forms must never take up card/page space. */
.ta-doc-form-stash,
.ta-doc-form-stash[hidden],
.ta-doc-form-stash .ta-doc-stashed-form,
.ta-doc-form-stash .ta-doc-stashed-form[hidden] {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  left: -999999px !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

html.ta-doc-modal-open,
body.ta-doc-modal-open {
  overflow: hidden !important;
}

.ta-doc-modal {
  display: none !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  width: 100vw !important;
  height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ta-doc-modal.is-open {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.ta-doc-modal-backdrop {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: rgba(0,0,0,.78) !important;
}

.ta-doc-modal-dialog {
  position: relative !important;
  z-index: 2 !important;
  width: min(760px, calc(100vw - 28px)) !important;
  max-height: calc(100vh - 36px) !important;
  margin: 18px auto !important;
  padding: 34px 24px 24px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  background: #fff !important;
  color: #111 !important;
  border: 1px solid #c9a96e !important;
  border-radius: 12px !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.48) !important;
}

.ta-doc-modal-close {
  position: absolute !important;
  top: 8px !important;
  right: 10px !important;
  z-index: 5 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #222 !important;
  font-size: 30px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

.ta-doc-modal-content,
.ta-doc-modal-content > .ta-doc-stashed-form,
.ta-doc-modal-content .forminator-ui,
.ta-doc-modal-content .forminator-custom-form,
.ta-doc-modal-content form {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.ta-doc-modal-content > .ta-doc-stashed-form {
  display: block !important;
  visibility: visible !important;
  position: static !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  pointer-events: auto !important;
}

.ta-doc-modal-content input,
.ta-doc-modal-content select,
.ta-doc-modal-content textarea {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.ta-doc-error,
.ta-doc-loading {
  padding: 30px !important;
  text-align: center !important;
}

.ta-doc-save-note {
  margin-top: 8px !important;
  font-weight: 700 !important;
}
.ta-doc-save-note.success { color: #159447 !important; }
.ta-doc-save-note.error { color: #b42318 !important; }

/* User PDF table */
.ta-doc-table-wrap,
.ta-dm-table-wrap { overflow-x: auto !important; }
.ta-doc-table { width:100% !important; border-collapse:collapse !important; background:#151515 !important; color:#fff !important; }
.ta-doc-table th,
.ta-doc-table td { padding:10px !important; border-bottom:1px solid #303030 !important; text-align:left !important; }
.ta-doc-table th { color:#c9a96e !important; background:#0f0f0f !important; }
.ta-doc-table td { color:#fff !important; }
.ta-doc-table a { color:#2a9fe8 !important; }
.ta-doc-pagination { text-align:center !important; padding:12px 0 !important; }
.ta-doc-pagination button { margin:0 4px !important; padding:7px 11px !important; }

/* Frontend admin */
.ta-dm-tabs { display:flex; gap:10px; margin-bottom:16px; }
.ta-dm-tabs a { padding:8px 12px; text-decoration:none; border:1px solid #ccc; }
.ta-dm-tabs a.active { font-weight:700; background:#eee; }
.ta-dm-panel { background:#fff; color:#111; border:1px solid #ddd; border-radius:8px; padding:18px; margin:0 0 20px; }
.ta-dm-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.ta-dm-grid label { display:flex; flex-direction:column; gap:6px; font-weight:600; }
.ta-dm-grid input,
.ta-dm-grid select,
.ta-dm-grid textarea { width:100%; padding:8px; }
.ta-dm-full { grid-column:1/-1; }
.ta-dm-image-row { display:flex; gap:8px; }
.ta-dm-checks { display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; }

@media (max-width: 900px) {
  .ta-doc-library .ta-doc-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}

@media (max-width: 600px) {
  .ta-doc-library .ta-doc-grid { grid-template-columns: 1fr !important; }
  .ta-doc-modal-dialog { width:calc(100vw - 18px) !important; max-height:calc(100vh - 18px) !important; margin:9px auto !important; padding:32px 14px 18px !important; }
  .ta-dm-grid { grid-template-columns:1fr; }
}

/* v1.0.4 profile/document workflow notices */
.ta-doc-modal-notice {
    display: none;
    margin: 0 44px 16px 0;
    padding: 10px 12px;
    border-radius: 6px;
    font-size: 14px;
    line-height: 1.45;
    background: #f5f5f5;
    color: #222;
    border-left: 4px solid #c9a96e;
}
.ta-doc-modal-notice.info { background: #fff8e6; }
.ta-doc-modal-notice.success { background: #edf8ef; border-left-color: #2f8f46; }
.ta-doc-modal-notice.error { background: #fff0f0; border-left-color: #b32d2e; }
.ta-doc-generate:disabled { opacity: .65; cursor: wait; }

/* Native WordPress profile-completion gate v1.1.0 */
.ta-doc-modal-notice {
  display:none;
  margin:0 0 18px !important;
  padding:12px 14px !important;
  border-radius:7px !important;
  font-size:14px !important;
  line-height:1.45 !important;
}
.ta-doc-modal-notice.info { display:block; background:#fff7df !important; color:#5d4814 !important; border:1px solid #d4b869 !important; }
.ta-doc-modal-notice.success { display:block; background:#eaf8ee !important; color:#176b35 !important; border:1px solid #8bc99e !important; }
.ta-doc-modal-notice.error { display:block; background:#fff0ef !important; color:#9b231b !important; border:1px solid #e2a29d !important; }

.ta-profile-native-form,
.ta-profile-native-form[aria-hidden="false"] {
  width:100% !important;
  color:#111 !important;
}

.ta-profile-title {
  margin:0 0 8px !important;
  color:#9c8330 !important;
  font-size:23px !important;
  line-height:1.25 !important;
}

.ta-profile-intro {
  margin:0 0 18px !important;
  color:#333 !important;
  font-size:14px !important;
  line-height:1.55 !important;
}

.ta-profile-native-editor {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  width:100% !important;
}

.ta-profile-field {
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  margin:0 !important;
}

.ta-profile-field-label {
  color:#222 !important;
  font-size:13px !important;
  font-weight:700 !important;
}

.ta-profile-field input {
  width:100% !important;
  min-height:42px !important;
  margin:0 !important;
  padding:9px 11px !important;
  background:#fff !important;
  color:#111 !important;
  border:1px solid #b9aa7d !important;
  border-radius:5px !important;
  box-shadow:none !important;
}

.ta-profile-field input:focus {
  border-color:#c9a96e !important;
  box-shadow:0 0 0 1px #c9a96e !important;
  outline:none !important;
}

.ta-profile-actions {
  grid-column:1/-1 !important;
  padding-top:4px !important;
}

.ta-profile-save {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  padding:9px 18px !important;
  background:#c9a96e !important;
  color:#111 !important;
  border:0 !important;
  border-radius:4px !important;
  font-size:13px !important;
  font-weight:700 !important;
  cursor:pointer !important;
}

.ta-profile-save:hover,
.ta-profile-save:focus { background:#d8ba7e !important; color:#111 !important; }
.ta-profile-save:disabled { opacity:.65 !important; cursor:wait !important; }

@media(max-width:640px){
  .ta-profile-native-editor{grid-template-columns:1fr !important}
  .ta-profile-actions{grid-column:auto !important}
}
