/* ── Visa Type Group ── */
.visa-type-group {
    margin-bottom: 24px;
}

.visa-type-heading {
    font-size: 11px;
    font-weight: 700;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid #eee;
}

/* ── Duration Row & Grid ── */
.visa-duration-row {
    margin-bottom: 10px;
}

.visa-cards-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.visa-cards-grid .visa-option {
    flex: 1 1 200px;
    max-width: 280px;
}

@media (max-width: 576px) {
    .visa-cards-grid .visa-option {
        flex: 1 1 100%;
        max-width: 100%;
    }
}

/* ── Visa Card ── */
.visa-option {
    cursor: pointer;
    border-radius: 10px;
    background: #fff;
    border: 1.5px solid #e8e8e8;
    transition: border-color .15s, box-shadow .15s, transform .12s;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
}

.visa-option:hover {
    transform: translateY(-2px);
}

/* Card top body */
.visa-option-body {
    padding: 14px 14px 10px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Badge + price row */
.visa-option-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    margin-bottom: 10px;
}

/* Processing badge — pill style */
.processing-badge {
    display: inline-block;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    padding: 3px 8px;
    border-radius: 20px;
    white-space: nowrap;
    flex-shrink: 0;
    line-height: 1.4;
}

/* Price */
.visa-option .visa-price {
    font-size: 16px;
    font-weight: 700;
    margin: 0;
    line-height: 1;
    white-space: nowrap;
}

/* Visa name */
.visa-option .visa-name {
    font-size: 13px;
    font-weight: 500;
    color: #2c2c2c;
    margin: 0 0 4px;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Processing time */
.visa-option .visa-meta {
    font-size: 11px;
    color: #777;
    margin: 0;
    line-height: 1;
}

/* Card footer */
.visa-option-footer {
    padding: 8px 14px;
    border-top: 1px solid #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.visa-option-footer-text {
    font-size: 11px;
    color: #999;
}

/* Checkmark */
.visa-option-check {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    color: #fff;
    font-weight: 900;
    line-height: 1;
    flex-shrink: 0;
}

.visa-option.selected-card .visa-option-check {
    display: flex;
}

/* ── Standard (green) ── */
.processing-standard                       { border-color: #d4edda; }
.processing-standard:hover                 { border-color: #28a745; box-shadow: 0 0 0 3px rgba(40,167,69,0.08); }
.processing-standard.selected-card         { border-color: #28a745; box-shadow: 0 0 0 3px rgba(40,167,69,0.10); }
.processing-standard .processing-badge     { background: #eaf7ed; color: #1c7a31; }
.processing-standard .visa-price           { color: #28a745; }
.processing-standard .visa-option-footer   { background: #f4fbf5; }
.processing-standard .visa-option-check    { background: #28a745; }

/* ── Express (orange) ── */
.processing-express                        { border-color: #fde3c8; }
.processing-express:hover                  { border-color: #fd7e14; box-shadow: 0 0 0 3px rgba(253,126,20,0.08); }
.processing-express.selected-card          { border-color: #fd7e14; box-shadow: 0 0 0 3px rgba(253,126,20,0.10); }
.processing-express .processing-badge      { background: #fff3e6; color: #b85a00; }
.processing-express .visa-price            { color: #e8720c; }
.processing-express .visa-option-footer    { background: #fff9f4; }
.processing-express .visa-option-check     { background: #fd7e14; }

/* ── Normal (teal) ── */
.processing-normal                         { border-color: #b2dfdb; }
.processing-normal:hover                   { border-color: #009688; box-shadow: 0 0 0 3px rgba(0,150,136,0.08); }
.processing-normal.selected-card           { border-color: #009688; box-shadow: 0 0 0 3px rgba(0,150,136,0.10); }
.processing-normal .processing-badge       { background: #e0f2f1; color: #00695c; }
.processing-normal .visa-price             { color: #009688; }
.processing-normal .visa-option-footer     { background: #f4fcfb; }
.processing-normal .visa-option-check      { background: #009688; }

/* ── Rush (amber) ── */
.processing-rush                           { border-color: #ffe082; }
.processing-rush:hover                     { border-color: #ffa000; box-shadow: 0 0 0 3px rgba(255,160,0,0.08); }
.processing-rush.selected-card             { border-color: #ffa000; box-shadow: 0 0 0 3px rgba(255,160,0,0.10); }
.processing-rush .processing-badge         { background: #fff8e1; color: #e65100; }
.processing-rush .visa-price               { color: #ffa000; }
.processing-rush .visa-option-footer       { background: #fffdf0; }
.processing-rush .visa-option-check        { background: #ffa000; }

/* ── Emergency (pink/rose) ── */
.processing-emergency                      { border-color: #f8bbd0; }
.processing-emergency:hover                { border-color: #e91e63; box-shadow: 0 0 0 3px rgba(233,30,99,0.08); }
.processing-emergency.selected-card        { border-color: #e91e63; box-shadow: 0 0 0 3px rgba(233,30,99,0.10); }
.processing-emergency .processing-badge    { background: #fce4ec; color: #880e4f; }
.processing-emergency .visa-price          { color: #e91e63; }
.processing-emergency .visa-option-footer  { background: #fff5f8; }
.processing-emergency .visa-option-check   { background: #e91e63; }

/* ── Urgent —  dark blue ── */
.processing-urgent                         { border-color: #bbdefb; }
.processing-urgent:hover                   { border-color: #1565c0; box-shadow: 0 0 0 3px rgba(21,101,192,0.08); }
.processing-urgent.selected-card           { border-color: #1565c0; box-shadow: 0 0 0 3px rgba(21,101,192,0.10); }
.processing-urgent .processing-badge       { background: #e3f2fd; color: #0d47a1; }
.processing-urgent .visa-price             { color: #1565c0; }
.processing-urgent .visa-option-footer     { background: #f0f7ff; }
.processing-urgent .visa-option-check      { background: #1565c0; }

/* ── Priority (purple) ── */
.processing-priority                       { border-color: #ddd0f8; }
.processing-priority:hover                 { border-color: #6f42c1; box-shadow: 0 0 0 3px rgba(111,66,193,0.08); }
.processing-priority.selected-card         { border-color: #6f42c1; box-shadow: 0 0 0 3px rgba(111,66,193,0.10); }
.processing-priority .processing-badge     { background: #f0ebff; color: #4a2a8a; }
.processing-priority .visa-price           { color: #6f42c1; }
.processing-priority .visa-option-footer   { background: #faf7ff; }
.processing-priority .visa-option-check    { background: #6f42c1; }

/* ── Default / Fallback ── */
.processing-default                        { border-color: #dee2e6; }
.processing-default:hover                  { border-color: #6c757d; box-shadow: 0 0 0 3px rgba(108,117,125,0.08); }
.processing-default.selected-card          { border-color: #6c757d; box-shadow: 0 0 0 3px rgba(108,117,125,0.10); }
.processing-default .processing-badge      { background: #f0f0f0; color: #555; }
.processing-default .visa-price            { color: #6c757d; }
.processing-default .visa-option-footer    { background: #f8f9fa; }
.processing-default .visa-option-check     { background: #6c757d; }