/* =========================================================
   ml-widget.css  –  Mobilitātes Līdzekļi Selection Widget
   ========================================================= */

/* ─── Custom properties ─────────────────────────────────── */
.ml-widget {
    --mlw-bg:           #f8f9fb;
    --mlw-surface:      #ffffff;
    --mlw-border:       #e2e6ed;
    --mlw-border-r:     10px;

    /* Item states */
    --mlw-item-bg:         #E9E9E9;
    --mlw-item-border:     var(--e-global-color-secondary);
    --mlw-item-color:      var(--e-global-color-secondary);
    --mlw-item-hover-bg:    #f0f4ff;
    --mlw-item-hover-border:#8faaf5;

    /* Selected item */
    --mlw-sel-bg:       var(--e-global-color-5532648);
    --mlw-sel-border:   var(--e-global-color-5532648);
    --mlw-sel-color:    var(--e-global-color-secondary);
   
    /* Counter badge */
    --mlw-badge-bg:      var(--e-global-color-secondary);;
    --mlw-badge-color:  #ffffff;

    /* Progress */
    --mlw-prog-bg:      #e4eaf5;
    --mlw-prog-fill:    #1a56db;

    /* Save button */
    --mlw-btn-bg:       var(--e-global-color-eb0dd5e);
    --mlw-btn-hover:    #1648c4;
    --mlw-btn-color:    #ffffff;
    --mlw-btn-radius:   8px;

    /* Message */
    --mlw-msg-ok:       #047857;
    --mlw-msg-err:      #b91c1c;

    /* Layout */
    --mlw-gap:          5px;
    --mlw-pad:          22px;

    /* Typography */
    --mlw-font:         'Work Sans';
}

/* ─── Shell ─────────────────────────────────────────────── */
.ml-widget {
    font-family:    var(--mlw-font);
    overflow:       hidden;
  
 
}

/* ─── Login notice ──────────────────────────────────────── */
.ml-widget__login-notice {
    font-family: var(--mlw-font);
    padding:     12px 16px;
    color:       #64748b;
    font-size:   14px;
}

/* ─── Header ────────────────────────────────────────────── */
.ml-widget__header {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    padding:         var(--mlw-pad) var(--mlw-pad) 16px;
    gap:             12px;
    flex-wrap:       wrap;
}

.ml-widget__title-row {
    display:     flex;
    align-items: center;
    gap:         10px;
}

.ml-widget__icon {
    display:          flex;
    align-items:      center;
    justify-content:  center;
    width:            34px;
    height:           34px;
    background:       #eff4ff;
    border-radius:    8px;
    color:            #1a56db;
    flex-shrink:      0;
}

.ml-widget__icon svg {
    width:  18px;
    height: 18px;
}

.ml-widget__title {
    margin:      0;
    font-size:   16px !important;
    font-weight: 600 !important;
    color:       #1e293b;
    letter-spacing: -0.01em;
}

/* Counter */
.ml-widget__counter-wrap {
    display:     flex;
    align-items: center;
    gap:         8px;
    flex-shrink: 0;
}

.ml-widget__counter-label {
    font-size:   12px;
    font-family: 'Work Sans';
    font-weight: 500;
    color:       #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.ml-widget__counter-badge {
    display:       inline-flex;
    align-items:   center;
    gap:           2px;
    background:    var(--mlw-badge-bg);
    color:         var(--mlw-badge-color);
    border-radius: 20px;
    padding:       3px 10px;
    font-size:     13px;
    font-weight:   600;
    min-width:     48px;
    justify-content: center;
    transition:    background 0.2s;
    font-family: 'Work Sans' , sans-serif;
}

.ml-widget__counter-sep {
    opacity: 0.55;
    margin:  0 1px;
}

.ml-widget__counter-total {
    opacity: 0.7;
}

/* ─── Progress bar ──────────────────────────────────────── */
.ml-widget__progress {
    height:     4px;
    background: var(--mlw-prog-bg);
    margin:     0;
}

.ml-widget__progress-fill {
    height:           100%;
    background:        var(--e-global-color-5532648);
    transition:       width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius:    0 2px 2px 0;
    min-width:        0;
    width:            0%;
}

/* ─── Grid ──────────────────────────────────────────────── */
.ml-widget__grid {
    display:               grid;
    grid-template-columns: 1fr;
    gap:                   var(--mlw-gap);
    padding:               18px var(--mlw-pad);
}

.ml-widget__empty {
    grid-column: 1 / -1;
    text-align:  center;
    color:       #94a3b8;
    font-size:   14px;
    padding:     24px 0;
}

