/*
 * PB Artist Diary — Public Stylesheet
 *
 * CSS custom properties are set on :root by the plugin's style settings.
 * Override any variable in your theme's stylesheet to customise appearance:
 *
 *   :root {
 *       --pad-accent:            #4a9ebb;
 *       --pad-row-border:        #333;
 *       --pad-date-color:        #4a9ebb;
 *       --pad-time-color:        #aaa;
 *       --pad-venue-size:        1.25em;
 *       --pad-address-color:     #aaa;
 *       --pad-past-date-color:   #666;
 *       --pad-past-venue-color:  #888;
 *       --pad-past-border:       #444;
 *       --pad-row-spacing:       6px;
 *       --pad-row-padding:       16px;
 *       --pad-date-col-width:    240px;
 *       --pad-venue-col-padding: 40px;
 *   }
 */

/* ============================================================
   GIGS TABLE — LAYOUT
   ============================================================ */

.pad-shows-wrap {
    width: 100%;
}

.pad-section-heading {
    margin: 1.5em 0 0.5em;
}

.pad-gig-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 var(--pad-row-spacing, 6px);
    margin-bottom: 2rem;
}

.pad-gig-table td {
    vertical-align: top;
    border-top: 1px solid var(--pad-row-border, #333);
    padding: var(--pad-row-padding, 16px) 0;
}

.pad-gig-table tr:last-child td {
    border-bottom: 1px solid var(--pad-row-border, #333);
}

/* ============================================================
   DATE COLUMN
   ============================================================ */

.pad-col-date {
    width: var(--pad-date-col-width, 240px);
    min-width: 140px;
    padding-top: 0;
    padding-bottom: 0;
    border-left: 4px solid var(--pad-accent, #4a9ebb);
}

.pad-col-date-inner {
    padding: 0 20px 0 16px;
}

.pad-date-day {
    display: block;
    color: var(--pad-date-color, #4a9ebb);
    font-weight: 600;
    font-size: 1em;
}

.pad-date-time {
    display: block;
    color: var(--pad-time-color, #aaa);
    font-size: 0.88em;
    margin-top: 4px;
}

/* ============================================================
   VENUE + ADDRESS COLUMN
   ============================================================ */

.pad-col-venue-addr {
    padding: 0 12px 0 var(--pad-venue-col-padding, 40px);
}

.pad-venue-name {
    font-size: var(--pad-venue-size, 1.25em);
    font-weight: 700;
    margin-bottom: 6px;
    color: var(--pad-venue-color, inherit);
}

.pad-venue-name a,
.pad-venue-name a:link,
.pad-venue-name a:visited {
    text-decoration: none;
    color: inherit;
}

.pad-venue-name a:hover {
    text-decoration: underline;
}

.pad-venue-addr {
    color: var(--pad-address-color, #aaa);
    font-size: 0.9em;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.pad-gig-extras {
    font-size: 0.88em;
    color: var(--pad-address-color, #aaa);
    margin-top: 5px;
    opacity: 0.85;
}

/* ============================================================
   MAP LINK
   ============================================================ */

.pad-map-link {
    margin-left: auto;
    padding-left: 1em;
    white-space: nowrap;
    flex-shrink: 0;
    font-size: 0.9em;
}

/* ============================================================
   STATUS BADGES
   ============================================================ */

.pad-tag {
    display: block;
    width: fit-content;
    font-size: 0.72em;
    font-weight: 600;
    padding: 1px 5px;
    border-radius: 3px;
    margin-top: 5px;
}

.pad-provisional {
    background: var(--pad-provisional-bg, #fff3cd);
    color: var(--pad-provisional-text, #856404);
    border: 1px solid var(--pad-provisional-border, #ffc107);
}

.pad-cancelled {
    background: var(--pad-cancelled-bg, #f8d7da);
    color: var(--pad-cancelled-text, #721c24);
    border: 1px solid var(--pad-cancelled-border, #f5c6cb);
}

.pad-status-cancelled td {
    opacity: 0.5;
}

/* ============================================================
   PAST SHOWS — muted styling
   ============================================================ */

.pad-past-shows .pad-date-day {
    color: var(--pad-past-date-color, #666);
}

.pad-past-shows .pad-col-date {
    border-left-color: var(--pad-past-border, #444);
}

.pad-past-shows .pad-venue-name {
    color: var(--pad-past-venue-color, #888);
}

.pad-past-shows .pad-venue-addr,
.pad-past-shows .pad-gig-extras {
    color: var(--pad-past-date-color, #666);
}

.pad-past-shows .pad-map-link {
    opacity: 0.6;
}

/* ============================================================
   NEXT GIG SNIPPET — [pb_artist_next_gig]
   ============================================================ */

.pad-next-gig {
    display: inline-block;
}

/* ============================================================
   NOTICE — shown to admins when plugin not configured
   ============================================================ */

.pad-notice {
    padding: 10px 14px;
    background: #fff3cd;
    border-left: 4px solid #ffc107;
    color: #856404;
    border-radius: 3px;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 600px) {
    .pad-gig-table,
    .pad-gig-table tbody,
    .pad-gig-table tr,
    .pad-gig-table td {
        display: block;
    }

    .pad-col-date {
        width: auto;
        min-width: 0;
        border-bottom: none;
        padding-bottom: 4px;
    }

    .pad-col-venue-addr {
        padding-left: 16px;
    }

    .pad-venue-addr {
        display: block;
    }

    .pad-map-link {
        margin-left: 0;
        padding-left: 0;
        display: inline-block;
        margin-top: 4px;
    }
}
