/* Divi 5 strips browser default [hidden]=display:none. Restore it
   scoped to our widget so we don't affect anything else on the page. */
#mlb-widget [hidden],
.mlb-widget [hidden] {
    display: none !important;
}

/*
 * Markecie's Lawn Service Booking — Public Stylesheet
 * WCAG 2.1 AA compliant | Light + Dark themes | Fully responsive
 */

/* ── Custom Properties (Light Theme) ─────────────────────────────────────── */
.mlb-widget {
    --mlb-bg:          #ffffff;
    --mlb-bg-card:     #f5f8f5;
    --mlb-bg-accent:   #eaf4eb;
    --mlb-border:      #d0dfd0;
    --mlb-text:        #1a1a1a;
    --mlb-text-muted:  #555;
    --mlb-text-light:  #777;
    --mlb-primary:     #2d8c4e;
    --mlb-primary-dk:  #1e6035;
    --mlb-primary-lt:  #e9f5ed;
    --mlb-danger:      #c0392b;
    --mlb-danger-lt:   #fdecea;
    --mlb-warn:        #b75e00;
    --mlb-warn-lt:     #fff3e0;
    --mlb-success:     #2d8c4e;
    --mlb-unavail:     #d8d8d8;
    --mlb-unavail-txt: #666;
    --mlb-step-active: #2d8c4e;
    --mlb-step-done:   #1e6035;
    --mlb-step-todo:   #ccc;
    --mlb-radius:      10px;
    --mlb-shadow:      0 4px 20px rgba(0,0,0,.08);
    --mlb-focus-ring:  0 0 0 3px rgba(45,140,78,.4);
    --mlb-transition:  0.2s ease;
}

/* ── Dark Theme ──────────────────────────────────────────────────────────── */
.mlb-widget.mlb-theme-dark {
    --mlb-bg:          #1a1f1a;
    --mlb-bg-card:     #242924;
    --mlb-bg-accent:   #1d271d;
    --mlb-border:      #3a4a3a;
    --mlb-text:        #e8f0e8;
    --mlb-text-muted:  #a8baa8;
    --mlb-text-light:  #808e80;
    --mlb-primary:     #4caf73;
    --mlb-primary-dk:  #3a9060;
    --mlb-primary-lt:  #1d3522;
    --mlb-danger:      #e57373;
    --mlb-danger-lt:   #2d1919;
    --mlb-warn:        #ffb74d;
    --mlb-warn-lt:     #2d2200;
    --mlb-unavail:     #3a3a3a;
    --mlb-unavail-txt: #888;
    --mlb-step-active: #4caf73;
    --mlb-step-done:   #3a9060;
    --mlb-step-todo:   #3a4a3a;
    --mlb-focus-ring:  0 0 0 3px rgba(76,175,115,.5);
}

/* ── Base ────────────────────────────────────────────────────────────────── */
.mlb-widget *,
.mlb-widget *::before,
.mlb-widget *::after {
    box-sizing: border-box;
}

.mlb-widget {
    background:    var(--mlb-bg);
    color:         var(--mlb-text);
    border:        1px solid var(--mlb-border);
    border-radius: var(--mlb-radius);
    box-shadow:    var(--mlb-shadow);
    padding:       0;
    overflow:      hidden;
    font-family:   -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height:   1.6;
    max-width:     780px;
    margin:        0 auto 2em;
    position:      relative;
    transition:    background var(--mlb-transition), color var(--mlb-transition);
}

