.infovisa-calc {
    display: grid;
    gap: 1.4rem;
    margin: 1.5rem 0 2.5rem;
    padding: clamp(1.1rem, 3vw, 2rem);
    min-width: 0;
    border: 1px solid #dedede;
    border-radius: 6px;
    background: #f5f5f5;
}

.infovisa-calc__lead,
.infovisa-calc__notice { margin: 0; }
.infovisa-calc__notice { color: #706861; font-size: .86rem; }
.infovisa-calc label { display: grid; min-width: 0; gap: .35rem; font-weight: 700; }
.infovisa-calc input[type="date"] {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 46px;
    padding: .65rem .75rem;
    border: 1px solid #cbbcad;
    border-radius: 5px;
    color: #27221f;
    background: white;
    font: inherit;
    font-size: 16px;
}

.infovisa-calc__planned { max-width: 330px; }
.infovisa-calc__history { display: grid; gap: .8rem; }
.infovisa-calc__history-head,
.infovisa-calc__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.infovisa-calc__history-head { justify-content: space-between; }
.infovisa-calc__history-head h2 { margin: 0; font-size: 1.45rem; }
.infovisa-calc__trip { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: .75rem; align-items: end; margin-bottom: .7rem; }
.infovisa-calc button {
    min-height: 42px;
    padding: .6rem 1rem;
    border: 1px solid #8e0609;
    border-radius: 5px;
    color: #8e0609;
    background: white;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}
.infovisa-calc__submit { color: white !important; background: #8e0609 !important; }
.infovisa-calc__reset { border-color: transparent !important; background: transparent !important; }
.infovisa-calc__result { display: none; padding: 1rem 1.1rem; border-radius: 12px; font-weight: 700; }
.infovisa-calc__result--success { display: block; color: #244d3c; background: #e1f0e8; }
.infovisa-calc__result--error { display: block; color: #771626; background: #f8e1e4; }

@media (max-width: 620px) {
    .infovisa-calc__trip { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .infovisa-calc__trip button { grid-column: 1 / -1; justify-self: start; min-height: 36px; padding-block: .35rem; }
}
@media (max-width: 400px) {
    .infovisa-calc__trip { grid-template-columns: minmax(0, 1fr); }
}
