/* Dive Booker — front-end styles */

.dive-trips-table-container table { width:100%; border-collapse:collapse; }
.dive-trips-table-container th, .dive-trips-table-container td { padding:1px 2px; border-bottom:1px solid #eee; vertical-align: middle; text-align: center; }
.full-slot { background-color: red !important; color: white !important; font-weight:bold; }
.dive-trips-table-container th:nth-child(3),
.dive-trips-table-container td:nth-child(3) { text-align: center; font-weight: bold; }
.action-text-link { background: none !important; border: none !important; padding: 0 !important; margin: 0 !important; color: #2271b1 !important; text-decoration: underline !important; cursor: pointer !important; font: inherit !important; text-transform: none !important; display: inline !important; line-height: inherit !important; vertical-align: baseline !important; box-shadow: none !important; }

.dt-simple-view-outer { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.dt-simple-view-wrapper { display: flex; flex-wrap: nowrap; gap: 10px; border-top: 2px solid #333; padding-top: 5px; font-size: 1em; min-width: max-content; }
.dt-col-main { min-width: 350px; }
.dt-col-slots { min-width: 110px; }
.dt-col-partner { min-width: 150px; }
.dt-header { font-weight: bold; margin-bottom: 0; text-transform: uppercase; border-bottom: 1px solid #ccc; padding-bottom: 5px; font-size: 1em; }
.dt-row { display: flex; align-items: center; height: 38px; border-bottom: 1px solid #eee; white-space: nowrap; font-size: 1em; }
.dt-spots-num { font-weight: bold; min-width: 20px; text-align: right; margin-right: 15px; }

.dt-action-btns { display: flex; align-items: center; justify-content: center; gap: 4px; }
@media screen and (max-width: 600px) {
    .dt-col-main { min-width: 300px; }
    .dt-simple-view-wrapper { gap: 20px; }
    .dt-action-btns { flex-direction: column; align-items: center; gap: 2px; }
    .dt-action-sep { display: none; }
}
#dt-request-modal { display: none; }
.db-modal-box {
    background: #fff;
    border-radius: 6px;
    max-width: 460px;
    width: 92%;
    position: relative;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
}
.db-modal-inner {
    padding: 16px 20px;
    overflow-y: auto;
    flex: 1;
}
.db-modal-x {
    position: absolute;
    top: 12px;
    right: 2px;
    background: none;
    border: none;
    font-size: 2.4em;
    line-height: 1;
    cursor: pointer;
    color: #555;
    padding: 0;
    width: 24px;
    height: 24px;
    display: flex;
    justify-content: right;
    z-index: 10;
}
.db-modal-footer {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.db-btn-primary, .db-btn-secondary {
    flex: 1;
    min-width: 100px;
    padding: 7px 12px;
    font-size: 0.9em;
    font-weight: 600;
    border-radius: 4px;
    cursor: pointer;
    border: 1px solid #ccc;
    text-align: center;
}
.db-btn-primary {
    background: #2271b1;
    color: #fff;
    border-color: #2271b1;
}
.db-btn-primary:hover { background: #135e96; }
.db-btn-secondary {
    background: #f6f7f7;
    color: #2c3338;
}
.db-btn-secondary:hover { background: #e9e9e9; }
@media (max-width: 480px) {
    .db-modal-box { width: 96%; padding: 14px 14px; }
}
.dt-req-btn {
    background: #333; color: #fff !important; padding: 0 5px;
    border-radius: 4px; font-size: 11px; font-weight: bold;
    border: none; cursor: pointer; white-space: nowrap;
    transition: opacity 0.2s; margin-top: 10px;
}
.dt-req-btn:hover { opacity: 0.75; }
.dt-requests-block { font-size: 1em; margin-bottom: 40px; width: 100%; box-sizing: border-box; }
.dt-req-table { font-size: 1em; min-width: 480px; }
.dt-req-table th { font-weight: bold; color: #555; padding: 2px 6px; border-bottom: 1px solid #ccc; }
.dt-req-table td { padding: 3px 6px; border-bottom: 1px solid #eee; }
.dt-status-approved { color: #22863a; font-weight: 600; }
.dt-status-declined { color: #b91c1c; font-weight: 600; }
.dt-status-pending  { color: #b45309; font-weight: 600; }
.dt-status-responded { color: #7c3aed; font-weight: 600; }