/* ── Screen Reader Utilities ──────────────────────────────────────────────── */
.mlb-sr-only {
    position: absolute; width: 1px; height: 1px;
    padding: 0; margin: -1px; overflow: hidden;
    clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ── Accessibility Bar ───────────────────────────────────────────────────── */
.mlb-a11y-bar {
    display:         flex;
    align-items:     center;
    gap:             6px;
    background:      var(--mlb-bg-card);
    border-bottom:   1px solid var(--mlb-border);
    padding:         8px 20px;
    flex-wrap:       wrap;
}
.mlb-a11y-label {
    font-size:    0.8em;
    color:        var(--mlb-text-muted);
    margin-right: 2px;
}
.mlb-font-btn,
.mlb-theme-toggle {
    background:    var(--mlb-bg);
    border:        1px solid var(--mlb-border);
    border-radius: 6px;
    cursor:        pointer;
    color:         var(--mlb-text);
    font-size:     0.8em;
    padding:       4px 10px;
    line-height:   1;
    transition:    background var(--mlb-transition), border-color var(--mlb-transition);
}
.mlb-font-btn:hover,
.mlb-theme-toggle:hover {
    background:    var(--mlb-primary-lt);
    border-color:  var(--mlb-primary);
}
.mlb-font-btn:focus-visible,
.mlb-theme-toggle:focus-visible {
    outline: none;
    box-shadow: var(--mlb-focus-ring);
}

/* ── Step Progress Nav ───────────────────────────────────────────────────── */
.mlb-steps {
    display:         flex;
    align-items:     center;
    justify-content: center;
    gap:             0;
    padding:         20px 16px 16px;
    border-bottom:   1px solid var(--mlb-border);
    background:      var(--mlb-bg-card);
    overflow-x:      auto;
    -webkit-overflow-scrolling: touch;
}

.mlb-step-item {
    display:      flex;
    flex-direction: column;
    align-items:  center;
    gap:          4px;
    position:     relative;
    flex:         1;
    min-width:    50px;
}

.mlb-step-item + .mlb-step-item::before {
    content:    '';
    position:   absolute;
    top:        16px;
    right:      50%;
    left:       -50%;
    height:     2px;
    background: var(--mlb-step-todo);
    z-index:    0;
    transition: background var(--mlb-transition);
}
.mlb-step-item.done + .mlb-step-item::before,
.mlb-step-item.active + .mlb-step-item::before { background: var(--mlb-step-done); }

.mlb-step-number {
    width:         32px;
    height:        32px;
    border-radius: 50%;
    background:    var(--mlb-step-todo);
    color:         #fff;
    display:       flex;
    align-items:   center;
    justify-content: center;
    font-weight:   700;
    font-size:     0.85em;
    position:      relative;
    z-index:       1;
    transition:    background var(--mlb-transition);
}
.mlb-step-item.active .mlb-step-number { background: var(--mlb-step-active); }
.mlb-step-item.done   .mlb-step-number { background: var(--mlb-step-done); }
.mlb-step-item.done   .mlb-step-number::after { content: '✓'; font-size: 0.9em; }
.mlb-step-item.done   .mlb-step-number span   { display: none; }

.mlb-step-label {
    font-size:   0.72em;
    color:       var(--mlb-text-light);
    text-align:  center;
    white-space: nowrap;
}
.mlb-step-item.active .mlb-step-label { color: var(--mlb-primary); font-weight: 600; }
.mlb-step-item.done   .mlb-step-label { color: var(--mlb-text-muted); }

/* ── Panel ───────────────────────────────────────────────────────────────── */
/* Divi 5 resets the browser default display:none for [hidden] elements.
   Explicitly hide step panels and other toggle elements, show only active ones. */
.mlb-step-panel {
    display: none !important;
    padding: 28px 28px 24px;
}
.mlb-step-panel:not([hidden]) {
    display: block !important;
    animation: mlbFadeIn 0.25s ease;
}
/* Slot loading / no-slots messages */
#mlb-slot-loading:not([hidden]),
#mlb-no-slots:not([hidden]) {
    display: block !important;
}
#mlb-slot-loading[hidden],
#mlb-no-slots[hidden] {
    display: none !important;
}
/* Slot grid */
#mlb-slot-grid[hidden]     { display: none !important; }
#mlb-slot-grid:not([hidden]) { display: grid !important; }
/* Spinner overlay */
#mlb-spinner[hidden]       { display: none !important; }
#mlb-spinner:not([hidden]) { display: flex !important; }
/* Image preview */
#mlb-image-preview[hidden]       { display: none !important; }
#mlb-image-preview:not([hidden]) { display: flex !important; }
@keyframes mlbFadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}
.mlb-panel-title {
    font-size:    1.3em;
    font-weight:  700;
    color:        var(--mlb-primary);
    margin:       0 0 8px;
    line-height:  1.3;
}
.mlb-intro,
.mlb-helper-text {
    color:        var(--mlb-text-muted);
    font-size:    0.88em;
    margin:       0 0 16px;
}
.mlb-date-display {
    font-weight:  600;
    font-size:    1em;
    margin:       0 0 14px;
    color:        var(--mlb-text);
}

