/* PSMS Frontend skin to match WAX dark theme */

.psms-frontend {
  color: #fff;
}

.psms-frontend a {
  color: inherit;
  text-decoration: none;
}

/* =========================
   Filters
========================= */

.psms-frontend .psms-filters {
  display: flex;
  gap: 14px;
  align-items: flex-end;
  flex-wrap: wrap;
  margin: 0 0 24px 0;
}

.psms-frontend .psms-filters label {
  display: inline-flex;
  flex-direction: column;
  gap: 8px;
}

.psms-frontend .psms-filters label span {
  color: rgba(255,255,255,0.7);
  line-height: 1.1;
  font-size: 14px;
}

.psms-frontend .psms-filters select {
  background: #0d0d0d;
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 8px;
  padding: 10px 14px;
  min-width: 180px;
}

/* =========================
   Buttons – WAX Style
========================= */

.psms-frontend .button,
.psms-frontend button,
.psms-frontend input[type="submit"] {
  padding: 12px 24px !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

.psms-frontend .psms-myshifts-cta {
  margin: 30px 0 0 0 !important;
  display: block;
}

/* =========================
   Shift cards
========================= */

.psms-frontend .psms-shift {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.14);
  color: #fff;
  border-radius: 16px;
  padding: 24px !important; /* Increased padding */
  margin-bottom: 20px !important;
  box-sizing: border-box !important; /* Prevents overflow */
}

.psms-frontend .psms-shift.is-focused {
  border-color: rgba(255,255,255,0.35);
  box-shadow: 0 0 0 2px rgba(255,255,255,0.08);
}

.psms-frontend .psms-shift-top {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.psms-frontend .psms-shift-title strong {
  display: block;
  font-size: 20px;
  color: #fff;
}

.psms-frontend .psms-shift-sub {
  opacity: .85;
  margin-top: 8px;
  font-size: 15px;
}

.psms-frontend .psms-shift-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

.psms-frontend .psms-shift-meta {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,0.08);
  opacity: .92;
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.psms-frontend .psms-shift-notes {
  margin-top: 16px;
  line-height: 1.5;
}

/* =========================
   Status pills
========================= */

.psms-frontend .psms-status {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.9);
  border: 1px solid rgba(255,255,255,0.14);
  font-size: 13px;
  line-height: 1;
}

.psms-frontend .psms-status.is-approved { border-color: rgba(34,197,94,0.7); }
.psms-frontend .psms-status.is-pending  { border-color: rgba(59,130,246,0.7); }
.psms-frontend .psms-status.is-denied   { border-color: rgba(239,68,68,0.7); }
.psms-frontend .psms-status.is-cancelled,
.psms-frontend .psms-status.is-full     { border-color: rgba(255,255,255,0.22); }

.psms-frontend .psms-status.is-locked {
  background: rgba(255, 152, 0, 0.1);
  border-color: #ff9800;
  color: #ff9800;
  font-weight: 600;
}

/* =========================
   Forms inside Shift Cards
========================= */
.psms-frontend .psms-request-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  max-width: 400px;
}

.psms-frontend .psms-note-input {
  background: rgba(255,255,255,0.05) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  width: 100% !important;
  margin: 12px 0 !important; /* Adds space around the text box */
  box-sizing: border-box !important;
}

.psms-frontend .psms-request-form .button {
  align-self: flex-start;
}

/* =========================
   Woo tables inside My Account
   (FIXED PADDING AND BORDERS)
========================= */

/* Making selectors stronger to beat Woo default theme styles */
.psms-frontend table.shop_table,
.woocommerce table.my_account_orders {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: #fff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
  margin-bottom: 24px !important;
}

.psms-frontend table.shop_table thead th,
.woocommerce table.my_account_orders thead th {
  background: rgba(255,255,255,0.05) !important;
  color: rgba(255,255,255,0.9) !important;
  padding: 20px 24px !important; /* Force internal breathing room */
  text-align: left !important;
  border: none !important;
}

.psms-frontend table.shop_table tbody td,
.woocommerce table.my_account_orders tbody td {
  padding: 20px 24px !important; /* Force internal breathing room */
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  vertical-align: middle !important;
}

.psms-frontend .psms-ics-link {
  font-size: 12px;
  color: #a3a3a3;
  text-decoration: none;
  display: inline-block;
  margin-top: 8px;
}

.psms-frontend .psms-ics-link:hover {
  color: #fff;
}

.psms-frontend .woocommerce-info,
.psms-frontend .woocommerce-message {
  background: rgba(255,255,255,0.05);
  border-left: 4px solid rgba(255,255,255,0.30);
  color: rgba(255,255,255,0.92);
  padding: 16px 24px !important;
  border-radius: 4px;
}

/* =========================
   MOBILE RESPONSIVE FIXES
========================= */

@media screen and (max-width: 768px) {
  
  /* Fix Shift Cards on Mobile */
  .psms-frontend .psms-shift {
    padding: 20px !important; 
  }
  
  .psms-frontend .psms-shift-top {
    flex-direction: column;
    align-items: flex-start;
  }
  
  .psms-frontend .psms-shift-actions {
    margin-top: 12px;
    width: 100%;
  }

  .psms-frontend .psms-request-form {
    max-width: 100%;
  }

  /* Restore WooCommerce Responsive Tables (Un-break Paddings) */
  .psms-frontend table.shop_table_responsive tr,
  .woocommerce-account table.shop_table_responsive tr {
    display: block !important;
    background: rgba(255,255,255,0.03) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 12px !important;
    margin-bottom: 20px !important;
    padding: 8px 0 !important;
  }

  .psms-frontend table.shop_table_responsive td,
  .woocommerce-account table.shop_table_responsive td {
    display: block !important;
    text-align: right !important;
    padding: 16px 20px !important; /* Force space around text */
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
    border-top: none !important;
    box-sizing: border-box !important;
    clear: both !important;
    width: 100% !important;
  }

  /* Hide the double borders on the last row */
  .psms-frontend table.shop_table_responsive td:last-child,
  .woocommerce-account table.shop_table_responsive td:last-child {
    border-bottom: none !important;
  }

  /* Style the dynamic labels WooCommerce adds to mobile tables */
  .psms-frontend table.shop_table_responsive td::before,
  .woocommerce-account table.shop_table_responsive td::before {
    content: attr(data-title) !important;
    float: left !important;
    font-weight: 600 !important;
    color: rgba(255,255,255,0.6) !important;
    text-transform: uppercase;
    font-size: 12px;
  }

  /* Hide standard borders on the wrapper table to avoid double-boxing */
  .psms-frontend table.shop_table, 
  .woocommerce-account table.shop_table {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
  }

  .psms-frontend table.shop_table thead,
  .woocommerce-account table.shop_table thead {
    display: none !important;
  }
}