/* ─── Item buttons ──────────────────────────────────────── */
.ml-widget__item {
    /* Reset */
    appearance:  none;
    -webkit-appearance: none;
    border:      none;
    outline:     none;

    /* Layout */
    display:       flex;
    align-items:   center;
    justify-content: center;
    text-align:    center;
    padding:       11px 14px;
    border-radius: 8px;
    min-height:    48px;
    cursor:        pointer;

    /* Default style */
    border: none !important;
    background:    var(--mlw-item-bg);
    color:         var(--e-global-color-secondary) !important;
    font-family:   var(--mlw-font);
    font-size:     13.5px;
    font-weight:   700;
    line-height:   1.35;
    font-weight: 700 !important;

    /* Animation */
    transition:
        background   0.18s ease,
        border-color 0.18s ease,
        color        0.18s ease,
        box-shadow   0.18s ease,
        transform    0.12s ease;

    /* No text selection */
    user-select: none;
    -webkit-user-select: none;
}

.ml-widget__item:hover {
    background:     var(--e-global-color-5532648) !important;
    border-color:   var(--e-global-color-5532648) !important;
    transform:     translateY(-1px);
}

.ml-widget__item:active {
    transform: translateY(0) scale(0.97);
}

.ml-widget__item:focus {
  background-color:   var(--mlw-item-bg) !important; /* or set your exact color */
  outline: none !important; /* removes default focus outline */
}

/* ── Selected state ── */
.ml-widget__item.is-selected {
    background:   var(--mlw-sel-bg);
    border-color: var(--mlw-sel-border);
    color:        var(--mlw-sel-color);
    box-shadow:   var(--mlw-sel-shadow);
    font-weight:  600;
}

.ml-widget__item.is-selected:hover {
    background:   var(--mlw-btn-hover);
    border-color: var(--mlw-btn-hover);
    transform:    translateY(-1px);
}

/* Check mark pseudo-element on selected items */
.ml-widget__item.is-selected::before {
    content:       "✓  ";
    font-size:     11px;
    opacity:       0.85;
    flex-shrink:   0;
}

.ml-widget__item.is-selected:focus {
    background-color :  var(--e-global-color-5532648) !important;
}

/* ─── Footer ────────────────────────────────────────────── */
.ml-widget__footer {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    gap:             12px;
    padding:         14px var(--mlw-pad) var(--mlw-pad);
    flex-wrap:       wrap;
}

/* Message */
.ml-widget__message {
    font-size:   13px;
    font-weight: 500;
    color:       var(--mlw-msg-ok);
    min-height:  20px;
    flex:        1;
    transition:  opacity 0.3s;
}

.ml-widget__message:empty {
    opacity: 0;
}

.ml-widget__message.has-error {
    color: var(--mlw-msg-err);
}

/* Save button */
.iapi-save-button {
   
    cursor:      pointer;
    transition:
        background  0.18s ease,
        opacity     0.18s ease,
        transform   0.12s ease,
        box-shadow  0.18s ease;

    background-color: var(--e-global-color-eb0dd5e) !important;
    text-align: left  !important;
    font-family: "Work Sans", Sans-serif  !important;
    font-size: 16px  !important;
    font-weight: 600 !important;
    color:   var(--e-global-color-secondary)  !important;
    padding: 9px 77px 9px 77px  !important;
    border-style: solid  !important;
    border-width: 3px 3px 3px 3px  !important;
    border-color: var(--e-global-color-0273294)  !important;
    border-radius: 10px 10px 10px 10px  !important;
}


.iapi-save-button:hover {
    background-color: var(--e-global-color-a5e1c4f) !important;
    box-shadow:  none;
}
 

.iapi-save-button:focus-visible {
    outline:        2px solid #1a56db;
    outline-offset: 3px;
}

.iapi-save-button:disabled {
    opacity: 0.65;
    cursor:  not-allowed;
    transform: none !important;
    box-shadow: none;
}

.iapi-save-button::after {
    font-family:    Eicons;
    content:        "\e931";
    margin-left:    .53em;
    vertical-align: bottom;
    display:        inline-block;
}

.iapi-save-button.is-saving::after {
    animation: mlw-spin 0.7s linear infinite;
}

/* Save label swap */
.ml-widget__save-label {
    display:     inline-flex;
    align-items: center;
    gap:         7px;
}

.ml-widget__save-label--saving {
    display: none;
}

.iapi-save-button.is-saving .ml-widget__save-label--idle {
    display: none;
}

.iapi-save-button.is-saving .ml-widget__save-label--saving {
    display: inline-flex;
}

.ml-widget__save-icon {
    width:  15px;
    height: 15px;
    flex-shrink: 0;
}


@keyframes mlw-spin {
    to { transform: rotate(360deg); }
}


/* ─── Responsive ────────────────────────────────────────── */
@media (max-width: 480px) {
    .ml-widget__grid {
        grid-template-columns: 1fr;
        gap:                   8px;
        padding:               14px;
    }

    .ml-widget__header,
    .ml-widget__footer {
        padding-left:  14px;
        padding-right: 14px;
    }

    .ml-widget__footer {
        flex-direction: column-reverse;
        align-items:    stretch;
    }

    .ml-widget__save-btn {
        justify-content: center;
        width: 100%;
    }
}