/* ── Service Cards ───────────────────────────────────────────────────────── */
.mlb-service-cards {
    display:   grid;
    gap:       12px;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    margin:    0 0 16px;
}
.mlb-service-card {
    background:    var(--mlb-bg-card);
    border:        2px solid var(--mlb-border);
    border-radius: var(--mlb-radius);
    padding:       14px 16px;
    cursor:        pointer;
    transition:    border-color var(--mlb-transition), background var(--mlb-transition), transform 0.15s;
    user-select:   none;
    position:      relative;
    display:       flex;
    align-items:   flex-start;
    gap:           12px;
}
.mlb-service-card:hover {
    border-color:  var(--mlb-primary);
    background:    var(--mlb-primary-lt);
}
.mlb-service-card.selected {
    border-color:  var(--mlb-primary);
    background:    var(--mlb-primary-lt);
}
.mlb-service-card:focus-within,
.mlb-service-card:focus-visible {
    outline:    none;
    box-shadow: var(--mlb-focus-ring);
}
.mlb-service-card input[type="checkbox"] {
    width:  18px;
    height: 18px;
    accent-color: var(--mlb-primary);
    flex-shrink: 0;
    margin-top:  2px;
    cursor: pointer;
}
.mlb-service-info { flex: 1; display: block; cursor: pointer; }
.mlb-service-name {
    font-weight: 600;
    font-size:   0.95em;
    color:       var(--mlb-text);
    display:     block;
    margin-bottom: 3px;
}
.mlb-service-price {
    font-size:  0.8em;
    color:      var(--mlb-text-muted);
}
.mlb-service-duration {
    font-size:   0.78em;
    color:       var(--mlb-primary);
    font-weight: 600;
}
.mlb-service-card .mlb-consult-badge {
    position:   absolute;
    top:        8px;
    right:      8px;
    background: var(--mlb-primary);
    color:      #fff;
    font-size:  0.65em;
    font-weight: 700;
    padding:    2px 6px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.mlb-duration-preview {
    background:    var(--mlb-bg-accent);
    border:        1px solid var(--mlb-border);
    border-left:   4px solid var(--mlb-primary);
    border-radius: 6px;
    padding:       10px 14px;
    font-size:     0.9em;
    margin:        0 0 14px;
    color:         var(--mlb-text);
}

.mlb-consult-notice {
    background:    var(--mlb-warn-lt);
    border:        1px solid var(--mlb-warn);
    border-radius: 8px;
    padding:       10px 14px;
    font-size:     0.88em;
    color:         var(--mlb-warn);
    margin:        0 0 14px;
}

/* ── Datepicker ──────────────────────────────────────────────────────────── */
#mlb-datepicker {
    max-width:    340px;
    margin:       0 auto 16px;
}
/* Custom minimal calendar (built by JS) */
.mlb-cal-nav {
    display:         flex;
    justify-content: space-between;
    align-items:     center;
    margin-bottom:   12px;
}
.mlb-cal-nav button {
    background:    none;
    border:        1px solid var(--mlb-border);
    border-radius: 6px;
    cursor:        pointer;
    padding:       6px 14px;
    font-size:     1em;
    color:         var(--mlb-text);
}
.mlb-cal-nav button:hover     { background: var(--mlb-primary-lt); border-color: var(--mlb-primary); }
.mlb-cal-nav button:focus-visible { outline: none; box-shadow: var(--mlb-focus-ring); }
.mlb-cal-title { font-weight: 700; font-size: 1em; }
.mlb-cal-grid {
    display:               grid;
    grid-template-columns: repeat(7, 1fr);
    gap:                   4px;
    text-align:            center;
}
.mlb-cal-dow {
    font-size:   0.72em;
    font-weight: 700;
    color:       var(--mlb-text-muted);
    padding:     4px 2px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.mlb-cal-day {
    padding:       6px 2px;
    border-radius: 6px;
    cursor:        pointer;
    font-size:     0.88em;
    color:         var(--mlb-text);
    transition:    background var(--mlb-transition);
    border:        1px solid transparent;
}
.mlb-cal-day:hover:not(.disabled):not(.other-month) { background: var(--mlb-primary-lt); border-color: var(--mlb-primary); }
.mlb-cal-day:focus-visible { outline: none; box-shadow: var(--mlb-focus-ring); border-radius: 6px; }
.mlb-cal-day.today    { font-weight: 700; border-color: var(--mlb-primary); }
.mlb-cal-day.selected { background: var(--mlb-primary); color: #fff; border-color: var(--mlb-primary); }
.mlb-cal-day.disabled { color: var(--mlb-unavail-txt); cursor: not-allowed; background: none; }
.mlb-cal-day.other-month { color: var(--mlb-border); cursor: default; }
.mlb-cal-day.weekend  { color: var(--mlb-primary); }

/* ── Time Slots ──────────────────────────────────────────────────────────── */
.mlb-slots-legend {
    display:     flex;
    align-items: center;
    gap:         16px;
    font-size:   0.82em;
    color:       var(--mlb-text-muted);
    margin-bottom: 10px;
}
.mlb-slot-legend-dot {
    display:       inline-block;
    width:         12px;
    height:        12px;
    border-radius: 3px;
    margin-right:  4px;
}
.mlb-slot-legend-dot.available   { background: var(--mlb-primary); }
.mlb-slot-legend-dot.unavailable { background: var(--mlb-unavail); }

#mlb-slot-grid {
    display:   grid;
    gap:       8px;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
}
.mlb-slot {
    padding:       10px 8px;
    border-radius: 8px;
    font-size:     0.88em;
    text-align:    center;
    cursor:        pointer;
    border:        2px solid transparent;
    transition:    background var(--mlb-transition), border-color var(--mlb-transition);
    line-height:   1.2;
}
.mlb-slot.available {
    background:    var(--mlb-primary-lt);
    border-color:  var(--mlb-border);
    color:         var(--mlb-text);
}
.mlb-slot.available:hover {
    border-color:  var(--mlb-primary);
    background:    #d1ead8;
}
.mlb-slot.available.selected {
    background:    var(--mlb-primary);
    border-color:  var(--mlb-primary);
    color:         #fff;
    font-weight:   700;
}
.mlb-slot.unavailable {
    background:    var(--mlb-unavail);
    color:         var(--mlb-unavail-txt);
    cursor:        not-allowed;
    border-color:  transparent;
}
.mlb-slot.available:focus-visible { outline: none; box-shadow: var(--mlb-focus-ring); }
.mlb-slot-time   { font-weight: 600; }
.mlb-slot-end    { font-size: 0.82em; opacity: 0.8; }
.mlb-slot-label  { font-size: 0.75em; margin-top: 2px; }
.mlb-no-slots    { color: var(--mlb-text-muted); font-size: 0.9em; }

/* ── Form ────────────────────────────────────────────────────────────────── */
.mlb-form-row { display: grid; gap: 14px; }
.mlb-form-row--2col { grid-template-columns: 1fr 1fr; }
.mlb-form-row--3col { grid-template-columns: 2fr 1fr 1fr; }

.mlb-form-group { display: flex; flex-direction: column; gap: 4px; margin-bottom: 14px; }

.mlb-label {
    font-size:   0.88em;
    font-weight: 600;
    color:       var(--mlb-text);
}
.mlb-required { color: var(--mlb-danger); }
.mlb-optional { font-weight: 400; color: var(--mlb-text-light); font-size: 0.85em; }

.mlb-input {
    width:         100%;
    padding:       10px 12px;
    border:        2px solid var(--mlb-border);
    border-radius: 8px;
    background:    var(--mlb-bg);
    color:         var(--mlb-text);
    font-size:     1em;
    font-family:   inherit;
    transition:    border-color var(--mlb-transition), box-shadow var(--mlb-transition);
    line-height:   1.4;
}
.mlb-input:focus {
    outline:      none;
    border-color: var(--mlb-primary);
    box-shadow:   var(--mlb-focus-ring);
}
.mlb-input.error { border-color: var(--mlb-danger); }
.mlb-input:focus.error { box-shadow: 0 0 0 3px rgba(192,57,43,.3); }

.mlb-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23555' d='M1 1l5 5 5-5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 36px; }

