.gres-wrap{max-width:900px}
.gres-card{background:#fff;border:1px solid #ddd;padding:14px;margin:12px 0;border-radius:8px}
.gres-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gres-grid label{display:block;font-weight:600;margin-bottom:6px}
.gres-grid input,.gres-grid select{width:100%;padding:8px;border:1px solid #bbb;border-radius:6px}
.gres-actions{margin:12px 0;display:flex;gap:10px}
.gres-total{font-size:18px;margin-top:10px}
.gres-small{font-size:13px;color:#333;margin-top:8px}

/* Inline field errors (show directly under the field, in red) */
.gres-field-error{display:none;margin-top:4px;font-size:12px;line-height:1.35;color:#b00020}
.gres-block-head{display:flex;align-items:center;justify-content:space-between}
.gres-courts{display:flex;flex-wrap:wrap;gap:8px}
.gres-court-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid #111;border-radius:999px;padding:6px 10px;cursor:pointer}
.gres-court-pill input{margin:0}
.gres-court-pill.is-disabled{opacity:.35;border-color:#555;cursor:not-allowed;pointer-events:none}
.gres-sum-line{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #eee}
.gres-sum-right{font-weight:700}
.gres-line{margin-top:10px}
.gres-loading{opacity:.75}

/* Other Items */
.gres-items{display:flex;flex-direction:column;gap:12px}
.gres-item label{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.gres-item-name{font-weight:600}
.gres-item-avail{font-weight:400;opacity:0.85}
.gres-item-qty{width:90px;max-width:120px}
.gres-item-inputs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.gres-item-mini{font-size:12px;opacity:0.85;min-width:28px;text-align:right}
.gres-item-hours{width:90px;max-width:120px}
.gres-item-hours-label{font-size:12px;opacity:0.85}
.gres-item-note{font-size:12px;margin-top:6px;opacity:0.95}
@media (max-width: 760px){
  .gres-grid{grid-template-columns:1fr}
}


/* Reservation Lookup shortcode */
.gres-lookup-wrap{max-width:900px;margin:20px auto;padding:10px}
.gres-lookup-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin:10px 0 15px}
.gres-lookup-form label{display:block;font-weight:600;margin-bottom:6px}
.gres-lookup-form input[type=email]{min-width:260px;max-width:420px;width:100%}
.gres-lookup-errors{background:#fff3cd;border:1px solid #ffeeba;padding:10px;border-radius:6px;margin:10px 0}
.gres-lookup-card{border:1px solid rgba(0,0,0,0.15);border-radius:8px;padding:12px;margin:12px 0;background:#ffffff}
.gres-lookup-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:6px}
.gres-lookup-id{font-weight:700}
.gres-lookup-status{text-transform:capitalize}
.gres-lookup-meta{display:flex;gap:20px;flex-wrap:wrap;margin:6px 0 10px}
.gres-lookup-section{margin-top:10px}
.gres-lookup-ul{margin:6px 0 0 18px}



/* === UI Controls (Admin-driven) === */
.gres-wrap h1,
.gres-wrap h2,
.gres-wrap h3,
.gres-wrap h4,
.gres-wrap .gres-title,
.gres-wrap .gres-heading,
.gres-wrap .gres-section-title {
  color: var(--gres-heading-color, #000000) !important;
}

.gres-wrap .gres-page-title,
.gres-wrap > h2,
.gres-wrap h2 {
  font-size: var(--gres-title-size, 28px) !important;
}

.gres-wrap h3,
.gres-wrap .gres-section-title,
.gres-wrap .gres-subheading {
  font-size: var(--gres-section-size, 18px) !important;
}

.gres-wrap .gres-theme-toggle {
  margin: 10px 0 15px 0;
  font-weight: var(--gres-button-weight, 600) !important;
}

/* Match button fonts with headings (optional) */
.gres-wrap button,
.gres-wrap .button,
.gres-wrap input[type="submit"] {
  font-weight: var(--gres-button-weight, 600) !important;
}

.gres-wrap .gres-btn-primary,
.gres-wrap #gres-add-court,
.gres-wrap #gres-pay-btn,
.gres-wrap .gres-theme-toggle {
  color: var(--gres-button-color, inherit) !important;
}

/* === Scoped Dark Theme (only inside .gres-wrap) === */
.gres-wrap.gres-theme-dark,
.gres-wrap.gres-theme-dark .gres-card,
.gres-wrap.gres-theme-dark .gres-box {
  background: #0f172a !important;
  color: #e5e7eb !important;
}

.gres-wrap.gres-theme-dark input,
.gres-wrap.gres-theme-dark select,
.gres-wrap.gres-theme-dark textarea {
  background: #111827 !important;
  color: #e5e7eb !important;
  border-color: #374151 !important;
}

.gres-wrap.gres-theme-dark label,
.gres-wrap.gres-theme-dark .description,
.gres-wrap.gres-theme-dark .gres-help {
  color: #e5e7eb !important;
}

.gres-wrap.gres-theme-dark .gres-section,
.gres-wrap.gres-theme-dark .gres-summary {
  border-color: #334155 !important;
}


.gres-approval-msg{margin-top:10px;padding:10px;border:1px solid #ccc;border-radius:6px;background:#fff3cd;color:#000;}


/* Collapsible Waiver / Court Rules */
.gres-collapse{border:1px solid #ddd; border-radius:10px; padding:10px; background:#fff;}
.gres-collapse > summary{cursor:pointer; font-size:16px;}
.gres-collapse-body{margin-top:10px;}
.gres-legal-text{font-size:14px; line-height:1.4;}
.gres-ack{display:block; margin-top:10px; font-weight:600;}
.gres-legal-missing{padding:10px; border:1px dashed #cc0000; border-radius:8px; background:#fff7f7;}


.gres-radio-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.gres-radio-row label{display:flex;gap:6px;align-items:center;}


/* My Reservations: Pay link (always visible) */
.gres-wrap .gres-pay-link{
  color:#2271b1 !important;
  font-weight:600;
  text-decoration:underline;
  cursor:pointer;
  opacity:1 !important;
  visibility:visible !important;
}
.gres-wrap .gres-pay-link:hover{
  color:#135e96 !important;
}


/* ===== Premium My Reservations Portal ===== */
.gres-myres{max-width:1100px;margin:0 auto;}
.gres-myres-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.gres-myres-title{margin:0;font-size:28px;letter-spacing:.2px;}

.gres-table-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;}
.gres-table-wrap table{max-width:100%;}
.gres-table-wrap th,.gres-table-wrap td{white-space:normal;word-break:normal;overflow-wrap:break-word;}
.gres-myres-table-wrap{width:100%;max-width:100%;display:block;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;}
/* =========================
   My Reservations Portal
   SaaS-level UI (cards + optional table)
   ========================= */

.gres-myres{max-width:1100px;margin:0 auto;}

/* View toggle */
.gres-myres-viewtoggle{display:flex;gap:8px;align-items:center;margin:10px 0 14px 0;}
.gres-view-btn{appearance:none;border:1px solid rgba(0,0,0,.15);background:#fff;padding:8px 10px;border-radius:999px;font-weight:800;font-size:13px;cursor:pointer;}
.gres-view-btn.is-active{background:#111;color:#fff;border-color:#111;}

/* Status badges */
.gres-status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-weight:900;font-size:12px;line-height:1;border:1px solid rgba(0,0,0,.10);white-space:nowrap;}
.gres-status-paid{background:#e7f7ee;}
.gres-status-request-payment{background:#fff3cd;}
.gres-status-awaiting-approval{background:#e7f1ff;}
.gres-status-pending{background:#f2f2f2;}
.gres-status-cancelled{background:#ffe6e6;}
.gres-soon-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-weight:900;font-size:11px;line-height:1;margin-left:8px;background:#e7f1ff;border:1px solid rgba(0,0,0,.10);white-space:nowrap;}

/* Cards */
.gres-myres-cards{display:grid;gap:14px;}
.gres-card{background:#fff;border:1px solid rgba(0,0,0,.10);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.06);padding:14px 14px 12px 14px;}
.gres-card-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;}
.gres-card-title{font-weight:900;font-size:14px;}
.gres-card-id{font-weight:1000;}
.gres-card-subtle{font-size:12px;opacity:.7;margin-top:4px;}

.gres-card-grid{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:10px;margin-top:12px;}
.gres-card-field{border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:10px 10px;}
.gres-card-k{font-size:11px;letter-spacing:.3px;font-weight:900;opacity:.65;text-transform:uppercase;margin-bottom:4px;}
.gres-card-v{font-weight:800;word-break:break-word;}

.gres-card-actions{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;margin-top:12px;flex-wrap:wrap;}

/* Buttons (theme-proof) */
.gres-btn{display:inline-flex !important;align-items:center;justify-content:center;gap:8px;border-radius:10px;font-weight:900;font-size:13px;text-decoration:none !important;white-space:nowrap;border:1px solid rgba(0,0,0,.14);padding:7px 11px !important;cursor:pointer;}
.gres-btn-pay,
.gres-myres a.gres-btn.gres-btn-pay{background:var(--gres-pay-btn-bg,#2271b1) !important;color:#fff !important;border-color:var(--gres-pay-btn-bg,#2271b1) !important;min-width:132px;text-align:center;}
.gres-myres a.gres-btn.gres-btn-pay:hover{background:var(--gres-pay-btn-bg,#2271b1) !important;color:#fff !important;opacity:1 !important;}

/* Details */
.gres-details{margin-top:0;}
.gres-details summary{cursor:pointer;font-weight:900;user-select:none;}
.gres-details-body{padding:10px 0 2px 0;}

/* Optional table view */
/* Keep the table aligned with the page (no fixed widths). Allow it to expand based on content,
   and provide horizontal/vertical scrollbars when needed to view more info. */
.gres-myres-table-wrap{width:100%;max-width:100%;display:block;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;}
/* Let the table size to its content while still filling the container when content is small */
.gres-myres-table{border-collapse:separate;border-spacing:0;table-layout:auto;width:max-content;min-width:100%;max-width:none;}
.gres-myres-table thead th{position:sticky;top:0;background:#fbfbfb;z-index:1;text-align:left;font-weight:900;font-size:13px;letter-spacing:.2px;padding:14px 14px;border-bottom:1px solid rgba(0,0,0,.08);white-space:normal;word-break:keep-all;overflow-wrap:normal;}
.gres-myres-table tbody td{padding:14px 14px;border-bottom:1px solid rgba(0,0,0,.06);vertical-align:top;white-space:normal;word-break:keep-all;overflow-wrap:normal;}
.gres-myres-table tbody tr:hover td{background:rgba(0,0,0,.015);}
.gres-myres-table tbody tr:last-child td{border-bottom:none;}
.gres-myres-table th:last-child,.gres-myres-table td:last-child{white-space:nowrap;}

@media (max-width: 980px){
  .gres-card-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
}

@media (max-width: 640px){
  .gres-card-grid{grid-template-columns:1fr;}
  .gres-card-actions{flex-direction:column;align-items:stretch;}
  .gres-btn{width:100%;}
  .gres-myres-viewtoggle{justify-content:flex-start;}
}


/* Reservation Login */
.gres-login-wrap{max-width:520px;margin:18px auto;padding:18px;border-radius:12px;background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 6px 18px rgba(0,0,0,.06)}
.gres-login-title{margin:0 0 6px 0;font-size:22px;line-height:1.2}
.gres-login-msg{margin:0 0 14px 0;color:#444}
.gres-login-wrap #gres-loginform{margin-top:10px}
.gres-login-wrap #gres-loginform p{margin:10px 0}
.gres-login-wrap #gres-loginform label{font-weight:600;display:block;margin-bottom:6px}
.gres-login-wrap #gres-loginform input[type="text"],
.gres-login-wrap #gres-loginform input[type="password"]{width:100%;max-width:100%;padding:10px 12px;border:1px solid rgba(0,0,0,.18);border-radius:8px}
.gres-login-wrap #gres-loginform input[type="submit"]{background:#2271b1;color:#fff;border:0;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}
.gres-login-links{margin-top:12px}
.gres-login-links a{text-decoration:underline}



/* Portal header + login/logout buttons */
.gres-portal-head,
.gres-myres-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.gres-portal-actions,
.gres-myres-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.gres-portal-topbtn{
  display:inline-block;
  padding:8px 12px;
  border-radius:12px;
  font-weight:700;
  text-decoration:none !important;
  border:1px solid rgba(0,0,0,0.12);
  line-height:1;
  box-shadow:0 1px 2px rgba(0,0,0,0.06);
}
.gres-portal-login{
  background:var(--gres-login-btn-bg,#2563eb);
  color:#fff !important;
  border-color:var(--gres-login-btn-bg,#2563eb);
}
.gres-portal-logout{
  background:#f3f4f6;
  color:#111 !important;
}
.gres-portal-topbtn:hover,
.gres-portal-topbtn:focus{
  opacity:1;
  filter:none;
}


/* Generic button links */
.gres-btn{
  display:inline-block;
  padding:10px 14px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.12);
  text-decoration:none !important;
  font-weight:600;
}
.gres-btn-secondary{
  background:#fff;
  color:#111 !important;
}
.gres-btn-secondary:hover,
.gres-btn-secondary:focus{
  background:#f5f7fb;
  color:#111 !important;
}


/* Email-first router (login) */
.gres-alert { padding: 10px 12px; border-radius: 10px; margin: 10px 0; font-weight: 600; }
.gres-alert-error { background: #fff2f2; border: 1px solid #f3b1b1; color: #7a1d1d; }
.gres-router-form .input { width: 100%; max-width: 420px; padding: 10px 12px; border-radius: 10px; border: 1px solid #cfd6df; }
.gres-field-label { display:block; margin-top: 10px; margin-bottom: 6px; font-weight: 700; }


/* Back to Reservations link: black, clickable, no hover effect */
.gres-back-to-reservations {
  color: #000 !important;
  text-decoration: none !important;
  font-weight: 600;
}
.gres-back-to-reservations:hover,
.gres-back-to-reservations:focus,
.gres-back-to-reservations:active {
  color: #000 !important;
  text-decoration: none !important;
  opacity: 1 !important;
}

/* Goldusters login button: lock hover color (no hover shift) */
.gres-goldusters-login #gres-gold-loginform .button-primary,
.gres-goldusters-login #gres-gold-loginform input[type=submit],
.gres-goldusters-login #gres-gold-loginform button,
.gres-goldusters-login #gres-gold-loginform input[type=button] {
  background: var(--gres-gold-btn-bg, #2563eb) !important;
  border-color: var(--gres-gold-btn-bg, #2563eb) !important;
  color: #fff !important;
}
.gres-goldusters-login #gres-gold-loginform .button-primary:hover,
.gres-goldusters-login #gres-gold-loginform input[type=submit]:hover,
.gres-goldusters-login #gres-gold-loginform button:hover,
.gres-goldusters-login #gres-gold-loginform input[type=button]:hover,
.gres-goldusters-login #gres-gold-loginform .button-primary:focus,
.gres-goldusters-login #gres-gold-loginform input[type=submit]:focus,
.gres-goldusters-login #gres-gold-loginform button:focus,
.gres-goldusters-login #gres-gold-loginform input[type=button]:focus {
  background: var(--gres-gold-btn-bg-hover, #1d4ed8) !important;
  border-color: var(--gres-gold-btn-bg-hover, #1d4ed8) !important;
  color: #fff !important;
  filter: none !important;
  opacity: 1 !important;
}
.gres-goldusters-login-btn:hover,
.gres-goldusters-login-btn:focus,
.gres-goldusters-login-btn:active {
  filter: none !important;
  opacity: 1 !important;
}


/* Availability Suggestions (Phase 3A-1) */
.gres-suggestions{ margin-top:10px; padding:10px; border:1px dashed #ccc; border-radius:10px; background:#fff; }
.gres-sug-title{ font-weight:600; margin-bottom:8px; }
.gres-sug-list{ display:flex; flex-wrap:wrap; gap:8px; }
.gres-sug-btn{ white-space:normal; text-align:left; }


/* ===== My Reservations Table View â€“ flexible width + scroll ===== */
.gres-myres-table-wrap{width:100%;max-width:100%;display:block;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.gres-myres-table-wrap .gres-table-wrap{display:block;width:100% !important;max-width:100% !important;overflow:auto !important;-webkit-overflow-scrolling:touch;}
.gres-myres-table-wrap .gres-table-wrap table{width:max-content !important;min-width:100% !important;max-width:none !important;table-layout:auto !important;}
.gres-myres-table-wrap .gres-table-wrap th,
.gres-myres-table-wrap .gres-table-wrap td{white-space:normal !important;word-break:normal !important;overflow-wrap:break-word !important;}


/* ===== My Reservations Table View: TRUE flexible width + scroll (override theme widefat) ===== */
.gres-myres #gresMyResTable.gres-table-wrap{max-width:100% !important; overflow-x:auto !important; overflow-y:auto !important;}

/* Let table size to content (no fixed/narrow columns). Wrapper provides scrollbars. */
.gres-myres #gresMyResTable.gres-table-wrap table.gres-myres-table{
  table-layout:auto !important;
  width:max-content !important;
  min-width:100% !important;
  max-width:none !important;
}

/* Prevent letter-by-letter stacking from theme rules like word-break:break-all */
.gres-myres #gresMyResTable.gres-table-wrap table.gres-myres-table th,
.gres-myres #gresMyResTable.gres-table-wrap table.gres-myres-table td{
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}

/* Keep action column from shrinking too much */
.gres-myres #gresMyResTable.gres-table-wrap table.gres-myres-table th[data-col="actions"],
.gres-myres #gresMyResTable.gres-table-wrap table.gres-myres-table td[data-col="actions"]{
  min-width:120px !important;
}



/* ===== My Reservations Table Reset (no fixed width, scrollable wrapper) ===== */
#gresMyResTable .gres-myres-table-wrap{
  width:100% !important;
  max-width:100% !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch;
}

#gresMyResTable table.gres-myres-table{
  width:100% !important;
  /* allow natural column sizing; prevent cramped fixed-layout columns */
  table-layout:auto !important;
  /* ensure table can expand when content needs it (wrapper will scroll) */
  min-width:900px !important;
  max-width:none !important;
}

#gresMyResTable table.gres-myres-table th,
#gresMyResTable table.gres-myres-table td{
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
}

#gresMyResTable table.gres-myres-table td[data-col="date_time"],
#gresMyResTable table.gres-myres-table td[data-col="payment_due"],
#gresMyResTable table.gres-myres-table th[data-col="date_time"],
#gresMyResTable table.gres-myres-table th[data-col="payment_due"]{
  min-width:180px !important;
}
/* ===============================
   GOLDUSTERS BLACK + GOLD THEME
   (NO LOGIC CHANGE)
================================ */

.gres-wrap{
  --gold:#FBB040;
  --gold-soft:rgba(251,176,64,.35);
  --black:#050505;
  --panel:#0b0b0d;
  --border:rgba(251,176,64,.45);
  --text:#f5e6b8;

  background: radial-gradient(circle at top left, rgba(251,176,64,.08), transparent 30%),
              linear-gradient(135deg,#000,#0a0a0a,#140d02);
  padding:20px;
  border-radius:18px;
  border:1px solid var(--border);
}

/* ===== CARDS ===== */
.gres-card{
  background: linear-gradient(135deg,#000,#120c02) !important;
  border:1px solid var(--border) !important;
  border-radius:16px !important;
  box-shadow:0 12px 30px rgba(0,0,0,.6);
  color:var(--text) !important;
}

/* ===== HEADINGS ===== */
.gres-wrap h1,
.gres-wrap h2,
.gres-wrap h3{
  color:var(--gold) !important;
  letter-spacing:.5px;
}

/* ===== INPUTS ===== */
.gres-wrap input,
.gres-wrap select,
.gres-wrap textarea{
  background:#050505 !important;
  border:1px solid var(--border) !important;
  color:#fff !important;
  border-radius:10px !important;
}

.gres-wrap input:focus,
.gres-wrap select:focus{
  outline:none;
  border-color:var(--gold) !important;
  box-shadow:0 0 8px rgba(251,176,64,.6);
}

/* ===== LABELS ===== */
.gres-wrap label{
  color:var(--text) !important;
}

/* ===== BUTTONS ===== */
.gres-btn,
.gres-wrap button,
.gres-wrap input[type="submit"]{
  background:linear-gradient(135deg,#FBB040,#c8921a) !important;
  color:#000 !important;
  border:none !important;
  border-radius:12px !important;
  font-weight:800;
  box-shadow:0 4px 12px rgba(251,176,64,.4);
  transition:.2s ease;
}

.gres-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(251,176,64,.6);
}

/* ===== COURT PILLS ===== */
.gres-court-pill{
  background:#000;
  border:1px solid var(--border) !important;
  color:var(--gold);
}

.gres-court-pill input{
  accent-color:var(--gold);
}

/* ===== SUMMARY ===== */
.gres-sum-line{
  border-bottom:1px solid rgba(251,176,64,.25) !important;
  color:#fff;
}

.gres-sum-right{
  color:var(--gold);
}

/* ===== LOOKUP CARDS ===== */
.gres-lookup-card{
  background:linear-gradient(135deg,#000,#120c02) !important;
  border:1px solid var(--border) !important;
  color:#fff;
}

/* ===== STATUS BADGES ===== */
.gres-status-badge{
  border:1px solid var(--border) !important;
  font-weight:800;
}

.gres-status-paid{
  background:rgba(34,197,94,.15);
  color:#22c55e;
}

.gres-status-request-payment{
  background:rgba(251,176,64,.15);
  color:var(--gold);
}

/* ===== LOGIN BOX ===== */
.gres-login-wrap{
  background:linear-gradient(135deg,#000,#120c02) !important;
  border:1px solid var(--border) !important;
  color:#fff;
}

/* ===== LINKS ===== */
.gres-wrap a{
  color:var(--gold) !important;
}

/* ===== TABLE ===== */
.gres-myres-table thead th{
  background:#0a0a0a !important;
  color:var(--gold) !important;
  border-bottom:1px solid var(--border) !important;
}

.gres-myres-table tbody td{
  background:#050505 !important;
  color:#fff;
}

/* ===== GOLD GLOW EFFECT ===== */
.gres-card:hover{
  box-shadow:0 0 20px rgba(251,176,64,.35);
}
/* =========================
   GOLDUSTERS FOOTNOTE FIX
   ========================= */

/* Fix small notes / footnotes */
.gres-wrap .gres-small{
  color:#ffffff !important;
  opacity:1 !important;
}

/* Fix legal / waiver text */
.gres-wrap .gres-legal-text{
  color:#ffffff !important;
}

/* Fix item notes */
.gres-wrap .gres-item-note{
  color:#ffffff !important;
  opacity:1 !important;
}

/* Fix approval / notice messages */
.gres-wrap .gres-approval-msg{
  color:#000 !important; /* stays readable on yellow */
}

/* Force ALL small text inside plugin to be readable */
.gres-wrap small,
.gres-wrap .description,
.gres-wrap .note,
.gres-wrap p{
  color:#ffffff !important;
}
/* =========================
   GOLDUSTERS CLEAN UI SYSTEM (FINAL)
   ========================= */

.gres-wrap{
  --gold:#FBB040;
  --text-light:#ffffff;
  --text-dark:#111111;
  --panel-dark:#0b0b0d;
  --panel-light:#ffffff;
}

/* ===== GLOBAL TEXT FIX ===== */
.gres-wrap{
  color:var(--text-light) !important;
}

/* ===== HEADINGS ===== */
.gres-wrap h1,
.gres-wrap h2,
.gres-wrap h3,
.gres-wrap h4{
  color:var(--gold) !important;
}

/* Sub headings / labels */
.gres-wrap label,
.gres-wrap .gres-title,
.gres-wrap .gres-heading,
.gres-wrap .gres-section-title{
  color:var(--text-light) !important;
}

/* ===== PARAGRAPH / NOTES ===== */
.gres-wrap p,
.gres-wrap small,
.gres-wrap .gres-small,
.gres-wrap .gres-item-note,
.gres-wrap .gres-legal-text{
  color:var(--text-light) !important;
  opacity:1 !important;
}

/* ===== LIGHT BACKGROUND AREAS ===== */
.gres-lookup-errors,
.gres-collapse,
.gres-login-wrap,
.gres-suggestions{
  background:var(--panel-light) !important;
  color:var(--text-dark) !important;
}

/* Fix text inside white areas */
.gres-lookup-errors *,
.gres-collapse *,
.gres-login-wrap *,
.gres-suggestions *{
  color:var(--text-dark) !important;
}

/* ===== DARK CARD AREAS ===== */
.gres-card,
.gres-wrap{
  background:linear-gradient(135deg,#000,#120c02) !important;
  color:var(--text-light) !important;
}

/* ===== INPUTS ===== */
.gres-wrap input,
.gres-wrap select,
.gres-wrap textarea{
  background:#050505 !important;
  color:#ffffff !important;
}

/* ===== BUTTONS ===== */
.gres-wrap button,
.gres-wrap .gres-btn{
  color:#000 !important;
}

/* ===== REMOVE FADE ISSUES ===== */
.gres-wrap *{
  opacity:1 !important;
  filter:none !important;
}

/* ===== KILL OLD VARIABLE CONFLICT ===== */
.gres-wrap{
  --gres-heading-color: var(--gold) !important;
}
/* =========================
   GOLDUSTERS CLEAN FINAL (NO CONFLICTS)
   ========================= */

.gres-wrap{
  --gold:#FBB040;
  --bg:#050505;
  --panel:#0b0b0d;
  --border:rgba(251,176,64,.4);
  --text:#ffffff;
}

/* ===== BASE ===== */
.gres-wrap{
  color:var(--text);
}

/* ===== CARDS ===== */
.gres-card{
  background:linear-gradient(135deg,#000,#120c02) !important;
  border:1px solid var(--border) !important;
  color:#fff !important;
}

/* ===== HEADINGS ===== */
.gres-wrap h1,
.gres-wrap h2,
.gres-wrap h3{
  color:var(--gold) !important;
}

/* ===== TEXT ===== */
.gres-wrap p,
.gres-wrap label,
.gres-wrap .gres-small,
.gres-wrap .gres-item-note{
  color:#ffffff !important;
}

/* ===== INPUTS ===== */
.gres-wrap input,
.gres-wrap select,
.gres-wrap textarea{
  background:#050505 !important;
  color:#fff !important;
  border:1px solid var(--border) !important;
}

/* ================= WAIVER FIX ================= */

.gres-wrap .gres-collapse{
  background:#0b0b0d !important;
  border:1px solid var(--border) !important;
  color:#fff !important;
}

.gres-wrap .gres-collapse summary{
  color:var(--gold) !important;
  font-weight:800;
}

.gres-wrap .gres-collapse-body{
  color:#fff !important;
}

/* Kill white backgrounds inside waiver */
.gres-wrap .gres-collapse *{
  background:transparent !important;
  color:#fff !important;
}
/* =========================
   FINAL NOTICE BOX FIX
   ========================= */

.gres-wrap .gres-item-note{
  background: #0b0b0d !important;
  border: 1px solid rgba(251,176,64,.35) !important;
  border-radius: 12px;
  padding: 12px 14px;
  color: #ffffff !important;
  font-size: 14px;
  line-height: 1.5;
  opacity: 1 !important;
  box-shadow: 0 0 10px rgba(251,176,64,.15);
}

/* 3. TARGET THAT SPECIFIC MESSAGE BOX */
.gres-wrap .gres-item-note,
.gres-wrap p,
.gres-wrap div {
  color: #ffffff !important;
  opacity: 1 !important;
}

/* 4. FIX ANY HIDDEN CONTAINER */
.gres-wrap .gres-card,
.gres-wrap .gres-box,
.gres-wrap .gres-section {
  opacity: 1 !important;
  color: #ffffff !important;
}

/* 5. KEEP GOLD HEADINGS (override plugin variable system) */
.gres-wrap {
  --gres-heading-color: #FBB040 !important;
}
//* ===============================
   FIX ALL MAIN HEADINGS
================================ */

.gres-wrap h1,
.gres-wrap h2,
.gres-wrap h3 {
  color: #FBB040 !important;
  font-weight: 900 !important;
  font-size: 26px !important;
  margin-bottom: 12px !important;
  display: block !important;
  visibility: visible !important;
}

/* Add gold underline accent */
.gres-wrap h2::after,
.gres-wrap h3::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: #FBB040;
  margin-top: 6px;
  border-radius: 2px;
}

/* Remove blue highlight / selection look */
.gres-wrap h2::selection {
  background: transparent !important;
  color: #FBB040 !important;
}

/* Kill any inline highlight */
.gres-wrap h2 {
  box-shadow: none !important;
}
.gres-wrap h2{
  color:#FBB040 !important;
  font-weight:900;
  font-size:26px;
  margin-bottom:12px;
  position:relative;
}

.gres-wrap h2::after{
  content:"";
  display:block;
  width:60px;
  height:3px;
  background:#FBB040;
  margin-top:6px;
  border-radius:2px;
}
/* ===============================
   GOLDUSTERS HERO HEADER
================================ */

.g-header-wrap{
  max-width:900px;
  margin:20px auto 10px auto;
  padding:22px 20px;
  text-align:center;

  border-radius:20px;
  border:1px solid rgba(251,176,64,.35);

  background:
    radial-gradient(circle at top, rgba(251,176,64,.15), transparent 40%),
    linear-gradient(135deg,#000,#0a0a0a,#1a1206);

  box-shadow:0 15px 40px rgba(0,0,0,.5);
}

/* MAIN TITLE */
.g-header-title{
  font-size:32px;
  font-weight:900;
  color:#FBB040;
  letter-spacing:.6px;
  margin-bottom:14px;

  text-shadow:0 0 12px rgba(251,176,64,.5);
}

/* BUTTON */
.g-header-actions{
  margin-bottom:14px;
}

.g-header-btn{
  display:inline-block;
  padding:10px 18px;

  background:linear-gradient(135deg,#FBB040,#c8921a);
  color:#000 !important;

  border-radius:12px;
  font-weight:800;
  text-decoration:none;

  box-shadow:0 5px 15px rgba(251,176,64,.5);
  transition:.2s ease;
}

.g-header-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(251,176,64,.7);
}

/* DESCRIPTION */
.g-header-sub{
  color:#ffffff;
  font-size:15px;
  margin-bottom:6px;
}

/* NOTE */
.g-header-note{
  color:#dba6ff; /* slight purple highlight like your current */
  font-weight:600;
  font-size:14px;
}
.g-header-icon{
  font-size:28px;
  margin-right:8px;
  filter: drop-shadow(0 0 6px rgba(251,176,64,.6));
}
/* ===============================
   FIX CALENDAR VISIBILITY
================================ */

/* Calendar container */
.gres-calendar,
.gres-calendar table {
  background: #ffffff !important;
  color: #000000 !important;
}

/* Calendar headers (Sunâ€“Sat) */
.gres-calendar th {
  background: #f5f5f5 !important;
  color: #000 !important;
  font-weight: 700;
}

/* Calendar cells */
.gres-calendar td {
  background: #ffffff !important;
  color: #000 !important;
  border: 1px solid #ddd !important;
}

/* Calendar numbers (dates) */
.gres-calendar td span,
.gres-calendar td div {
  color: #000 !important;
}

/* Status dots text (Paid/Pending/etc) */
.gres-calendar .legend,
.gres-calendar .legend span {
  color: #fff !important; /* keep readable on dark header */
}
//* ===============================
   FIX EMPTY STATE TEXT
================================ */

.gres-empty,
.gres-no-results,
.gres-table-empty,
.gres-wrap td:empty::after {
  content: "";
  color: #000 !important;
  font-weight: 600;
}

/* If it's inside a white box */
.gres-results-container,
.gres-table-wrap {
  background: #fff !important;
  color: #000 !important;
}

/* ===============================
   FINAL CALENDAR FIX (WORKING)
================================ */

/* Force calendar cells */
.gres-calendar table td {
  background: #0b0b0b !important;
  border: 1px solid rgba(251,176,64,0.25) !important;
  position: relative;
}

/* FORCE DAY NUMBER (this is the key fix) */
.gres-calendar table td * {
  color: #ffffff !important;
  opacity: 1 !important;
}

/* Specifically target day number (common patterns) */
.gres-calendar td .day,
.gres-calendar td .date,
.gres-calendar td strong,
.gres-calendar td b,
.gres-calendar td:first-child,
.gres-calendar td::first-line {
  color: #FBB040 !important;
  font-weight: 800 !important;
}

/* Header (Sunâ€“Sat) */
.gres-calendar th {
  background: #111 !important;
  color: #FBB040 !important;
  font-weight: 800 !important;
}
/* ===============================
   FORCE SHOW MAIN HEADING (FIX)
================================ */

.gres-wrap h1,
.gres-wrap h2,
.gres-wrap h3 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;

  color: #FBB040 !important;
  font-weight: 900 !important;
  font-size: 28px !important;

  background: none !important;
  -webkit-text-fill-color: #FBB040 !important; /* ðŸ”¥ fixes hidden text */
}

/* Kill any Elementor or theme clipping */
.gres-wrap h2 span,
.gres-wrap h2 * {
  color: #FBB040 !important;
  -webkit-text-fill-color: #FBB040 !important;
}

/* Remove weird overlay highlight */
.gres-wrap h2::before,
.gres-wrap h2::after {
  opacity: 1 !important;
}
/* ===============================
   HARD FORCE CALENDAR VISIBILITY
================================ */

/* Target ALL tables inside reservation UI */
.gres-wrap table td {
  background: #0b0b0b !important;
  border: 1px solid rgba(251,176,64,0.25) !important;
  position: relative;
}

/* ðŸ”¥ THIS FIXES MISSING DATES */
.gres-wrap table td * {
  color: #ffffff !important;
  opacity: 1 !important;
}

/* Day numbers (top of cell) */
.gres-wrap table td:first-child,
.gres-wrap table td::first-line {
  color: #FBB040 !important;
  font-weight: 900 !important;
}

/* Headers (Sunâ€“Sat) */
.gres-wrap table th {
  background: #111 !important;
  color: #FBB040 !important;
  font-weight: 800 !important;
}

/* Fix small text inside cells */
.gres-wrap table td small,
.gres-wrap table td p {
  color: #ccc !important;
}
/* ===============================
   FIX EMPTY STATE VISIBILITY
================================ */

.gres-empty-state{
  display:block !important;
  background:#ffffff !important;   /* force visible box */
  color:#000000 !important;        /* black text as requested */
  font-weight:700;
  text-align:center;
  padding:20px;
  border-radius:12px;
  border:1px solid #ddd;
}
/* ===============================
   FORCE EMPTY STATE VISIBLE (FINAL FIX)
================================ */

.gres-empty-state{
  background:#f1f1f1 !important;
  color:#000000 !important;
  font-weight:700 !important;
  text-align:center;
  padding:18px;
  border-radius:12px;
  border:1px solid #ddd;
}

/* 🔥 FORCE ALL TEXT INSIDE TO BE BLACK */
.gres-empty-state,
.gres-empty-state *{
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
}
/* ===============================
   FIX COLUMN TOGGLE BAR ONLY
================================ */

/* Container */
.gres-table-tools{
  background:#ffffff !important;
  color:#000000 !important;
  border:1px solid #ddd !important;
}

/* Labels (Date/Time, Location, etc) */
.gres-table-tools label{
  background:transparent !important;
  color:#000000 !important;
  font-weight:600;
}

/* Checkboxes */
.gres-table-tools input[type="checkbox"]{
  accent-color:#FBB040 !important; /* Goldusters gold */
}

/* Kill WordPress blue highlight */
.gres-table-tools label,
.gres-table-tools input{
  box-shadow:none !important;
}

/* If anything still forcing blue */
.gres-table-tools *{
  color:#000000 !important;
  background:transparent !important;
}
/* ===============================
   FIX CARD VIEW TEXT VISIBILITY
================================ */

/* Force readable text inside cards */
#gresMyResCards .gres-res-card{
  background:#ffffff !important;
  color:#000000 !important;
}

/* Headings */
#gresMyResCards .gres-res-card h3{
  color:#000000 !important;
  font-weight:700;
}

/* Labels (Time, Resource, etc) */
#gresMyResCards .gres-res-meta .k{
  color:#666 !important;
}

/* Values */
#gresMyResCards .gres-res-meta div{
  color:#000000 !important;
}

/* Details text */
#gresMyResCards .gres-res-details{
  color:#000000 !important;
}

/* Buttons inside cards */
#gresMyResCards .button{
  color:#000 !important;
}

/* Nuclear fallback if anything still hidden */
#gresMyResCards *{
  -webkit-text-fill-color:unset !important;
}
/* ===============================
   FIX "COLUMNS" LABEL VISIBILITY
================================ */

.gres-table-tools div{
  color:#000 !important;
  font-weight:700;
}

/* Also ensure checkboxes labels visible */
.gres-table-tools label{
  color:#000 !important;
}