.vrut-landing{
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    padding:0;
    font-family:inherit;
    color:#1f2937;
}

.vrut-shell{
    max-width:1120px;
    margin:0 auto;
    padding:0;
    box-sizing:border-box;
}

.vrut-hero{
    background:linear-gradient(135deg,#8f1717 0%,#c71f25 52%,#ef4444 100%);
    color:#fff;
    border-radius:0 0 28px 28px;
    padding:42px 38px 118px;
    box-shadow:0 18px 50px rgba(0,0,0,.14);
}

.vrut-hero h2{
    margin:0 0 14px;
    font-size:clamp(38px,4.6vw,64px);
    line-height:1;
    letter-spacing:-0.04em;
    max-width:11ch;
}

.vrut-subtitulo{
    margin:0;
    max-width:700px;
    font-size:22px;
    line-height:1.5;
    color:#fff;
    font-weight:500;
}

.vrut-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:24px;
    box-shadow:0 14px 36px rgba(15,23,42,.08);
}

.vrut-search-card{
    padding:28px;
    margin-top:-66px;
    position:relative;
    z-index:2;
}

.vrut-result-card{
    padding:24px;
    margin-top:20px;
}

.vrut-form-grid,
.vrut-grid{
    display:grid;
    gap:18px;
}

.vrut-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.vrut-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.vrut-grid-gap-small{gap:12px}
.vrut-form-group{display:flex;flex-direction:column;gap:8px}
.vrut-form-group-full{grid-column:1/-1}

.vrut-label{
    font-size:11px;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:#64748b;
    display:block;
    margin-bottom:6px;
}

.vrut-input,
.vrut-select{
    width:100%;
    padding:16px 18px;
    border:1px solid #cfd6df;
    border-radius:16px;
    font-size:16px;
    box-sizing:border-box;
    background:#fff;
    transition:.2s border-color,.2s box-shadow,.2s transform;
}

.vrut-input::placeholder{color:#94a3b8}

.vrut-input:focus,
.vrut-select:focus{
    outline:none;
    border-color:#b91c1c;
    box-shadow:0 0 0 4px rgba(185,28,28,.12);
}

.vrut-button{
    width:100%;
    padding:15px 18px;
    border:none;
    border-radius:16px;
    background:#c8102e;
    color:#fff;
    font-size:18px;
    font-weight:800;
    cursor:pointer;
    transition:.2s transform,.2s opacity,.2s box-shadow;
    box-shadow:0 12px 24px rgba(200,16,46,.22);
}

.vrut-button:hover{transform:translateY(-1px)}
.vrut-button[disabled]{opacity:.7;cursor:wait;transform:none}

.vrut-message{
    margin-top:16px;
    padding:14px 16px;
    border-radius:14px;
    font-size:16px;
    display:none;
    outline:none;
}

.vrut-message.is-visible{display:block}
.vrut-message-ok{background:#eaf8ef;color:#146c2e;border:1px solid #b7e4c7;border-left:5px solid #198754}
.vrut-message-warn{background:#fff8e1;color:#8a6d1d;border:1px solid #f3df9b;border-left:5px solid #d39e00}
.vrut-message-error{background:#fdecea;color:#a12622;border:1px solid #f5c2c7;border-left:5px solid #dc3545}

.vrut-info-box{
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:16px;
}

.vrut-info-box strong,
.vrut-highlight-card strong{display:block;font-size:17px;line-height:1.4}
.vrut-info-box small,
.vrut-highlight-card small{display:block;margin-top:6px;color:#6b7280;line-height:1.5}

.vrut-badge{
    display:inline-block;
    padding:7px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.vrut-badge-success{background:#ecfdf3;color:#166534}
.vrut-result-header h3,.vrut-section h4{margin:10px 0 8px}
.vrut-result-header p,.vrut-section-head p{margin:0;color:#6b7280}
.vrut-section-head{margin-bottom:14px}

.vrut-cert-list{display:grid;gap:16px}
.vrut-cert-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px}
.vrut-cert-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.vrut-cert-top h5{margin:0;font-size:20px}
.vrut-cert-code{margin:4px 0 0;color:#6b7280}
.vrut-pill{display:inline-block;padding:6px 10px;border-radius:999px;font-weight:700;font-size:13px;white-space:nowrap}

.vrut-highlight-card{
    background:linear-gradient(180deg,#fff5f5 0%,#fff 100%);
    border:1px solid #fecaca;
    border-radius:18px;
    padding:16px;
    margin-bottom:12px;
}

.vrut-history-wrap{
    margin-top:14px;
    border-top:1px solid #eee;
    padding-top:12px;
}

.vrut-history-wrap summary{
    cursor:pointer;
    font-weight:700;
    color:#1f2937;
    list-style:none;
}
.vrut-history-wrap summary::-webkit-details-marker{display:none}
.vrut-history-wrap summary::after{
    content:'+';
    float:right;
    font-size:20px;
    line-height:1;
    color:#64748b;
}
.vrut-history-wrap[open] summary::after{content:'−'}
.vrut-table-wrap{overflow:auto;margin-top:12px}
.vrut-table{width:100%;border-collapse:collapse}
.vrut-table th,.vrut-table td{text-align:left;padding:10px 8px;border-bottom:1px solid #eee;vertical-align:top}
.vrut-table th{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}
.vrut-empty-state{padding:18px;border:1px dashed #d1d5db;border-radius:16px;background:#f9fafb;color:#6b7280}
.vrut-spinner{display:none;margin-top:16px;color:#6b7280;font-weight:600}.vrut-spinner.is-visible{display:block}

@media (max-width: 860px){
    .vrut-shell{padding:0 12px}
    .vrut-form-grid,
    .vrut-grid-2,
    .vrut-form-grid-nombres{grid-template-columns:1fr}
    .vrut-hero{padding:30px 24px 90px;border-radius:0 0 24px 24px}
    .vrut-hero h2{font-size:clamp(32px,10vw,46px);max-width:none}
    .vrut-subtitulo{font-size:18px}
    .vrut-search-card{margin-top:-38px;padding:22px}
    .vrut-cert-top{flex-direction:column;align-items:flex-start}
}

.vrut-badge-warn{background:#fff8e1;color:#8a6d1d}

.vrut-no-result-card{
    display:flex;
    align-items:flex-start;
    gap:16px;
    padding:24px;
    margin-top:20px;
    border-color:#f3df9b;
    background:linear-gradient(180deg,#fffbeb 0%,#fff 100%);
    outline:none;
}

.vrut-no-result-icon{
    width:42px;
    height:42px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 42px;
    background:#f59e0b;
    color:#fff;
    font-size:24px;
    font-weight:900;
    line-height:1;
}

.vrut-no-result-card h3{
    margin:10px 0 8px;
    color:#7c2d12;
}

.vrut-no-result-card p{
    margin:0;
    color:#7c2d12;
    font-weight:700;
}

.vrut-no-result-card small{
    display:block;
    margin-top:8px;
    color:#92400e;
    line-height:1.5;
}