.mlb-textarea { resize: vertical; min-height: 80px; }

.mlb-file-input {
    padding: 8px;
    font-size: 0.9em;
    cursor: pointer;
}

.mlb-image-preview-grid {
    display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px;
}
.mlb-image-preview-grid img {
    width: 72px; height: 72px; object-fit: cover; border-radius: 6px;
    border: 2px solid var(--mlb-border);
}

.mlb-field-error {
    font-size:  0.8em;
    color:      var(--mlb-danger);
    min-height: 18px;
    display:    block;
}

.mlb-checkbox-group {
    border:        1px solid var(--mlb-border);
    border-radius: 8px;
    padding:       14px 16px;
    margin-bottom: 16px;
    background:    var(--mlb-bg-card);
}
.mlb-checkbox-label {
    display:     flex;
    align-items: flex-start;
    gap:         10px;
    cursor:      pointer;
    font-size:   0.9em;
    margin-bottom: 8px;
    color:       var(--mlb-text);
}
.mlb-checkbox {
    width:        18px;
    height:       18px;
    accent-color: var(--mlb-primary);
    flex-shrink:  0;
    margin-top:   1px;
    cursor:       pointer;
}

/* ── Summary Card ────────────────────────────────────────────────────────── */
.mlb-summary-card {
    background:    var(--mlb-bg-card);
    border:        1px solid var(--mlb-border);
    border-left:   4px solid var(--mlb-primary);
    border-radius: var(--mlb-radius);
    padding:       20px 22px;
    margin-bottom: 20px;
    font-size:     0.92em;
}
.mlb-summary-row {
    display:       grid;
    grid-template-columns: 160px 1fr;
    gap:           6px;
    padding:       6px 0;
    border-bottom: 1px solid var(--mlb-border);
}
.mlb-summary-row:last-child { border-bottom: none; }
.mlb-summary-label { font-weight: 600; color: var(--mlb-text-muted); font-size: 0.9em; }
.mlb-summary-value { color: var(--mlb-text); }

