/* ============================================================
   Stacey West Car Share — Widget Styles (sw-widget.css)
   Scoped to .sww to avoid theme conflicts
   ============================================================ */

.sww { font-family: 'DM Sans', sans-serif; font-size: .88rem; color: #0f0f0f; }
.sww *, .sww *::before, .sww *::after { box-sizing: border-box; }

/* ── TITLE ── */
.sww-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1rem; font-weight: 800; text-transform: uppercase;
    letter-spacing: .05em; color: #0f0f0f; margin-bottom: .8rem;
    padding-bottom: .5rem; border-bottom: 2px solid #C8102E;
}

/* ── BADGES ── */
.sww-badge {
    display: inline-block; font-size: .68rem; font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase;
    padding: 2px 8px; border-radius: 2px; white-space: nowrap;
}
.sww-badge-red   { background: #C8102E; color: #fff; }
.sww-badge-amber { background: #fef3cd; color: #8a6800; }
.sww-badge-grey  { background: #f0f0f0; color: #888; }

/* ── LINK & BUTTON ── */
.sww-link {
    display: block; margin-top: .8rem; font-size: .78rem; font-weight: 600;
    color: #C8102E !important; text-decoration: none !important;
    letter-spacing: .03em; border-top: 1px solid #eee; padding-top: .6rem;
}
.sww-link:hover { text-decoration: underline !important; }
.sww-btn {
    display: block; width: 100%; margin-top: .6rem;
    font-family: 'Barlow Condensed', sans-serif; font-weight: 700;
    font-size: .88rem; letter-spacing: .07em; text-transform: uppercase;
    padding: 9px 16px; background: #C8102E; color: #fff !important;
    border: none; cursor: pointer; text-align: center;
    clip-path: polygon(6px 0%,100% 0%,calc(100% - 6px) 100%,0% 100%);
    transition: background .2s; text-decoration: none !important;
}
.sww-btn:hover { background: #e01530; }

/* ── EMPTY ── */
.sww-empty { font-size: .82rem; color: #aaa; margin: .5rem 0; }
.sww-desc  { font-size: .81rem; color: #666; margin: 0 0 .8rem; line-height: 1.5; }

/* ── FIXTURES WIDGET ── */
.sww-fix-list { list-style: none; margin: 0; padding: 0; }
.sww-fix-row {
    display: flex; align-items: center; gap: .7rem;
    padding: .6rem 0; border-bottom: 1px solid #f0f0f0;
}
.sww-fix-row:last-child { border-bottom: none; }
.sww-fix-date {
    display: flex; flex-direction: column; align-items: center;
    min-width: 32px; text-align: center;
}
.sww-fix-day {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1.3rem; font-weight: 900; line-height: 1; color: #0f0f0f;
}
.sww-fix-mon {
    font-size: .58rem; letter-spacing: .12em; text-transform: uppercase;
    color: #aaa; margin-top: 1px;
}
.sww-fix-info { flex: 1; min-width: 0; }
.sww-fix-opp {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: .95rem; font-weight: 800; color: #0f0f0f;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.sww-fix-meta { font-size: .72rem; color: #aaa; margin-top: 1px; }
.sww-fix-seats { flex-shrink: 0; }

/* ── RIDES WIDGET ── */
.sww-ride-list { list-style: none; margin: 0; padding: 0; }
.sww-ride-row {
    display: flex; align-items: center; gap: .6rem;
    padding: .6rem 0; border-bottom: 1px solid #f0f0f0;
}
.sww-ride-row:last-child { border-bottom: none; }
.sww-ride-info { flex: 1; min-width: 0; }
.sww-ride-route {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: .95rem; font-weight: 800; color: #0f0f0f;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.sww-ride-meta { font-size: .72rem; color: #aaa; margin-top: 1px; }
.sww-ride-right { flex-shrink: 0; }

/* ── REQUEST WIDGET ── */
.sww-form { display: flex; flex-direction: column; gap: .5rem; }
.sww-input {
    width: 100%; padding: 8px 10px;
    font-family: 'DM Sans', sans-serif; font-size: .84rem;
    color: #0f0f0f !important; background: #f5f5f3 !important;
    border: 1.5px solid #e0e0e0 !important; outline: none;
    transition: border-color .2s; border-radius: 0;
}
.sww-input:focus { border-color: #C8102E !important; background: #fff !important; }
.sww-input option { color: #0f0f0f; }

/* ── SUCCESS STATE ── */
.sww-success { text-align: center; padding: 1rem .5rem; }
.sww-success-icon {
    width: 40px; height: 40px; background: #0d7a4e; color: #fff;
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-size: 1.2rem; font-weight: 700; margin: 0 auto .6rem;
}
.sww-success strong { display: block; font-size: .95rem; margin-bottom: .3rem; }
.sww-success p { font-size: .8rem; color: #666; margin: 0; }
.sww-success a { color: #C8102E !important; }

/* ── CTA WIDGET ── */
.sww-cta { background: #C8102E; padding: 0; overflow: hidden; }
.sww-cta-inner { padding: 1.1rem 1.2rem; position: relative; }
.sww-cta-inner::after {
    content: 'IMPS'; position: absolute; right: -5px; top: 50%;
    transform: translateY(-50%); font-family: 'Barlow Condensed', sans-serif;
    font-size: 4rem; font-weight: 900; color: rgba(0,0,0,.12);
    pointer-events: none; line-height: 1;
}
.sww-cta-badge {
    font-family: 'Barlow Condensed', sans-serif; font-size: .75rem;
    font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
    color: rgba(255,255,255,.7); margin-bottom: .3rem;
}
.sww-cta-stat {
    font-family: 'Barlow Condensed', sans-serif; font-size: 1.1rem;
    font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: .8rem;
    position: relative; z-index: 1;
}
.sww-cta-btns { display: flex; gap: .5rem; flex-wrap: wrap; position: relative; z-index: 1; }
.sww-cta-btn-primary {
    font-family: 'Barlow Condensed', sans-serif; font-weight: 700;
    font-size: .82rem; letter-spacing: .07em; text-transform: uppercase;
    padding: 7px 16px; background: #fff; color: #C8102E !important;
    text-decoration: none !important; clip-path: polygon(5px 0%,100% 0%,calc(100% - 5px) 100%,0% 100%);
    transition: background .2s; border: none;
}
.sww-cta-btn-primary:hover { background: #f0f0f0; }
.sww-cta-btn-secondary {
    font-family: 'Barlow Condensed', sans-serif; font-weight: 700;
    font-size: .82rem; letter-spacing: .07em; text-transform: uppercase;
    padding: 7px 16px; background: transparent; color: #fff !important;
    border: 1.5px solid rgba(255,255,255,.5) !important;
    text-decoration: none !important; transition: border-color .2s;
}
.sww-cta-btn-secondary:hover { border-color: #fff !important; }

/* ── LOADING STATE ── */
.sww-btn.loading { opacity: .6; pointer-events: none; }
.sww-btn.loading::after { content: ' …'; }

/* ── CLICKABLE ROWS ── */
.sww-fix-link, .sww-ride-link {
    display: flex; align-items: center; gap: .7rem;
    text-decoration: none !important; color: inherit !important;
    width: 100%; transition: background .15s;
}
.sww-fix-row:hover, .sww-ride-row:hover { background: #fdf5f7; }
.sww-ride-link { justify-content: space-between; }
.sww-ride-cta {
    font-family: 'Barlow Condensed', sans-serif; font-weight: 700;
    font-size: .78rem; letter-spacing: .06em; text-transform: uppercase;
    color: #C8102E !important; white-space: nowrap; margin-top: 3px;
    display: block;
}
.sww-ride-footer { border-top: 1px solid #eee; padding-top: .6rem; margin-top: .6rem; display: flex; flex-direction: column; gap: 0; }