/* ── Buttons ─────────────────────────────────────────────────────────────── */
.mlb-nav-bar {
    display:         flex;
    justify-content: space-between;
    align-items:     center;
    margin-top:      20px;
    flex-wrap:       wrap;
    gap:             10px;
}
.mlb-btn {
    display:       inline-flex;
    align-items:   center;
    gap:           6px;
    padding:       12px 22px;
    border-radius: 8px;
    font-size:     0.95em;
    font-weight:   600;
    cursor:        pointer;
    border:        2px solid transparent;
    transition:    background var(--mlb-transition), border-color var(--mlb-transition), transform 0.1s;
    font-family:   inherit;
    line-height:   1;
    text-decoration: none;
}
.mlb-btn:focus-visible { outline: none; box-shadow: var(--mlb-focus-ring); }
.mlb-btn:active        { transform: scale(0.98); }
.mlb-btn:disabled      { opacity: 0.5; cursor: not-allowed; transform: none; }

.mlb-btn-primary {
    background:   var(--mlb-primary);
    color:        #fff;
    border-color: var(--mlb-primary);
}
.mlb-btn-primary:hover:not(:disabled) { background: var(--mlb-primary-dk); border-color: var(--mlb-primary-dk); }

.mlb-btn-ghost {
    background:   transparent;
    color:        var(--mlb-primary);
    border-color: var(--mlb-border);
}
.mlb-btn-ghost:hover { background: var(--mlb-primary-lt); border-color: var(--mlb-primary); }

.mlb-btn-confirm { padding: 14px 30px; font-size: 1.05em; }

/* ── Error Box ───────────────────────────────────────────────────────────── */
.mlb-error-box {
    background:    var(--mlb-danger-lt);
    border:        1px solid var(--mlb-danger);
    border-radius: 8px;
    padding:       12px 16px;
    color:         var(--mlb-danger);
    font-size:     0.9em;
    margin-top:    12px;
}

/* ── Loading ─────────────────────────────────────────────────────────────── */
.mlb-loading {
    text-align: center;
    color:      var(--mlb-text-muted);
    padding:    20px;
    font-size:  0.9em;
}
.mlb-spinner-overlay {
    position:        absolute;
    inset:           0;
    background:      rgba(255,255,255,.6);
    display:         flex;
    align-items:     center;
    justify-content: center;
    z-index:         100;
    border-radius:   var(--mlb-radius);
}
.mlb-theme-dark .mlb-spinner-overlay { background: rgba(0,0,0,.5); }
.mlb-spinner {
    width:  44px;
    height: 44px;
    border: 4px solid var(--mlb-border);
    border-top-color: var(--mlb-primary);
    border-radius: 50%;
    animation: mlbSpin .8s linear infinite;
}
@keyframes mlbSpin { to { transform: rotate(360deg); } }

/* ── Success Screen ──────────────────────────────────────────────────────── */
.mlb-success-screen {
    text-align: center;
    padding:    20px 0;
}
.mlb-success-icon { font-size: 3.5em; margin-bottom: 10px; }
.mlb-success-screen h2 { color: var(--mlb-success); margin: 0 0 10px; }
.mlb-success-actions {
    display:         flex;
    flex-wrap:       wrap;
    gap:             10px;
    justify-content: center;
    margin:          18px 0;
}
.mlb-ical-btn {
    display:       inline-flex;
    align-items:   center;
    gap:           6px;
    padding:       10px 18px;
    border-radius: 8px;
    font-size:     0.9em;
    font-weight:   600;
    text-decoration: none;
    cursor:        pointer;
    border:        2px solid var(--mlb-primary);
    background:    var(--mlb-primary-lt);
    color:         var(--mlb-primary);
    transition:    background var(--mlb-transition);
}
.mlb-ical-btn:hover { background: var(--mlb-primary); color: #fff; }
.mlb-ical-btn:focus-visible { outline: none; box-shadow: var(--mlb-focus-ring); }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 600px) {
    .mlb-step-panel   { padding: 20px 16px; }
    .mlb-form-row--2col,
    .mlb-form-row--3col { grid-template-columns: 1fr; }
    .mlb-steps        { padding: 14px 8px 10px; gap: 0; }
    .mlb-step-label   { display: none; }
    .mlb-service-cards { grid-template-columns: 1fr; }
    #mlb-slot-grid    { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); }
    .mlb-summary-row  { grid-template-columns: 1fr; gap: 2px; }
    .mlb-summary-label { font-size: 0.78em; }
    .mlb-btn-confirm  { width: 100%; justify-content: center; }
}

@media (max-width: 400px) {
    .mlb-a11y-bar  { gap: 4px; padding: 6px 12px; }
    .mlb-font-btn,
    .mlb-theme-toggle { padding: 4px 7px; font-size: 0.75em; }
}

/* ── High Contrast Media Query (WCAG) ───────────────────────────────────── */
@media (forced-colors: active) {
    .mlb-widget         { border: 2px solid ButtonText; }
    .mlb-slot.available { forced-color-adjust: none; background: ButtonFace; border: 2px solid Highlight; }
    .mlb-btn-primary    { forced-color-adjust: none; background: Highlight; color: HighlightText; }
}

/* ── Reduced Motion ──────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .mlb-widget *,
    .mlb-widget *::before,
    .mlb-widget *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

.mlb-btn-cancel {
    border-color: var(--mlb-danger, #c0392b) !important;
    color:        var(--mlb-danger, #c0392b) !important;
}
.mlb-btn-cancel:hover {
    background: var(--mlb-danger, #c0392b) !important;
    color: #fff !important;
}

/* ── Email Lookup Panel ───────────────────────────────────────────────────── */
#mlb-email-lookup-panel { max-width: 420px; }

.mlb-lookup-unknown {
    font-weight: 600;
    margin: 16px 0 10px;
    color: var(--mlb-text);
}
.mlb-lookup-choice-btns {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 16px;
}
.mlb-btn-outline {
    background:    transparent;
    border:        2px solid var(--mlb-primary);
    color:         var(--mlb-primary);
    padding:       10px 18px;
    border-radius: var(--mlb-radius);
    font-size:     0.9em;
    font-weight:   600;
    cursor:        pointer;
    transition:    background var(--mlb-transition), color var(--mlb-transition);
    text-align:    left;
}
.mlb-btn-outline:hover {
    background: var(--mlb-primary);
    color: #fff;
}
.mlb-lookup-welcome-msg {
    background:    var(--mlb-primary-lt);
    border-left:   4px solid var(--mlb-primary);
    border-radius: 0 var(--mlb-radius) var(--mlb-radius) 0;
    padding:       12px 16px;
    font-weight:   600;
    color:         var(--mlb-text);
    margin:        16px 0;
}
