/* ─────────────────────────────────────────────────────────────
   VARIÁVEIS
───────────────────────────────────────────────────────────── */
:root {
    --mhr-primary: #f97316;
    --mhr-primary-hover: #ea6c0a;
    --mhr-primary-soft: #fff3ea;
    --mhr-primary-border: #fcd5ab;
    --mhr-muted: #f8fafc;
    --mhr-border: #e5e7eb;
    --mhr-text: #111827;
    --mhr-text-muted: #6b7280;
    --mhr-radius: 12px;
    --mhr-radius-lg: 18px;
}

/* ─────────────────────────────────────────────────────────────
   BASE
───────────────────────────────────────────────────────────── */
* {
    box-sizing: border-box;
}

.mhr-section {
    padding: 32px 0;
    font-family: inherit;
    color: var(--mhr-text);
}

.mhr-section-title {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 6px;
    color: var(--mhr-text);
}

.mhr-section-note {
    font-size: 13px;
    color: var(--mhr-text-muted);
    font-style: italic;
    margin: 0 0 20px;
}

/* ─────────────────────────────────────────────────────────────
   LAYOUT DO CALENDÁRIO
───────────────────────────────────────────────────────────── */
.mhr-calendar-layout {
    display: flex;
    gap: 32px;
    align-items: flex-start;
    flex-wrap: wrap;
}

.mhr-calendar-left {
    flex: 1 1 580px;
    min-width: 0;
}

/* ─────────────────────────────────────────────────────────────
   NAVEGAÇÃO DO CALENDÁRIO
───────────────────────────────────────────────────────────── */
.mhr-calendar-nav {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
}

.mhr-cal-nav {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    cursor: pointer;
    color: #64748b;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.06);
    flex-shrink: 0;
}

.mhr-cal-nav:hover {
    background: #f8fafc;
    color: #0f172a;
}

.mhr-cal-months-wrap {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    gap: 32px;
}

.mhr-month-col {
    flex: 1 1 0;
    min-width: 0;
}

/* ─────────────────────────────────────────────────────────────
   MÊS
───────────────────────────────────────────────────────────── */
.mhr-month-name {
    text-align: center;
    font-weight: 800;
    font-size: 15px;
    margin: 0 0 10px;
    color: var(--mhr-text);
    text-transform: capitalize;
}

.mhr-month-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.mhr-month-table thead th {
    text-align: center;
    font-size: 11px;
    font-weight: 700;
    color: var(--mhr-text-muted);
    padding: 4px 0;
}

.mhr-month-table tbody tr {
    height: auto;
}

.mhr-month-table td {
    text-align: center;
    padding: 4px 2px;
    height: 58px;
    vertical-align: top;
    border-radius: 8px;
    user-select: none;
    position: relative;
    overflow: hidden;
}

.mhr-day {
    width: 100%;
    height: 100%;
    text-align: center;
    cursor: default;
    border-radius: 8px;
    position: relative;
    user-select: none;
}

.mhr-day-number {
    display: block;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--mhr-text);
}

.mhr-day-price {
    display: block;
    font-size: 10px;
    line-height: 1.1;
    color: var(--mhr-text-muted);
    margin-top: 2px;
}

/* Disponível */
.mhr-day-available {
    cursor: pointer;
}

.mhr-day-available:hover {
    background: var(--mhr-primary-soft);
}

.mhr-day-available:hover .mhr-day-number {
    color: var(--mhr-primary);
}

/* Bloqueado */
.mhr-day-blocked .mhr-day-number,
.mhr-day-blocked .mhr-day-price {
    color: #d1d5db;
}

.mhr-day-blocked {
    cursor: not-allowed;
}

/* Passado */
.mhr-day-past .mhr-day-number,
.mhr-day-past .mhr-day-price {
    color: #e5e7eb;
}

/* Selecionado */
.mhr-day-selected {
    background: var(--mhr-primary) !important;
    border-radius: 8px;
}

.mhr-day-selected .mhr-day-number {
    color: #fff !important;
}

.mhr-day-selected .mhr-day-price {
    color: rgba(255, 255, 255, 0.8) !important;
}

/* Range */
.mhr-day-in-range {
    background: var(--mhr-primary) !important;
    border-radius: 8px;
}

.mhr-day-in-range .mhr-day-number,
.mhr-day-in-range .mhr-day-price {
    color: #fff !important;
}

.mhr-day-range-start {
    border-radius: 8px 0 0 8px;
}

.mhr-day-range-end {
    border-radius: 0 8px 8px 0;
}

.mhr-min-days-note {
    font-size: 12px;
    color: var(--mhr-text-muted);
    margin-top: 10px;
}

/* ─────────────────────────────────────────────────────────────
   RESUMO DO CALENDÁRIO
───────────────────────────────────────────────────────────── */
.mhr-summary-aside {
    flex: 0 0 300px;
    border: 1px solid var(--mhr-border);
    border-radius: var(--mhr-radius-lg);
    padding: 24px;
    background: #fff;
    position: sticky;
    top: 80px;
}

.mhr-summary-price-block {
    margin-bottom: 16px;
}

.mhr-summary-price-value {
    font-size: 26px;
    font-weight: 800;
    color: var(--mhr-text);
    display: inline-block;
}

.mhr-summary-price-label {
    font-size: 14px;
    color: var(--mhr-text-muted);
    margin-left: 4px;
}

.mhr-summary-period {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--mhr-muted);
    border: 1px solid var(--mhr-border);
    border-radius: 30px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 16px;
}

.mhr-period-icon {
    font-size: 16px;
}

.mhr-period-change {
    background: none;
    border: none;
    color: var(--mhr-primary);
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    margin-left: auto;
    padding: 0;
}

.mhr-btn-reservar {
    display: block;
    width: 100%;
    background: var(--mhr-primary);
    color: #fff;
    border: none;
    border-radius: 30px;
    padding: 14px;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    transition: background 0.2s;
    letter-spacing: 0.5px;
}

.mhr-btn-reservar:hover:not([disabled]) {
    background: var(--mhr-primary-hover);
}

.mhr-btn-reservar[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
}

.mhr-not-charged {
    text-align: center;
    font-size: 12px;
    color: var(--mhr-text-muted);
    margin: 8px 0 16px;
}

.mhr-summary-features {
    border-top: 1px solid var(--mhr-border);
    padding-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.mhr-feature-item {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.mhr-feature-icon {
    font-size: 20px;
    flex-shrink: 0;
    margin-top: 2px;
}

.mhr-feature-item strong {
    display: block;
    font-size: 13px;
    color: var(--mhr-text);
}

.mhr-feature-item p {
    font-size: 12px;
    color: var(--mhr-text-muted);
    margin: 2px 0 0;
}

/* ─────────────────────────────────────────────────────────────
   WIZARD
───────────────────────────────────────────────────────────── */
.mhr-wizard-wrapper {
    margin-top: 40px;
    font-family: inherit;
}

.mhr-wizard-layout {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    flex-wrap: wrap;
}

.mhr-wizard-left {
    flex: 1 1 520px;
    min-width: 0;
}

.mhr-back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--mhr-primary);
    font-weight: 700;
    text-decoration: none;
    font-size: 14px;
    margin-bottom: 16px;
}

.mhr-back-link:hover {
    text-decoration: underline;
}

/* Barra de progresso */
.mhr-wizard-progress {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    margin: 20px 0 28px;
}

.mhr-progress-item {
    background: #fff;
    border: 1.5px solid #e6ebf2;
    border-radius: 16px;
    padding: 12px 8px;
    text-align: center;
    transition: all 0.2s ease;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
    min-width: 0;
}

.mhr-progress-item span {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    margin: 0 auto 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eef2f7;
    color: #64748b;
    font-weight: 800;
    font-size: 13px;
}

.mhr-progress-item small {
    display: block;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 700;
    color: #94a3b8;
}

.mhr-progress-item.is-active {
    border-color: var(--mhr-primary);
    background: #fff8f2;
}

.mhr-progress-item.is-active span {
    background: var(--mhr-primary);
    color: #fff;
    box-shadow: 0 6px 14px rgba(249, 115, 22, 0.25);
}

.mhr-progress-item.is-active small {
    color: #0f172a;
}

.mhr-progress-item.is-done span {
    background: #22c55e;
    color: #fff;
}

.mhr-progress-item.is-done small {
    color: #15803d;
}

/* Steps */
.mhr-step.mhr-step-card {
    background: #fff;
    border: 1.5px solid #e8edf4;
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.05);
    margin-bottom: 20px;
    transition: all 0.2s ease;
}

.mhr-step.mhr-step-locked {
    opacity: 0.65;
}

.mhr-step.mhr-step-locked.mhr-step-unlocked {
    opacity: 1;
}

.mhr-step-header-modern {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 20px;
}

.mhr-step-headline {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.mhr-step-badge {
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--mhr-primary);
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(249, 115, 22, 0.22);
    margin-top: 2px;
}

.mhr-step-badge-muted {
    background: #e2e8f0;
    color: #94a3b8;
    box-shadow: none;
}

.mhr-step-title {
    margin: 0 0 6px;
    font-size: 24px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.mhr-step-desc {
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
    color: #596174;
}

.mhr-form-section {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1.5px solid #f1f5f9;
}

.mhr-form-section-title {
    font-size: 17px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 16px;
}

.mhr-form-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px 18px;
}

.mhr-form-group {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.mhr-span-12 { grid-column: span 12; }
.mhr-span-9 { grid-column: span 9; }
.mhr-span-8 { grid-column: span 8; }
.mhr-span-6 { grid-column: span 6; }
.mhr-span-4 { grid-column: span 4; }
.mhr-span-3 { grid-column: span 3; }

.mhr-form-group label,
.mhr-wizard-wrapper label {
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
}

.mhr-label-hint {
    color: #94a3b8;
    font-size: 13px;
    cursor: help;
    margin-left: 2px;
}

.mhr-wizard-wrapper input:not([type="checkbox"]):not([type="radio"]),
.mhr-wizard-wrapper select {
    width: 100%;
    height: 56px;
    border: 1.5px solid #d8e0ea;
    border-radius: 999px;
    background: #fff;
    color: #0f172a;
    padding: 0 20px;
    font-size: 15px;
    transition: all 0.2s ease;
}

.mhr-wizard-wrapper textarea {
    width: 100%;
    border: 1.5px solid #d8e0ea;
    border-radius: 20px;
    background: #fff;
    color: #0f172a;
    padding: 14px 20px;
    font-size: 15px;
    min-height: 110px;
    resize: vertical;
    transition: all 0.2s ease;
}

.mhr-wizard-wrapper input::placeholder,
.mhr-wizard-wrapper textarea::placeholder {
    color: #b0bec5;
}

.mhr-wizard-wrapper input:focus,
.mhr-wizard-wrapper select:focus,
.mhr-wizard-wrapper textarea:focus {
    outline: none;
    border-color: var(--mhr-primary);
    box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.10);
}

.mhr-wizard-wrapper input:hover:not(:disabled),
.mhr-wizard-wrapper select:hover:not(:disabled),
.mhr-wizard-wrapper textarea:hover:not(:disabled) {
    border-color: #b0bec5;
}

.mhr-wizard-wrapper input.mhr-error,
.mhr-wizard-wrapper select.mhr-error,
.mhr-wizard-wrapper textarea.mhr-error {
    border-color: #ef4444;
    box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.08);
}

.mhr-wizard-wrapper input.mhr-success,
.mhr-wizard-wrapper select.mhr-success,
.mhr-wizard-wrapper textarea.mhr-success {
    border-color: #22c55e;
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.08);
}

.mhr-select-wrap {
    position: relative;
}

.mhr-select-wrap::after {
    content: '▾';
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #94a3b8;
    font-size: 12px;
}

.mhr-select-wrap select {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 36px;
    cursor: pointer;
}

.mhr-wizard-wrapper input[type="checkbox"],
.mhr-wizard-wrapper input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: var(--mhr-primary);
    cursor: pointer;
    border-radius: 4px;
}

.mhr-checkbox-label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #334155;
    cursor: pointer;
}

.mhr-field-error {
    font-size: 12px;
    font-weight: 600;
    color: #ef4444;
    display: none;
}

.mhr-field-hint {
    font-size: 12px;
    color: #94a3b8;
}

.mhr-km-feedback {
    font-size: 13px;
    padding: 10px 14px;
    border-radius: 12px;
    margin-top: 4px;
}

.mhr-km-feedback.error {
    background: #fef2f2;
    border: 1px solid #fca5a5;
    color: #b91c1c;
}

.mhr-km-feedback.success {
    background: #f0fdf4;
    border: 1px solid #86efac;
    color: #15803d;
}

.mhr-step-actions {
    margin-top: 24px;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.mhr-wizard-wrapper .mhr-btn-proximo,
.mhr-wizard-wrapper .mhr-btn-submit,
.mhr-wizard-wrapper .mhr-btn-reservar-summary {
    height: 52px;
    border-radius: 999px;
    padding: 0 28px;
    border: none;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.03em;
    cursor: pointer;
    transition: all 0.2s ease;
    background: var(--mhr-primary);
    color: #fff;
    box-shadow: 0 10px 22px rgba(249, 115, 22, 0.20);
    text-transform: uppercase;
}

.mhr-wizard-wrapper .mhr-btn-proximo:hover,
.mhr-wizard-wrapper .mhr-btn-submit:hover,
.mhr-wizard-wrapper .mhr-btn-reservar-summary:hover {
    background: var(--mhr-primary-hover);
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(249, 115, 22, 0.25);
}

.mhr-wizard-wrapper .mhr-btn-proximo:disabled,
.mhr-wizard-wrapper .mhr-btn-submit:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    transform: none;
}

.mhr-wizard-wrapper .mhr-link-orange,
.mhr-wizard-wrapper .mhr-step-edit,
.mhr-back-link {
    color: var(--mhr-primary);
    font-weight: 700;
    text-decoration: none;
    font-size: 14px;
}

.mhr-wizard-wrapper .mhr-link-orange:hover,
.mhr-wizard-wrapper .mhr-step-edit:hover,
.mhr-back-link:hover {
    text-decoration: underline;
}

/* ─────────────────────────────────────────────────────────────
   COBERTURAS
───────────────────────────────────────────────────────────── */
.mhr-coverage-intro {
    margin: 0 0 22px;
    font-size: 16px;
    line-height: 1.55;
    color: #0f172a;
}

.mhr-coverage-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-bottom: 22px;
}

.mhr-coverage-card {
    display: block;
    cursor: pointer;
}

.mhr-coverage-card input[type="radio"] {
    display: none;
}

.mhr-coverage-card-inner {
    height: 100%;
    padding: 22px;
    border-radius: 26px;
    background: #fff;
    border: 1.5px solid #dbe4ef;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
    transition: all 0.22s ease;
    display: flex;
    flex-direction: column;
}

.mhr-coverage-card:hover .mhr-coverage-card-inner {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
}

.mhr-coverage-card:has(input:checked) .mhr-coverage-card-inner {
    border-color: var(--mhr-primary);
    box-shadow: 0 18px 42px rgba(249, 115, 22, 0.16);
}

.mhr-coverage-card-head {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 8px;
}

.mhr-coverage-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: #f8fafc;
    font-size: 26px;
    line-height: 1;
    color: #94a3b8;
}

.mhr-coverage-card:has(input:checked) .mhr-coverage-icon,
.mhr-coverage-card-featured .mhr-coverage-icon {
    color: var(--mhr-primary);
    background: #fff7ed;
}

.mhr-coverage-card-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.mhr-coverage-card-title-row h4 {
    margin: 0;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 800;
    color: #0f172a;
}

.mhr-coverage-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 12px;
    border-radius: 999px;
    background: #ea8b17;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.mhr-coverage-price-wrap {
    margin-bottom: 18px;
}

.mhr-coverage-price-main {
    font-size: 26px;
    line-height: 1.15;
    font-weight: 900;
    color: #0f172a;
}

.mhr-coverage-price-main small {
    font-size: .58em;
    font-weight: 800;
    color: #0f172a;
    margin-left: 4px;
}

.mhr-coverage-benefits {
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid #edf2f7;
    padding: 8px 18px;
    display: grid;
    gap: 0;
}

.mhr-coverage-benefit-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid #edf2f7;
}

.mhr-coverage-benefit-row:last-child {
    border-bottom: none;
}

.mhr-coverage-benefit-row span {
    font-size: 15px;
    line-height: 1.35;
    color: #0f172a;
}

.mhr-coverage-benefit-row strong {
    font-size: 15px;
    font-weight: 900;
    color: #0f172a;
    text-align: right;
}

.mhr-coverage-benefit-row .is-included {
    color: #f97316;
}

.mhr-coverage-benefit-row .is-excluded {
    color: #6b7280;
}

.mhr-coverage-card-action {
    margin-top: 18px;
}

.mhr-coverage-card-action span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 54px;
    padding: 12px 18px;
    border-radius: 999px;
    font-size: 16px;
    font-weight: 800;
    transition: all .2s ease;
}

.mhr-coverage-select-label {
    border: 1.5px solid var(--mhr-primary);
    color: var(--mhr-primary);
    background: #fff;
}

.mhr-coverage-selected-label {
    display: none !important;
    background: var(--mhr-primary);
    color: #fff;
    box-shadow: 0 12px 26px rgba(249, 115, 22, 0.24);
}

.mhr-coverage-card:has(input:checked) .mhr-coverage-select-label {
    display: none !important;
}

.mhr-coverage-card:has(input:checked) .mhr-coverage-selected-label {
    display: flex !important;
}

.mhr-insurance-info {
    background: #f8fafc;
    border: 1px solid #e8edf4;
    border-radius: 16px;
    padding: 16px 20px;
    font-size: 13px;
    color: #64748b;
    margin-bottom: 16px;
}

.mhr-insurance-info p {
    margin: 6px 0;
}

@media (max-width: 900px) {
    .mhr-coverage-cards {
        grid-template-columns: 1fr;
    }

    .mhr-coverage-card-inner {
        padding: 18px;
        border-radius: 22px;
    }

    .mhr-coverage-benefit-row span,
    .mhr-coverage-benefit-row strong {
        font-size: 14px;
    }
}

/* ─────────────────────────────────────────────────────────────
   ADICIONAIS
───────────────────────────────────────────────────────────── */
.mhr-additionals-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 20px;
}

.mhr-additional-item {
    display: flex;
    align-items: center;
    gap: 16px;
    border: 1.5px solid #e8edf4;
    border-radius: 20px;
    padding: 16px;
    background: #fff;
    transition: all 0.2s ease;
}

.mhr-additional-item:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}

.mhr-additional-img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 14px;
    flex-shrink: 0;
}

.mhr-additional-info {
    flex: 1;
    min-width: 0;
}

.mhr-additional-info strong {
    font-size: 14px;
    font-weight: 800;
    display: block;
    margin-bottom: 2px;
}

.mhr-additional-info p {
    font-size: 12px;
    color: #64748b;
    margin: 0 0 4px;
}

.mhr-additional-price {
    font-size: 14px;
    font-weight: 800;
    color: var(--mhr-primary);
}

.mhr-additional-qty-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.mhr-qty-btn {
    width: 34px;
    height: 34px;
    border: 1.5px solid #e2e8f0;
    border-radius: 999px;
    background: #fff;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    color: #334155;
}

.mhr-qty-btn:hover {
    background: var(--mhr-primary-soft);
    border-color: var(--mhr-primary);
    color: var(--mhr-primary);
}

.mhr-additional-qty {
    width: 42px;
    height: 42px;
    text-align: center;
    border: 1.5px solid #e2e8f0;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    padding: 0;
}

/* ─────────────────────────────────────────────────────────────
   RESUMO LATERAL DO WIZARD
───────────────────────────────────────────────────────────── */
.mhr-wizard-summary {
    flex: 0 0 300px;
    min-width: 260px;
    background: #fff;
    border: 1.5px solid #e8edf4;
    border-radius: 24px;
    padding: 24px;
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06);
    position: sticky;
    top: 80px;
    align-self: flex-start;
}

.mhr-wizard-summary-title {
    font-size: 17px;
    font-weight: 800;
    margin: 0 0 16px;
    color: #0f172a;
}

.mhr-ws-vehicle {
    font-size: 15px;
    font-weight: 800;
    margin-bottom: 14px;
    color: #0f172a;
}

.mhr-ws-dates {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1.5px solid #f1f5f9;
}

.mhr-ws-date-col {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
}

.mhr-ws-arrow {
    font-size: 16px;
    color: var(--mhr-primary);
    margin-top: 12px;
}

.mhr-ws-label {
    font-size: 11px;
    text-transform: uppercase;
    color: #94a3b8;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.mhr-ws-date-value {
    font-size: 13px;
    font-weight: 700;
    color: #0f172a;
}

.mhr-ws-time {
    font-size: 12px;
    color: #64748b;
}

.mhr-ws-total-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 10px;
}

.mhr-ws-total {
    font-size: 18px;
    font-weight: 800;
    display: block;
    color: #0f172a;
}

.mhr-ws-detail-link {
    font-size: 12px;
    display: inline-block;
    margin-top: 2px;
}

.mhr-ws-installments,
.mhr-ws-installments10 {
    display: block;
    font-size: 11px;
    line-height: 1;
    color: #64748b;
    margin-top: 2px;
}

.mhr-ws-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.mhr-ws-value {
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
}

.mhr-ws-row .mhr-ws-label,
.mhr-ws-row .mhr-ws-value {
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
}

.mhr-ws-actions {
    margin-top: 16px;
}

.mhr-wizard-wrapper .mhr-btn-reservar-summary {
    width: 100%;
    justify-content: center;
}

.mhr-not-charged {
    text-align: center;
    font-size: 12px;
    color: #94a3b8;
    margin: 8px 0 0;
}

/* ─────────────────────────────────────────────────────────────
   KM FEEDBACK
───────────────────────────────────────────────────────────── */
.mhr-km-feedback {
    font-size: 13px;
    padding: 10px 14px;
    border-radius: 12px;
    margin-top: 4px;
}

.mhr-km-feedback.error {
    background: #fef2f2;
    border: 1px solid #fca5a5;
    color: #b91c1c;
}

.mhr-km-feedback.success {
    background: #f0fdf4;
    border: 1px solid #86efac;
    color: #15803d;
}

/* ─────────────────────────────────────────────────────────────
   MODAL
───────────────────────────────────────────────────────────── */
.mhr-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.mhr-modal-box {
    background: #fff;
    border-radius: 24px;
    padding: 28px;
    max-width: 480px;
    width: 90%;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.18);
    position: relative;
}

.mhr-modal-box h3 {
    margin: 0 0 14px;
    font-size: 18px;
    font-weight: 800;
}

.mhr-modal-box h4 {
    margin: 16px 0 6px;
    font-size: 15px;
    font-weight: 700;
}

.mhr-modal-box p {
    font-size: 14px;
    color: #334155;
    margin: 6px 0;
    line-height: 1.6;
}

.mhr-modal-close {
    position: absolute;
    top: 14px;
    right: 18px;
    border: none;
    background: transparent;
    font-size: 22px;
    cursor: pointer;
    color: #94a3b8;
    line-height: 1;
}

.mhr-modal-close:hover {
    color: #0f172a;
}

.mhr-empty-text {
    color: #94a3b8;
    font-size: 14px;
    text-align: center;
    padding: 20px 0;
}

/* ─────────────────────────────────────────────────────────────
   RESPONSIVO
───────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .mhr-calendar-layout,
    .mhr-wizard-layout {
        flex-direction: column;
    }

    .mhr-summary-aside,
    .mhr-wizard-summary {
        position: static;
        width: 100%;
        margin-top: 24px;
    }
}

@media (max-width: 768px) {

    .mhr-section {
        padding-bottom: 24px;
    }

    /* CALENDÁRIO MOBILE:
       botões em cima e mês ocupando a largura total abaixo */
    .mhr-calendar-nav {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: flex-start !important;
        gap: 10px 12px !important;
        width: 100% !important;
    }

    .mhr-cal-prev {
        order: 1;
    }

    .mhr-cal-next {
        order: 2;
        margin-left: auto;
    }

    .mhr-cal-months-wrap {
        order: 3;
        flex: 0 0 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        display: block !important;
        overflow: hidden !important;
    }

    .mhr-month-col {
        width: 100% !important;
        min-width: 0 !important;
    }

    .mhr-month-table {
        width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        display: table !important;
    }

    .mhr-month-table thead {
        display: table-header-group !important;
    }

    .mhr-month-table tbody {
        display: table-row-group !important;
    }

    .mhr-month-table tr {
        display: table-row !important;
    }

    .mhr-month-table th,
    .mhr-month-table td {
        display: table-cell !important;
    }

    .mhr-month-name {
        text-align: center;
        font-size: 24px;
        font-weight: 800;
        color: #0f172a;
        margin: 10px 0 12px;
        text-transform: capitalize;
    }

    .mhr-month-table thead th {
        font-size: 11px;
        font-weight: 700;
        color: #94a3b8;
        text-align: center;
        padding: 4px 0 10px;
    }

    .mhr-month-table td {
        padding: 2px;
        vertical-align: top;
        overflow: hidden;
    }

    .mhr-day {
        min-height: 62px;
        border-radius: 12px;
        padding: 6px 4px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
    }

    .mhr-day-number {
        font-size: 15px;
        font-weight: 800;
        line-height: 1.1;
    }

    .mhr-day-price {
        font-size: 10px;
        margin-top: 4px;
        line-height: 1.1;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }

    .mhr-summary-aside {
        display: none !important;
    }

    .mhr-wizard-progress {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .mhr-form-grid {
        grid-template-columns: 1fr;
    }

    .mhr-span-12,
    .mhr-span-9,
    .mhr-span-8,
    .mhr-span-6,
    .mhr-span-4,
    .mhr-span-3 {
        grid-column: span 1;
    }

    .mhr-step.mhr-step-card {
        border-radius: 20px;
        padding: 20px;
    }

    .mhr-step-title {
        font-size: 20px;
    }

    .mhr-wizard-wrapper input:not([type="checkbox"]):not([type="radio"]),
    .mhr-wizard-wrapper select {
        height: 52px;
        font-size: 14px;
    }

    .mhr-wizard-wrapper .mhr-btn-proximo,
    .mhr-wizard-wrapper .mhr-btn-submit,
    .mhr-wizard-wrapper .mhr-btn-reservar-summary {
        width: 100%;
    }

    .mhr-additional-item {
        flex-direction: column;
        align-items: flex-start;
    }

    .mhr-additional-qty-wrap {
        align-self: flex-end;
    }

    .mhr-wizard-summary {
        display: block;
        width: 100%;
    }
}

/* ─────────────────────────────────────────────────────────────
   KM BLOCK — campo readonly + adicionais
───────────────────────────────────────────────────────────── */

.mhr-km-block {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* Linha do campo readonly */
.mhr-km-included-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.mhr-km-included-wrap input[readonly] {
    width: 160px !important;
    flex-shrink: 0;
    background: #f8fafc !important;
    color: #0f172a !important;
    font-weight: 700 !important;
    cursor: default !important;
    border-color: #e2e8f0 !important;
    box-shadow: none !important;
    text-align: center;
}

.mhr-km-included-wrap input[readonly]:focus {
    border-color: #e2e8f0 !important;
    box-shadow: none !important;
    outline: none !important;
}

.mhr-km-included-suffix {
    font-size: 14px;
    color: #64748b;
    font-weight: 600;
    white-space: nowrap;
}

/* Linha da pergunta */
.mhr-km-extra-question {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    background: #f8fafc;
    border: 1.5px solid #e8edf4;
    border-radius: 999px;
    padding: 12px 20px;
}

.mhr-km-extra-label {
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
    flex-shrink: 0;
}

.mhr-km-extra-radios {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-left: auto;
}

.mhr-radio-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: #334155;
    cursor: pointer;
}

.mhr-radio-label input[type="radio"] {
    width: 18px !important;
    height: 18px !important;
    accent-color: var(--mhr-primary);
    cursor: pointer;
    flex-shrink: 0;
}

/* Box de km adicional */
.mhr-km-extra-wrap {
    background: #fff8f2;
    border: 1.5px solid var(--mhr-primary-border);
    border-radius: 20px;
    padding: 18px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.mhr-km-extra-wrap label {
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
}

.mhr-km-extra-input-row {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.mhr-km-extra-input-row input {
    width: 160px !important;
    flex-shrink: 0;
}

.mhr-km-extra-price-label {
    font-size: 15px;
    font-weight: 800;
    color: var(--mhr-primary);
    white-space: nowrap;
}

/* Mobile */
@media (max-width: 768px) {
    .mhr-km-included-wrap {
        flex-direction: column;
        align-items: flex-start;
    }

    .mhr-km-included-wrap input[readonly] {
        width: 100% !important;
    }

    .mhr-km-extra-question {
        flex-direction: column;
        align-items: flex-start;
        border-radius: 20px;
        gap: 10px;
    }

    .mhr-km-extra-radios {
        margin-left: 0;
    }

    .mhr-km-extra-input-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .mhr-km-extra-input-row input {
        width: 100% !important;
    }
}
/* ─────────────────────────────────────────────────────────────
   RESPONSIVO REFORÇADO — experiência mobile pública
───────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .mhr-section {
        width: 100%;
        padding: 20px 0 24px;
        overflow-x: hidden;
    }

    .mhr-section-title {
        font-size: 20px;
        line-height: 1.25;
    }

    .mhr-section-note {
        margin-bottom: 14px;
        line-height: 1.45;
    }

    .mhr-calendar-layout,
    .mhr-calendar-left,
    .mhr-cal-months-wrap,
    .mhr-month-col {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .mhr-calendar-layout {
        gap: 16px;
    }

    .mhr-calendar-left {
        flex: 0 0 100% !important;
        overflow: hidden;
    }

    .mhr-calendar-nav {
        gap: 10px !important;
    }

    .mhr-cal-nav {
        width: 40px;
        height: 40px;
        border-radius: 12px;
        font-size: 20px;
    }

    .mhr-cal-months-wrap {
        margin-top: 2px;
    }

    .mhr-month-name {
        font-size: 21px;
        line-height: 1.25;
        margin: 8px 0 10px;
    }

    .mhr-month-table {
        border-collapse: separate !important;
        border-spacing: 2px !important;
        table-layout: fixed !important;
    }

    .mhr-month-table thead th {
        padding: 3px 0 7px;
        font-size: 10px;
        line-height: 1.1;
    }

    .mhr-month-table td {
        height: auto !important;
        padding: 0 !important;
        border-radius: 12px;
        overflow: hidden;
    }

    .mhr-day {
        min-height: 56px;
        height: auto;
        padding: 6px 2px;
        border-radius: 12px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 2px;
        overflow: hidden;
    }

    .mhr-day-number {
        font-size: clamp(12px, 3.6vw, 15px);
        line-height: 1;
    }

    .mhr-day-price {
        display: block;
        width: 100%;
        max-width: 100%;
        margin-top: 1px;
        padding: 0 1px;
        font-size: clamp(8.5px, 2.45vw, 10.5px);
        line-height: 1.05;
        letter-spacing: -0.02em;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        text-align: center;
    }

    .mhr-day-selected,
    .mhr-day-in-range,
    .mhr-day-range-start,
    .mhr-day-range-end {
        border-radius: 12px !important;
    }

    .mhr-min-days-note {
        padding: 11px 13px;
        background: #f8fafc;
        border: 1px solid #e5e7eb;
        border-radius: 14px;
        line-height: 1.4;
    }

    .mhr-summary-aside {
        display: block !important;
        position: static;
        width: 100%;
        padding: 18px;
        margin-top: 16px;
        border-radius: 18px;
    }

    .mhr-summary-features {
        display: none;
    }

    .mhr-summary-price-value {
        font-size: 24px;
    }

    .mhr-summary-period {
        align-items: flex-start;
        border-radius: 16px;
        line-height: 1.35;
    }

    .mhr-period-change {
        white-space: nowrap;
    }

    .mhr-wizard-wrapper {
        margin-top: 24px;
    }

    .mhr-wizard-layout {
        gap: 18px;
    }

    .mhr-wizard-left,
    .mhr-wizard-summary {
        flex: 0 0 100%;
        min-width: 0;
        max-width: 100%;
    }

    .mhr-wizard-progress {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding: 2px 2px 10px;
        margin: 14px 0 20px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .mhr-progress-item {
        flex: 0 0 98px;
        padding: 10px 8px;
        border-radius: 14px;
        scroll-snap-align: start;
    }

    .mhr-progress-item span {
        width: 28px;
        height: 28px;
        margin-bottom: 5px;
    }

    .mhr-progress-item small {
        font-size: 10px;
        line-height: 1.15;
    }

    .mhr-step.mhr-step-card {
        padding: 18px;
        border-radius: 18px;
    }

    .mhr-step-header-modern,
    .mhr-step-headline {
        gap: 10px;
    }

    .mhr-step-header-modern {
        flex-direction: column;
    }

    .mhr-step-badge {
        width: 32px;
        height: 32px;
        min-width: 32px;
        font-size: 13px;
    }

    .mhr-step-title {
        font-size: 19px;
    }

    .mhr-step-desc {
        font-size: 13px;
        line-height: 1.55;
    }

    .mhr-form-grid {
        gap: 14px;
    }

    .mhr-wizard-wrapper input:not([type="checkbox"]):not([type="radio"]),
    .mhr-wizard-wrapper select,
    .mhr-wizard-wrapper textarea {
        font-size: 16px;
        border-radius: 16px;
    }

    .mhr-wizard-wrapper input:not([type="checkbox"]):not([type="radio"]),
    .mhr-wizard-wrapper select {
        height: 50px;
        padding: 0 15px;
    }

    .mhr-wizard-wrapper textarea {
        padding: 13px 15px;
    }

    .mhr-select-wrap::after {
        right: 14px;
    }

    .mhr-coverage-cards {
        gap: 12px;
    }

    .mhr-coverage-card {
        flex-basis: 100%;
        padding: 16px;
        border-radius: 18px;
    }

    .mhr-coverage-card-top {
        gap: 12px;
    }

    .mhr-coverage-price {
        white-space: nowrap;
    }

    .mhr-additional-item {
        display: grid;
        grid-template-columns: 58px minmax(0, 1fr);
        align-items: start;
        gap: 12px;
        padding: 14px;
        border-radius: 18px;
    }

    .mhr-additional-img {
        width: 58px;
        height: 58px;
        border-radius: 12px;
    }

    .mhr-additional-qty-wrap {
        grid-column: 1 / -1;
        align-self: stretch;
        justify-content: flex-end;
        width: 100%;
    }

    .mhr-ws-dates,
    .mhr-ws-row,
    .mhr-ws-total-row {
        gap: 8px;
    }

    .mhr-modal-box {
        width: calc(100vw - 28px);
        max-height: calc(100vh - 36px);
        overflow: auto;
        padding: 22px;
        border-radius: 20px;
    }
}

@media (max-width: 480px) {
    .mhr-section-title {
        font-size: 18px;
    }

    .mhr-month-name {
        font-size: 18px;
    }

    .mhr-cal-nav {
        width: 38px;
        height: 38px;
    }

    .mhr-day {
        min-height: 50px;
        padding: 5px 1px;
        border-radius: 10px;
    }

    .mhr-day-number {
        font-size: 13px;
    }

    .mhr-day-price {
        font-size: 9px;
        letter-spacing: -0.035em;
    }

    .mhr-month-table {
        border-spacing: 1px !important;
    }

    .mhr-summary-aside,
    .mhr-wizard-summary,
    .mhr-step.mhr-step-card {
        padding: 16px;
    }

    .mhr-km-extra-radios {
        width: 100%;
        justify-content: space-between;
    }

    .mhr-step-actions {
        gap: 10px;
    }

    .mhr-wizard-wrapper .mhr-btn-proximo,
    .mhr-wizard-wrapper .mhr-btn-submit,
    .mhr-wizard-wrapper .mhr-btn-reservar-summary,
    .mhr-btn-reservar {
        min-height: 50px;
        height: auto;
        padding: 13px 18px;
        line-height: 1.25;
    }
}

@media (max-width: 360px) {
    .mhr-day {
        min-height: 46px;
    }

    .mhr-day-price {
        font-size: 8.5px;
    }

    .mhr-month-table thead th {
        font-size: 9px;
    }

    .mhr-progress-item {
        flex-basis: 90px;
    }
}

/* ─────────────────────────────────────────────────────────────
   CALENDÁRIO MOBILE — layout inspirado em reservas/hotelaria
───────────────────────────────────────────────────────────── */
.mhr-mobile-month-title {
    display: none;
}

@media (max-width: 768px) {
    .mhr-section {
        padding-top: 22px;
    }

    .mhr-section-title {
        font-size: 24px;
        line-height: 1.18;
        margin-bottom: 18px;
        letter-spacing: -0.02em;
    }

    .mhr-section-note {
        font-size: 17px;
        line-height: 1.55;
        margin: 0 0 28px;
        color: #4b5563;
    }

    .mhr-calendar-nav {
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr) 44px;
        grid-template-areas:
            "prev title next"
            "body body body";
        align-items: center !important;
        gap: 10px 12px !important;
        width: 100% !important;
    }

    .mhr-cal-prev {
        grid-area: prev;
        order: initial !important;
    }

    .mhr-cal-next {
        grid-area: next;
        order: initial !important;
        margin-left: 0 !important;
    }

    .mhr-mobile-month-title {
        grid-area: title;
        display: block;
        text-align: center;
        font-size: 23px;
        font-weight: 900;
        line-height: 1.15;
        color: #030712;
        letter-spacing: -0.02em;
    }

    .mhr-cal-nav {
        width: 44px;
        height: 44px;
        border-radius: 9px;
        border-color: #dfe3ea;
        background: #fff;
        color: #c5cbd4;
        font-size: 32px;
        font-weight: 700;
        line-height: 1;
        box-shadow: none;
    }

    .mhr-cal-nav:hover,
    .mhr-cal-nav:focus {
        color: var(--mhr-primary);
        border-color: var(--mhr-primary-border);
        background: #fff;
        outline: none;
    }

    .mhr-cal-months-wrap {
        grid-area: body;
        order: initial !important;
        width: 100% !important;
        margin-top: 0 !important;
        display: block !important;
        overflow: visible !important;
    }

    .mhr-month-name {
        display: none !important;
    }

    .mhr-month-table {
        width: 100% !important;
        border-collapse: collapse !important;
        border-spacing: 0 !important;
        table-layout: fixed !important;
    }

    .mhr-month-table thead th {
        padding: 16px 0 13px !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        color: #8f96a3 !important;
        letter-spacing: 0 !important;
        text-align: center;
    }

    .mhr-month-table td {
        height: 76px !important;
        padding: 0 !important;
        vertical-align: top !important;
        overflow: visible !important;
        border-radius: 0 !important;
    }

    .mhr-day {
        width: 100%;
        min-height: 72px !important;
        height: 72px !important;
        padding: 12px 1px 5px !important;
        border-radius: 0 !important;
        background: transparent;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 0;
    }

    .mhr-day-empty {
        visibility: hidden;
        pointer-events: none;
    }

    .mhr-day-number {
        font-size: 16px !important;
        font-weight: 900 !important;
        line-height: 1.05 !important;
        color: #030712;
    }

    .mhr-day-price {
        display: block;
        width: 100%;
        max-width: none;
        margin-top: 10px !important;
        padding: 0 !important;
        font-size: 13px !important;
        font-weight: 500;
        line-height: 1 !important;
        letter-spacing: -0.055em !important;
        color: #030712;
        white-space: nowrap;
        overflow: visible;
        text-overflow: clip;
        text-align: center;
    }

    .mhr-day-available:hover {
        background: transparent;
    }

    .mhr-day-available:hover .mhr-day-number {
        color: #030712;
    }

    .mhr-day-selected {
        background: var(--mhr-primary) !important;
        border-radius: 8px !important;
        box-shadow: 0 8px 18px rgba(249, 115, 22, 0.28);
    }

    .mhr-day-selected .mhr-day-number,
    .mhr-day-selected .mhr-day-price {
        color: #fff !important;
    }

    .mhr-day-in-range:not(.mhr-day-selected) {
        background: var(--mhr-primary) !important;
        border-radius: 8px !important;
        box-shadow: 0 8px 18px rgba(249, 115, 22, 0.22);
    }

    .mhr-day-in-range:not(.mhr-day-selected) .mhr-day-number,
    .mhr-day-in-range:not(.mhr-day-selected) .mhr-day-price {
        color: #fff !important;
    }

    .mhr-day-blocked,
    .mhr-day-past {
        opacity: 0.32;
    }

    .mhr-day-blocked .mhr-day-number,
    .mhr-day-blocked .mhr-day-price,
    .mhr-day-past .mhr-day-number,
    .mhr-day-past .mhr-day-price {
        color: #9ca3af !important;
    }

    .mhr-min-days-note {
        margin-top: 14px;
        padding: 12px 14px;
        border-radius: 14px;
        font-size: 13px;
        background: #f9fafb;
        border: 1px solid #eef0f3;
    }

    .mhr-summary-aside {
        position: sticky !important;
        bottom: 0;
        z-index: 20;
        display: grid !important;
        grid-template-columns: minmax(0, 0.9fr) minmax(145px, 1.1fr);
        gap: 8px 14px;
        align-items: center;
        width: calc(100% + 32px);
        margin: 20px -16px 0;
        padding: 14px 16px calc(14px + env(safe-area-inset-bottom));
        border-radius: 18px 18px 0 0;
        border-left: 0;
        border-right: 0;
        border-bottom: 0;
        box-shadow: 0 -10px 30px rgba(15, 23, 42, 0.08);
    }

    .mhr-summary-price-block {
        margin: 0;
        min-width: 0;
    }

    .mhr-summary-price-label {
        display: block;
        font-size: 13px;
        font-style: italic;
        color: #8a9099;
        margin-bottom: 2px;
    }

    .mhr-summary-price-value {
        font-size: 23px !important;
        line-height: 1;
        letter-spacing: -0.03em;
    }

    .mhr-summary-price-unit {
        font-size: 13px;
        font-weight: 700;
        color: #030712;
    }

    .mhr-btn-reservar {
        width: 100%;
        min-height: 54px;
        border-radius: 999px;
        font-size: 15px;
        padding: 12px 16px;
        white-space: normal;
    }

    .mhr-summary-period {
        grid-column: 1 / -1;
        order: 3;
        margin: 0;
        padding: 10px 12px;
        border-radius: 14px;
        font-size: 13px;
    }

    .mhr-not-charged,
    .mhr-summary-features {
        display: none !important;
    }
}

@media (max-width: 480px) {
    .mhr-mobile-month-title {
        font-size: 21px;
    }

    .mhr-month-table td {
        height: 70px !important;
    }

    .mhr-day {
        min-height: 66px !important;
        height: 66px !important;
        padding-top: 10px !important;
    }

    .mhr-day-number {
        font-size: 15px !important;
    }

    .mhr-day-price {
        margin-top: 9px !important;
        font-size: 12px !important;
        letter-spacing: -0.06em !important;
    }

    .mhr-summary-price-value {
        font-size: 22px !important;
    }
}

@media (max-width: 375px) {
    .mhr-month-table thead th {
        padding-top: 14px !important;
    }

    .mhr-calendar-nav {
        grid-template-columns: 40px minmax(0, 1fr) 40px;
        gap: 8px !important;
    }

    .mhr-cal-nav {
        width: 40px;
        height: 40px;
        font-size: 28px;
    }

    .mhr-mobile-month-title {
        font-size: 19px;
    }

    .mhr-month-table thead th {
        font-size: 12px !important;
    }

    .mhr-month-table td {
        height: 64px !important;
    }

    .mhr-day {
        min-height: 62px !important;
        height: 62px !important;
        padding-top: 9px !important;
    }

    .mhr-day-number {
        font-size: 14px !important;
    }

    .mhr-day-price {
        margin-top: 8px !important;
        font-size: 10.8px !important;
        letter-spacing: -0.065em !important;
    }

    .mhr-summary-aside {
        grid-template-columns: 1fr;
    }
}

/* ─────────────────────────────────────────────────────────────
   SELETOR PÚBLICO DE VEÍCULO
───────────────────────────────────────────────────────────── */
.mhr-vehicle-select-section {
    max-width: 980px;
    margin: 0 auto;
}

.mhr-vehicle-select-card {
    background: #fff;
    border: 1px solid var(--mhr-border);
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

.mhr-vehicle-select-header {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 22px;
}

.mhr-vehicle-select-icon {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    background: var(--mhr-primary-soft);
    color: var(--mhr-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    flex: 0 0 auto;
}

.mhr-vehicle-select-alert {
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #9a3412;
    border-radius: 14px;
    padding: 12px 14px;
    font-size: 14px;
    margin-bottom: 18px;
}

.mhr-vehicle-select-form label {
    display: block;
    font-size: 14px;
    font-weight: 800;
    color: var(--mhr-text);
    margin-bottom: 8px;
}

.mhr-vehicle-select-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: 12px;
    align-items: end;
}

.mhr-vehicle-select-row select {
    width: 100%;
    min-height: 52px;
    border: 1px solid #d1d5db;
    border-radius: 16px;
    background: #fff;
    color: var(--mhr-text);
    padding: 0 16px;
    margin: 0;
    font-size: 16px;
    outline: none;
}

.mhr-vehicle-select-row select:focus {
    border-color: var(--mhr-primary);
    box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.12);
}

.mhr-vehicle-select-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 190px;
    max-width: 230px;
    min-height: 52px;
    height: 52px;
    padding: 0 22px;
    border-radius: 26px;
    font-size: 15px;
    line-height: 1.15;
    white-space: nowrap;
}

.mhr-vehicle-select-list {
    display: grid;
    gap: 12px;
    margin-top: 22px;
}

.mhr-vehicle-mini-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    text-decoration: none !important;
    color: inherit;
    border: 1px solid #edf0f4;
    border-radius: 18px;
    padding: 14px;
    background: #fff;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.mhr-vehicle-mini-card:hover {
    transform: translateY(-1px);
    border-color: var(--mhr-primary-border);
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.08);
}

.mhr-vehicle-mini-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #f8fafc;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.mhr-vehicle-mini-content {
    min-width: 0;
}

.mhr-vehicle-mini-content strong,
.mhr-vehicle-mini-content small {
    display: block;
}

.mhr-vehicle-mini-content strong {
    font-size: 15px;
    color: var(--mhr-text);
    margin-bottom: 2px;
}

.mhr-vehicle-mini-content small {
    font-size: 12px;
    color: var(--mhr-text-muted);
    line-height: 1.35;
}

.mhr-vehicle-mini-price {
    text-align: right;
    font-size: 11px;
    color: var(--mhr-text-muted);
    line-height: 1.25;
    white-space: nowrap;
}

.mhr-vehicle-mini-price strong {
    font-size: 15px;
    color: var(--mhr-text);
}

.mhr-empty-state {
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 16px;
    padding: 18px;
    color: var(--mhr-text-muted);
    text-align: center;
}

@media (max-width: 640px) {
    .mhr-vehicle-select-section {
        padding: 20px 0;
    }

    .mhr-vehicle-select-card {
        border-radius: 20px;
        padding: 20px;
        box-shadow: 0 12px 28px rgba(15, 23, 42, 0.07);
    }

    .mhr-vehicle-select-header {
        gap: 12px;
        margin-bottom: 18px;
    }

    .mhr-vehicle-select-icon {
        width: 46px;
        height: 46px;
        border-radius: 16px;
        font-size: 23px;
    }

    .mhr-vehicle-select-row {
        grid-template-columns: 1fr;
    }

    .mhr-vehicle-select-submit {
        width: 100%;
        max-width: none;
        min-width: 0;
    }

    .mhr-vehicle-mini-card {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .mhr-vehicle-mini-price {
        grid-column: 1 / -1;
        text-align: left;
        padding-left: 56px;
    }
}

/* Economia por desconto progressivo */
.mhr-ws-savings {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
    padding: 15px 16px;
    border: 1px solid #14b8a6;
    border-radius: 14px;
    background: #ecfeff;
    color: #0f766e;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.1;
}

.mhr-ws-savings strong {
    color: #0891b2;
    font-weight: 800;
}

.mhr-ws-savings-icon {
    width: 28px;
    height: 28px;
    min-width: 28px;
    border-radius: 50%;
    border: 1px solid rgba(20, 184, 166, 0.35);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0d9488;
    background: rgba(255,255,255,0.65);
    font-size: 16px;
}

@media (max-width: 768px) {
    .mhr-ws-savings {
        margin-top: 14px;
        padding: 14px;
        font-size: 12px;
    }
}

/* ─────────────────────────────────────────────────────────────
   CONSULTA PÚBLICA DE RESERVA
───────────────────────────────────────────────────────────── */
.mhr-lookup-section {
    max-width: 1120px;
    margin: 0 auto;
}

.mhr-lookup-card,
.mhr-lookup-result,
.mhr-lookup-panel {
    background: #fff;
    border: 1px solid #edf0f4;
    border-radius: 22px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.mhr-lookup-card {
    padding: 26px;
}

.mhr-lookup-header {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 22px;
}

.mhr-lookup-icon {
    width: 54px;
    height: 54px;
    min-width: 54px;
    border-radius: 18px;
    background: var(--mhr-primary-soft);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 25px;
}

.mhr-lookup-alert {
    padding: 13px 15px;
    border-radius: 14px;
    margin-bottom: 18px;
    font-size: 14px;
    font-weight: 700;
}

.mhr-lookup-alert-error {
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #c2410c;
}

.mhr-lookup-grid {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(320px, 1.25fr) minmax(180px, 220px);
    gap: 18px;
    align-items: end;
}

.mhr-lookup-submit-wrap {
    width: 100%;
}

.mhr-field-group label {
    display: block;
    font-size: 14px;
    font-weight: 800;
    color: var(--mhr-text);
    margin-bottom: 8px;
}

.mhr-field-group input {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    min-height: 52px;
    border: 1px solid #d1d5db;
    border-radius: 16px;
    background: #fff;
    color: var(--mhr-text);
    padding: 0 16px;
    margin: 0;
    font-size: 16px;
    outline: none;
}

#mhr-reservation-code,
#mhr-reservation-identifier,
input[name="mhr_reservation_code"],
input[name="mhr_reservation_identifier"] {
    width: 100%;
    max-width: none;
    margin: 0 !important;
}

.mhr-field-group input:focus {
    border-color: var(--mhr-primary);
    box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.12);
}

.mhr-lookup-submit {
    width: 100%;
    min-width: 150px;
    height: 52px;
    min-height: 52px;
    padding: 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.mhr-lookup-result {
    margin-top: 22px;
    padding: 26px;
}

.mhr-lookup-result-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    padding-bottom: 18px;
    border-bottom: 1px solid #edf0f4;
    margin-bottom: 18px;
}

.mhr-lookup-eyebrow {
    display: inline-flex;
    color: var(--mhr-primary);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 6px;
}

.mhr-lookup-result-head h3 {
    margin: 0 0 6px;
    font-size: 24px;
    color: var(--mhr-text);
}

.mhr-lookup-result-head p {
    margin: 0;
    color: var(--mhr-text-muted);
    font-size: 14px;
}

.mhr-lookup-badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.mhr-lookup-status,
.mhr-lookup-payment {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 7px 11px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.mhr-lookup-status-pending { background: #fffbeb; color: #b45309; }
.mhr-lookup-status-confirmed { background: #ecfdf5; color: #047857; }
.mhr-lookup-status-completed { background: #eff6ff; color: #1d4ed8; }
.mhr-lookup-status-cancelled { background: #fef2f2; color: #b91c1c; }
.mhr-lookup-status-draft { background: #f1f5f9; color: #475569; }

.mhr-lookup-payment-awaiting_payment { background: #fff7ed; color: #c2410c; }
.mhr-lookup-payment-deposit_paid { background: #f5f3ff; color: #6d28d9; }
.mhr-lookup-payment-paid { background: #ecfdf5; color: #047857; }
.mhr-lookup-payment-refunded { background: #f1f5f9; color: #475569; }

.mhr-lookup-instruction {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 14px 16px;
    margin-bottom: 20px;
}

.mhr-lookup-instruction p {
    margin: 0;
    color: #334155;
    font-size: 14px;
    line-height: 1.45;
}

.mhr-lookup-panels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.mhr-lookup-panel {
    padding: 18px;
    box-shadow: none;
}

.mhr-lookup-panel h4 {
    margin: 0 0 12px;
    font-size: 16px;
    color: var(--mhr-text);
}

.mhr-lookup-list {
    display: grid;
    gap: 10px;
    margin: 0;
}

.mhr-lookup-list div {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px dashed #e5e7eb;
    padding-bottom: 9px;
}

.mhr-lookup-list div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.mhr-lookup-list dt,
.mhr-lookup-list dd {
    margin: 0;
    font-size: 13px;
    line-height: 1.35;
}

.mhr-lookup-list dt {
    color: var(--mhr-text-muted);
    font-weight: 700;
}

.mhr-lookup-list dd {
    color: var(--mhr-text);
    font-weight: 800;
    text-align: right;
}

.mhr-lookup-wide-panel {
    margin-top: 16px;
}

.mhr-lookup-additionals {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.mhr-lookup-additionals span {
    display: inline-flex;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    padding: 8px 11px;
    font-size: 12px;
    font-weight: 800;
    color: #334155;
}

.mhr-lookup-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-top: 20px;
}

.mhr-lookup-whatsapp {
    width: auto;
    min-width: 180px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    padding-left: 22px;
    padding-right: 22px;
}

.mhr-lookup-secondary {
    min-height: 50px;
    border-radius: 999px;
    border: 1px solid #d1d5db;
    background: #fff;
    color: var(--mhr-text);
    font-weight: 800;
    padding: 0 22px;
    cursor: pointer;
}

.mhr-lookup-contract {
    margin-top: 20px;
    border: 1px solid #edf0f4;
    border-radius: 18px;
    background: #fff;
    overflow: hidden;
}

.mhr-lookup-contract summary {
    cursor: pointer;
    padding: 16px 18px;
    font-weight: 900;
    color: var(--mhr-text);
    background: #f8fafc;
}

.mhr-lookup-contract-body {
    padding: 22px;
    border-top: 1px solid #edf0f4;
    overflow-x: auto;
}

@media (max-width: 760px) {
    .mhr-lookup-section {
        padding: 20px 0;
    }

    .mhr-lookup-card,
    .mhr-lookup-result {
        border-radius: 20px;
        padding: 20px;
    }

    .mhr-lookup-header {
        gap: 12px;
    }

    .mhr-lookup-icon {
        width: 46px;
        height: 46px;
        min-width: 46px;
        border-radius: 16px;
        font-size: 22px;
    }

    .mhr-lookup-grid,
    .mhr-lookup-panels {
        grid-template-columns: 1fr;
    }

    .mhr-lookup-submit,
    .mhr-lookup-whatsapp,
    .mhr-lookup-secondary {
        width: 100%;
    }

    .mhr-lookup-result-head {
        flex-direction: column;
    }

    .mhr-lookup-badges {
        justify-content: flex-start;
    }

    .mhr-lookup-list div {
        align-items: flex-start;
    }

    .mhr-lookup-list dd {
        max-width: 56%;
    }
}

/* Legibilidade mínima para a experiência pública */
.mhr-client-portal-v2 small { font-size: 12px; }
.mhr-portal-card-head > div > span,
.mhr-portal-section-heading > div > span,
.mhr-portal-next-action span,
.mhr-portal-pix-card > div:first-child > span,
.mhr-portal-support-card span,
.mhr-portal-pix-key small { font-size: 11px; }
.mhr-portal-check-list button strong,
.mhr-portal-data-list dd,
.mhr-portal-card-note,
.mhr-portal-pix-card p,
.mhr-portal-support-card p,
.mhr-portal-empty p,
.mhr-portal-document-card p,
.mhr-portal-contract-head p,
.mhr-portal-driver-slot-head small,
.mhr-portal-file-history small { font-size: 12px; }
.mhr-portal-check-list button small,
.mhr-portal-receipt-grid small,
.mhr-portal-receipt-grid p,
.mhr-portal-receipt-grid em,
.mhr-portal-receipt-grid button,
.mhr-portal-support-card a,
.mhr-portal-pix-key button { font-size: 11px; }

@media print {
    .mhr-lookup-card,
    .mhr-lookup-actions,
    .mhr-lookup-contract summary {
        display: none !important;
    }

    .mhr-lookup-section,
    .mhr-lookup-result,
    .mhr-lookup-panel,
    .mhr-lookup-contract,
    .mhr-lookup-contract-body {
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .mhr-lookup-contract {
        display: block !important;
    }
}

/* =========================================================
   MHR — Passo final da reserva
   ========================================================= */
.mhr-booking-completed .mhr-wizard-summary-hidden {
    display: none !important;
}

.mhr-success-step {
    border-color: rgba(34, 197, 94, 0.22) !important;
}

.mhr-success-hero {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 24px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.12), rgba(20, 184, 166, 0.08));
    border: 1px solid rgba(34, 197, 94, 0.22);
    margin-bottom: 18px;
}

.mhr-success-icon {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #22c55e;
    color: #fff;
    font-size: 30px;
    font-weight: 900;
    box-shadow: 0 12px 26px rgba(34, 197, 94, 0.28);
}

.mhr-success-hero h3 {
    margin: 0 0 6px;
    font-size: 26px;
    line-height: 1.15;
    color: var(--mhr-dark, #07152f);
}

.mhr-success-hero p {
    margin: 0;
    color: #4b5563;
    font-size: 16px;
}

.mhr-success-alert {
    padding: 16px 18px;
    border-radius: 16px;
    background: #fff7ed;
    border: 1px solid rgba(249, 115, 22, 0.25);
    color: #9a3412;
    font-weight: 700;
    margin-bottom: 18px;
}

.mhr-success-summary,
.mhr-success-consult {
    border: 1px solid #e8edf4;
    border-radius: 22px;
    background: #fff;
    padding: 22px;
    margin-bottom: 18px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.04);
}

.mhr-success-summary h4,
.mhr-success-consult h4 {
    margin: 0 0 16px;
    color: var(--mhr-dark, #07152f);
    font-size: 20px;
}

.mhr-success-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.mhr-success-summary-grid > div {
    padding: 14px 16px;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid #eef2f7;
}

.mhr-success-summary-grid span {
    display: block;
    font-size: 12px;
    color: #64748b;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 4px;
}

.mhr-success-summary-grid strong {
    display: block;
    color: var(--mhr-dark, #07152f);
    font-size: 15px;
    line-height: 1.35;
}

.mhr-success-consult p {
    margin: 0 0 10px;
    color: #4b5563;
}

.mhr-success-consult ul {
    margin: 0;
    padding-left: 20px;
}

.mhr-success-consult li {
    margin: 6px 0;
}

.mhr-success-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}

.mhr-success-actions .mhr-btn-proximo,
.mhr-success-actions .mhr-btn-secondary {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
}

.mhr-btn-secondary {
    border: 1px solid #d8dee8;
    border-radius: 999px;
    padding: 0 24px;
    background: #fff;
    color: var(--mhr-dark, #07152f);
    font-weight: 800;
    transition: .2s ease;
}

.mhr-btn-secondary:hover {
    border-color: var(--mhr-orange, #ff6b1a);
    color: var(--mhr-orange, #ff6b1a);
}

@media (max-width: 768px) {
    .mhr-success-hero {
        align-items: flex-start;
        padding: 20px;
    }

    .mhr-success-icon {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
        font-size: 24px;
    }

    .mhr-success-hero h3 {
        font-size: 22px;
    }

    .mhr-success-summary-grid {
        grid-template-columns: 1fr;
    }

    .mhr-success-actions,
    .mhr-success-actions .mhr-btn-proximo,
    .mhr-success-actions .mhr-btn-secondary {
        width: 100%;
    }
}

/* Cliente recorrente - ajuda abaixo do CPF */
.mhr-field-help {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.45;
    color: #64748b;
}

.mhr-field-help.mhr-lookup-loading {
    color: #f97316;
    font-weight: 700;
}

.mhr-field-help.mhr-lookup-success {
    color: #059669;
    font-weight: 700;
}

.mhr-field-help.mhr-lookup-error {
    color: #dc2626;
    font-weight: 700;
}

.mhr-field-help.mhr-lookup-muted {
    color: #64748b;
}

/* Carta Verde */
.mhr-green-card-field .mhr-field-hint {
    display: block;
    margin-top: 6px;
    color: #6b7280;
    font-size: 13px;
}

#mhr-ws-green-card-row .mhr-ws-value {
    text-align: right;
    max-width: 220px;
}

@media (max-width: 767px) {
    #mhr-ws-green-card-row .mhr-ws-value {
        max-width: 100%;
        text-align: left;
    }
}

/* ─────────────────────────────────────────────────────────────
   RESUMO DA VIAGEM — DETALHAMENTO DE VALORES
───────────────────────────────────────────────────────────── */
.mhr-ws-date-time {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 700;
    color: #0f172a;
}

.mhr-ws-date-time .mhr-ws-time {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}

.mhr-ws-days-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 0 0 14px;
    margin: -2px 0 14px;
    border-bottom: 1.5px solid #f1f5f9;
}

.mhr-ws-days-row strong {
    font-size: 13px;
    font-weight: 800;
    color: #0f172a;
    text-align: right;
}

.mhr-ws-breakdown {
    border-top: 1.5px solid #f1f5f9;
    border-bottom: 1.5px solid #f1f5f9;
    padding: 14px 0;
    margin: 12px 0 12px;
}

.mhr-ws-breakdown-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    padding: 11px 0;
}

.mhr-ws-breakdown-row + .mhr-ws-breakdown-row {
    border-top: 1px solid #f1f5f9;
}

.mhr-ws-breakdown-left {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.mhr-ws-breakdown-left strong {
    font-size: 14px;
    line-height: 1.25;
    color: #0f172a;
}

.mhr-ws-breakdown-left span {
    font-size: 12px;
    line-height: 1.35;
    color: #64748b;
}

.mhr-ws-breakdown-right {
    flex: 0 0 auto;
    min-width: 100px;
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
}

.mhr-ws-original-price {
    color: #64748b;
    font-size: 13px;
    text-decoration: line-through;
    text-decoration-thickness: 1.5px;
}

.mhr-ws-final-price {
    color: #0f172a;
    font-size: 14px;
    font-weight: 800;
}

.mhr-ws-discount-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 999px;
    background: var(--mhr-primary);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.mhr-ws-breakdown-daily .mhr-ws-breakdown-right {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 6px 8px;
}

.mhr-ws-breakdown-daily .mhr-ws-original-price {
    flex: 0 0 100%;
    text-align: right;
}

.mhr-ws-breakdown-daily .mhr-ws-final-price,
.mhr-ws-breakdown-daily .mhr-ws-discount-badge {
    flex: 0 0 auto;
}

.mhr-ws-breakdown-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 14px;
    margin-top: 8px;
    border-top: 1.5px solid #f1f5f9;
}

.mhr-ws-breakdown-total span {
    font-size: 14px;
    font-weight: 800;
    color: #0f172a;
}

.mhr-ws-breakdown-total strong {
    font-size: 16px;
    font-weight: 900;
    color: #0f172a;
    text-align: right;
}

@media (max-width: 768px) {
    .mhr-ws-dates {
        gap: 8px;
    }

    .mhr-ws-date-time {
        font-size: 12px;
    }

    .mhr-ws-breakdown-row {
        gap: 10px;
    }

    .mhr-ws-breakdown-right {
        min-width: 92px;
    }
}

/* v1.4.0 - Cupons, taxas e disponibilidade geral */
.mhr-coupon-box,
.mhr-extra-fees-list {
    margin-top: 18px;
    padding: 16px;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 14px;
    background: #fff;
}
.mhr-coupon-row {
    display: flex;
    gap: 10px;
    align-items: center;
}
.mhr-coupon-row input { width: 100%; margin: 0; }
.mhr-btn-light {
    border: 1px solid rgba(0,0,0,.12);
    background: #fff;
    border-radius: 10px;
    padding: 13px 18px;
    cursor: pointer;
    white-space: nowrap;
}
.mhr-fee-item {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid rgba(0,0,0,.06);
}
.mhr-fee-item:last-child { border-bottom: 0; }
.mhr-fee-item span { flex: 1; }
.mhr-fee-item small { display:block; opacity:.72; margin-top:2px; }
.mhr-fee-item em { font-style: normal; font-weight: 700; white-space: nowrap; }
.mhr-public-card.mhr-availability-search {
    max-width: 1040px;
    margin: 0 auto;
    padding: 24px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 12px 32px rgba(0,0,0,.08);
}
.mhr-availability-form {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 14px;
    align-items: end;
    margin: 18px 0;
}
.mhr-vehicle-results-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.mhr-vehicle-result-card {
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 16px;
    padding: 16px;
    background: #fafafa;
}
.mhr-vehicle-result-card strong { display:block; font-size: 20px; margin: 10px 0 14px; }
@media (max-width: 760px) {
    .mhr-coupon-row,
    .mhr-availability-form { grid-template-columns: 1fr; display: grid; }
    .mhr-vehicle-results-grid { grid-template-columns: 1fr; }
    .mhr-fee-item { align-items:flex-start; }
}


/* Aceite digital do contrato */
.mhr-lookup-alert-success {
    background: #ecfdf3;
    border-color: #b7efc5;
    color: #166534;
}
.mhr-contract-acceptance-box {
    margin-top: 18px;
}
.mhr-contract-accepted {
    border: 1px solid #b7efc5;
    background: #ecfdf3;
    color: #166534;
    border-radius: 14px;
    padding: 14px 16px;
    line-height: 1.45;
}
.mhr-contract-accept-form {
    margin-top: 12px;
}
.mhr-lookup-grid-accept {
    margin-bottom: 12px;
}
.mhr-contract-accept-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 12px 0 16px;
    line-height: 1.35;
    font-size: 14px;
}
.mhr-contract-accept-check input {
    margin-top: 2px;
}
.mhr-contract-accept-submit {
    width: auto;
    min-width: 240px;
}
@media (max-width: 640px) {
    .mhr-contract-accept-submit {
        width: 100%;
        min-width: 0;
    }
}

/* v1.6.1 — Pix, documentos públicos e LGPD */
.mhr-privacy-consent-box{margin:18px 0;padding:14px 16px;border:1px solid #fed7aa;background:#fff7ed;border-radius:12px}.mhr-privacy-consent-box small{display:block;margin-top:6px;color:#6b7280}.mhr-success-pix,.mhr-public-pix-panel,.mhr-public-upload-panel,.mhr-public-pending-panel{border-left:4px solid #f97316}.mhr-success-pix{margin:18px 0;padding:16px;border-radius:14px;background:#fff7ed}.mhr-success-pix dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0}.mhr-success-pix dt,.mhr-success-pix dd{margin:0}.mhr-success-pix dt{font-size:12px;color:#6b7280}.mhr-success-pix dd{font-weight:700}.mhr-public-pending-list{margin:0;padding-left:20px}.mhr-public-pending-list li{margin:4px 0}.mhr-public-upload-form input[type=file]{width:100%;padding:12px;border:1px dashed #d1d5db;border-radius:10px;background:#f9fafb}.mhr-lookup-additionals a{display:inline-flex;padding:8px 10px;border-radius:999px;background:#f3f4f6;color:#111827;text-decoration:none;margin:0 6px 6px 0}.mhr-public-upload-form .mhr-lookup-grid{align-items:end}
@media(max-width:640px){.mhr-success-pix dl{grid-template-columns:1fr}}

/* v1.7.0 */
.mhr-public-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(15,23,42,.06);margin:20px 0}.mhr-waitlist-box .mhr-form-grid,.mhr-quote-box .mhr-lookup-grid{gap:16px}.mhr-waitlist-box input,.mhr-waitlist-box select,.mhr-waitlist-box textarea{width:100%;box-sizing:border-box;margin:0}.mhr-custom-fields-section{margin-top:24px}.mhr-custom-fields-section input,.mhr-custom-fields-section select,.mhr-custom-fields-section textarea{width:100%;box-sizing:border-box;margin:0}.mhr-quote-box .mhr-btn-proximo{display:inline-flex;text-decoration:none;align-items:center;justify-content:center}@media(max-width:768px){.mhr-public-card{padding:18px}.mhr-quote-box .mhr-lookup-grid{grid-template-columns:1fr}}

/* v1.8.2 — Ajustes do card de adicionais no wizard */
.mhr-additional-item {
    gap: 20px;
    padding: 18px 20px;
}

.mhr-additional-img {
    width: 86px;
    height: 86px;
    border-radius: 16px;
}

.mhr-additional-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 8px;
}

.mhr-additional-head strong {
    margin: 0;
    font-size: 15px;
    line-height: 1.15;
}

.mhr-additional-info p {
    line-height: 1.2;
    margin-bottom: 0;
}

.mhr-additional-price {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    white-space: nowrap;
    font-size: 15px;
    line-height: 1;
}

.mhr-additional-qty-wrap {
    gap: 10px;
    align-items: center;
}

.mhr-qty-btn,
.mhr-additional-qty {
    width: 46px;
    height: 46px;
    min-width: 46px;
    border-radius: 999px;
    line-height: 1;
    box-sizing: border-box;
}

.mhr-additional-qty {
    width: 84px;
    min-width: 84px;
    border-radius: 999px;
    font-size: 16px;
    margin: 0;
}

@media (max-width: 767px) {
    .mhr-additional-item {
        display: grid;
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 14px;
        padding: 16px;
    }

    .mhr-additional-img {
        width: 72px;
        height: 72px;
        border-radius: 14px;
    }

    .mhr-additional-head {
        align-items: flex-start;
        gap: 8px;
        margin-bottom: 6px;
    }

    .mhr-additional-price {
        font-size: 13px;
    }

    .mhr-additional-info p {
        font-size: 12px;
        line-height: 1.2;
    }

    .mhr-additional-qty-wrap {
        grid-column: 1 / -1;
        justify-content: flex-end;
        width: 100%;
    }

    .mhr-qty-btn,
    .mhr-additional-qty {
        width: 44px;
        height: 44px;
        min-width: 44px;
    }

    .mhr-additional-qty {
        width: 86px;
        min-width: 86px;
    }
}


/* v1.8.5 — Loader no envio público de documentos */
.mhr-public-upload-form.is-uploading {
    position: relative;
}

.mhr-public-upload-submit[disabled],
.mhr-public-upload-form.is-uploading .mhr-public-upload-submit {
    opacity: .75;
    cursor: wait;
    pointer-events: none;
}

.mhr-public-upload-status {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid #fed7aa;
    background: #fff7ed;
    color: #7c2d12;
    font-size: 14px;
    line-height: 1.35;
}

.mhr-public-upload-status[hidden] {
    display: none !important;
}

.mhr-upload-spinner {
    width: 18px;
    height: 18px;
    min-width: 18px;
    border: 3px solid rgba(124, 45, 18, .22);
    border-top-color: currentColor;
    border-radius: 999px;
    animation: mhr-upload-spin .8s linear infinite;
}

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


/* Consulta pública — documentos e pendências v1.9.2 */
.mhr-public-documents-panel,
.mhr-public-upload-panel{
    border-left:4px solid #f97316;
}
.mhr-public-documents-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:16px;
}
.mhr-public-documents-head h4{
    margin:0 0 6px;
}
.mhr-public-documents-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:118px;
    padding:8px 12px;
    border-radius:999px;
    font-size:13px;
    font-weight:800;
    white-space:nowrap;
}
.mhr-public-documents-badge.is-ok{
    background:#ecfdf5;
    color:#047857;
    border:1px solid #bbf7d0;
}
.mhr-public-documents-badge.is-pending{
    background:#fff7ed;
    color:#c2410c;
    border:1px solid #fed7aa;
}
.mhr-public-workflow-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.mhr-public-workflow-item{
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:14px;
    border-radius:14px;
    border:1px solid #e5e7eb;
    background:#f9fafb;
}
.mhr-public-workflow-item>span,
.mhr-public-doc-upload-title>span{
    width:28px;
    height:28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    color:#fff;
    font-weight:900;
    font-size:15px;
    line-height:1;
    flex:0 0 auto;
}
.mhr-public-workflow-item strong,
.mhr-public-doc-upload-title strong{
    display:block;
    color:#0f172a;
    font-size:15px;
    line-height:1.25;
}
.mhr-public-workflow-item small,
.mhr-public-doc-upload-title small{
    display:block;
    margin-top:4px;
    color:#64748b;
    font-size:12px;
    line-height:1.35;
}
.mhr-public-workflow-item.is-ok,
.mhr-public-doc-upload-card.is-ok{
    border-color:#bbf7d0;
    background:#f0fdf4;
}
.mhr-public-workflow-item.is-ok>span,
.mhr-public-doc-upload-card.is-ok .mhr-public-doc-upload-title>span{
    background:#16a34a;
}
.mhr-public-workflow-item.is-pending,
.mhr-public-doc-upload-card.is-pending{
    border-color:#fed7aa;
    background:#fff7ed;
}
.mhr-public-workflow-item.is-pending>span,
.mhr-public-doc-upload-card.is-pending .mhr-public-doc-upload-title>span{
    background:#f97316;
}
.mhr-public-upload-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.mhr-public-doc-upload-card{
    padding:16px;
    border-radius:16px;
    border:1px solid #e5e7eb;
}
.mhr-public-doc-upload-title{
    display:flex;
    gap:12px;
    align-items:flex-start;
    margin-bottom:14px;
}
.mhr-public-uploaded-files{
    margin:0 0 12px;
    padding:10px;
    border-radius:12px;
    background:rgba(255,255,255,.78);
    border:1px solid rgba(148,163,184,.28);
}
.mhr-public-uploaded-files strong{
    display:block;
    margin-bottom:6px;
    color:#0f172a;
    font-size:13px;
}
.mhr-public-uploaded-files a{
    display:inline-flex;
    margin:0 6px 6px 0;
    padding:7px 10px;
    border-radius:999px;
    background:#fff;
    border:1px solid #e2e8f0;
    color:#0f172a;
    text-decoration:none;
    font-size:12px;
    font-weight:400;
    line-height:1;
}
.mhr-public-doc-upload-card .mhr-public-upload-form{
    margin:0;
}
.mhr-public-file-label{
    display:block;
    margin:0 0 8px;
}
.mhr-public-file-label>span{
    display:block;
    margin-bottom:6px;
    color:#0f172a;
    font-weight:800;
    font-size:13px;
}
.mhr-public-file-label input[type=file],
.mhr-public-doc-upload-card input[type=file]{
    width:100%;
    padding:12px;
    border:1px dashed #cbd5e1;
    border-radius:12px;
    background:#fff;
}
.mhr-public-file-help{
    display:block;
    margin:0 0 12px;
    color:#64748b;
    font-size:12px;
}
.mhr-public-doc-upload-card .mhr-public-upload-submit{
    width:100%;
    min-height:46px;
    margin-top:2px;
}
.mhr-public-doc-upload-card.is-uploading{
    opacity:.82;
}
.mhr-public-upload-status{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:12px;
    padding:10px 12px;
    border-radius:12px;
    background:#fff;
    border:1px solid #fed7aa;
    color:#9a3412;
    font-size:13px;
    font-weight:700;
}
.mhr-public-upload-status[hidden]{
    display:none!important;
}
@media (max-width:980px){
    .mhr-public-upload-grid{grid-template-columns:1fr;}
    .mhr-public-workflow-list{grid-template-columns:1fr;}
}
@media (max-width:640px){
    .mhr-public-documents-head{display:block;}
    .mhr-public-documents-badge{margin-top:10px;}
}

/* v1.9.5 — status de análise dos documentos públicos */
.mhr-public-workflow-item.is-rejected,
.mhr-public-doc-upload-card.is-rejected{border-color:#fecaca;background:#fef2f2}
.mhr-public-workflow-item.is-rejected>span,
.mhr-public-doc-upload-card.is-rejected .mhr-public-doc-upload-title>span{background:#dc2626;color:#fff}
.mhr-public-workflow-item em,
.mhr-public-doc-upload-title em{display:block;margin-top:5px;font-style:normal;font-size:12px;line-height:1.35;color:#64748b}
.mhr-public-doc-status{font-weight:800;color:#334155}
.mhr-public-doc-reason{padding:6px 8px;border-radius:10px;background:rgba(220,38,38,.08);color:#991b1b!important}
.mhr-public-doc-upload-card.is-ok .mhr-public-doc-status{color:#166534}
.mhr-public-doc-upload-card.is-pending .mhr-public-doc-status{color:#9a3412}
.mhr-public-doc-upload-card.is-rejected .mhr-public-doc-status{color:#991b1b}
.mhr-public-contract-actions form{margin:10px 0 0}.mhr-public-contract-actions .mhr-btn-reservar{display:inline-flex;width:auto;min-width:220px;justify-content:center}


/* Estoque de adicionais por período */
.mhr-additional-stock-status {
    display: inline-flex;
    margin-top: 6px;
    padding: 4px 9px;
    border-radius: 999px;
    background: #fff7ed;
    color: #c2410c;
    font-size: 12px;
    font-weight: 800;
}

.mhr-additional-item.is-out-of-stock {
    opacity: .72;
    background: #f8fafc;
    border-color: #e2e8f0;
}

.mhr-additional-item.is-out-of-stock .mhr-additional-stock-status {
    background: #fef2f2;
    color: #b91c1c;
}

.mhr-additional-item.is-out-of-stock .mhr-additional-info strong::after {
    content: "Esgotado";
    display: inline-flex;
    margin-left: 8px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    vertical-align: middle;
}

.mhr-additional-item.is-out-of-stock .mhr-qty-btn,
.mhr-additional-item.is-out-of-stock .mhr-additional-qty {
    cursor: not-allowed;
}


.mhr-lookup-green-card {
    border-color: #bbf7d0;
    background: linear-gradient(180deg, #f0fdf4 0%, #ffffff 100%);
}

.mhr-lookup-green-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
}

.mhr-lookup-green-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #dcfce7;
    color: #166534;
    font-size: 22px;
    flex-shrink: 0;
}

.mhr-lookup-green-head h4 {
    margin: 0 0 4px;
}

.mhr-lookup-green-head p {
    margin: 0;
    color: #475569;
    font-size: 13px;
    line-height: 1.4;
}

.mhr-lookup-green-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.mhr-lookup-green-grid div {
    padding: 12px;
    border-radius: 14px;
    background: rgba(255, 255, 255, .82);
    border: 1px solid rgba(34, 197, 94, .22);
}

.mhr-lookup-green-grid small {
    display: block;
    margin-bottom: 4px;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
}

.mhr-lookup-green-grid strong {
    display: block;
    color: #0f172a;
    font-size: 14px;
    line-height: 1.25;
}

@media (max-width: 760px) {
    .mhr-lookup-green-grid {
        grid-template-columns: 1fr;
    }
}


/* Ajustes consulta de reserva v2.1.2 */
.mhr-lookup-additionals a {
    font-size: 12px;
}

.mhr-public-workflow-item small,
.mhr-public-doc-upload-title small {
    font-size: 12px;
}

/* Estabilização do envio público de documentos v2.4.0 */
.mhr-public-upload-form.is-uploading input[type="file"]{
    pointer-events:none;
    opacity:.7;
}
.mhr-public-uploaded-files a{
    max-width:100%;
    white-space:normal;
    line-height:1.2;
}


/* Resumo do wizard — adicionais por linha v2.4.2 */
#mhr-ws-additionals-detail {
    display: block;
    width: 100%;
}

.mhr-ws-additionals-list {
    display: grid;
    gap: 9px;
    margin-top: 4px;
}

.mhr-ws-additional-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
    padding: 8px 0;
    border-top: 1px solid #f1f5f9;
}

.mhr-ws-additional-line:first-child {
    border-top: 0;
    padding-top: 0;
}

.mhr-ws-additional-main {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.mhr-ws-additional-main strong {
    color: #0f172a;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
}

.mhr-ws-additional-main small {
    color: #64748b;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.25;
}

.mhr-ws-additional-price {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px 7px;
}

.mhr-ws-additional-price .mhr-ws-original-price {
    font-size: 11px;
}

.mhr-ws-additional-price .mhr-ws-final-price {
    font-size: 12px;
}

.mhr-ws-additional-price .mhr-ws-discount-badge {
    min-height: 20px;
    padding: 2px 7px;
    font-size: 11px;
    background: #f97316;
}


/* Ajuste v2.4.3 — desconto dos adicionais apenas em itens por diária e selo ao lado do preço */
.mhr-ws-additional-price {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px 7px;
}

.mhr-ws-additional-price .mhr-ws-original-price {
    flex: 0 0 100%;
}

.mhr-ws-additional-price .mhr-ws-final-price,
.mhr-ws-additional-price .mhr-ws-discount-badge {
    flex: 0 0 auto;
}

.mhr-ws-additional-price .mhr-ws-discount-badge {
    margin-left: 0;
}


/* v2.4.4 — contraste da tag de desconto dos adicionais */
.mhr-ws-additional-price .mhr-ws-discount-badge {
    color: #fff;
}


/* v2.4.5 — ajuste fino dos benefícios de cobertura */
.mhr-coverage-benefit-row {
    padding: 8px 0;
}

.mhr-coverage-benefit-row span {
    font-size: 12px;
}


/* v2.4.6 — adicionais no resumo usando duas colunas */
.mhr-ws-additional-line {
    grid-template-columns: minmax(0, 1fr) max-content;
    align-items: start;
    column-gap: 12px;
}

.mhr-ws-additional-price {
    justify-content: flex-end;
    align-items: center;
    text-align: right;
    min-width: 88px;
}

.mhr-ws-additional-price .mhr-ws-original-price {
    flex: 0 0 100%;
    text-align: right;
}

.mhr-ws-additional-price .mhr-ws-final-price,
.mhr-ws-additional-price .mhr-ws-discount-badge {
    flex: 0 0 auto;
}

.mhr-ws-additional-main {
    min-width: 0;
}

.mhr-ws-additional-main strong,
.mhr-ws-additional-main small {
    overflow-wrap: anywhere;
}

@media (max-width: 420px) {
    .mhr-ws-additional-line {
        grid-template-columns: 1fr;
    }

    .mhr-ws-additional-price {
        justify-content: flex-start;
        text-align: left;
    }

    .mhr-ws-additional-price .mhr-ws-original-price {
        text-align: left;
    }
}


/* v2.4.7 — correção do grid dos adicionais no resumo lateral */
.mhr-ws-additional-line {
    grid-template-columns: minmax(145px, 1fr) 92px;
    column-gap: 10px;
}

.mhr-ws-additional-main {
    min-width: 0;
}

.mhr-ws-additional-main strong,
.mhr-ws-additional-main small {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.mhr-ws-additional-price {
    width: 92px;
    min-width: 92px;
    max-width: 92px;
    justify-content: flex-end;
}

.mhr-ws-additional-price .mhr-ws-original-price {
    width: 100%;
    flex: 0 0 100%;
    text-align: right;
}

.mhr-ws-additional-price .mhr-ws-final-price {
    flex: 0 0 auto;
    white-space: nowrap;
}

.mhr-ws-additional-price .mhr-ws-discount-badge {
    flex: 0 0 auto;
    white-space: nowrap;
}

@media (max-width: 340px) {
    .mhr-ws-additional-line {
        grid-template-columns: 1fr;
    }

    .mhr-ws-additional-price {
        width: auto;
        min-width: 0;
        max-width: none;
        justify-content: flex-start;
        text-align: left;
    }

    .mhr-ws-additional-price .mhr-ws-original-price {
        text-align: left;
    }
}


/* v2.4.16 — respiro no total e nota à vista */
.mhr-ws-total-row {
    gap: 14px;
}

.mhr-ws-total-content {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
}

.mhr-ws-total-line {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 6px;
}

.mhr-ws-total-note {
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    color: #64748b;
    white-space: nowrap;
}


/* v2.5.1 — normalização visual pública */
.mhr-booking-page,
.mhr-booking-page *,
.mhr-lookup-page,
.mhr-lookup-page * {
    box-sizing: border-box;
}

.mhr-wizard-summary,
.mhr-step-card,
.mhr-lookup-panel,
.mhr-public-doc-card {
    box-sizing: border-box;
}

.mhr-ws-total-row {
    gap: 14px;
}

.mhr-ws-total-content {
    min-width: 0;
}

.mhr-ws-installments,
.mhr-ws-installments10 {
    max-width: 180px;
}

.mhr-ws-additional-line {
    min-width: 0;
}

.mhr-ws-additional-price {
    min-width: 92px;
}

@media (max-width: 480px) {
    .mhr-ws-total-row {
        align-items: flex-start;
    }

    .mhr-ws-installments,
    .mhr-ws-installments10 {
        max-width: 100%;
    }
}


/* v2.5.2 — cidades de retirada/devolução no resumo da viagem */
.mhr-ws-location {
    display: block;
    margin: 4px 0 7px;
    color: #64748b;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.25;
}

.mhr-ws-date-time {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 7px;
    align-items: baseline;
}

.mhr-ws-time::before {
    content: "- ";
}


/* v2.6.0 — Landing pages dos veículos */
.mhr-vehicle-list-page,
.mhr-vehicle-detail-page {
    font-family: inherit;
    color: #0f172a;
}

.mhr-vehicle-list-head {
    margin: 0 0 28px;
}

.mhr-vehicle-list-head h2 {
    margin: 0 0 8px;
    font-size: clamp(26px, 3vw, 38px);
    line-height: 1.1;
    color: #0f172a;
}

.mhr-vehicle-list-head p {
    margin: 0;
    color: #64748b;
}

.mhr-vehicle-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.mhr-vehicle-card {
    overflow: hidden;
    border: 1px solid #e5e7eb;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 14px 35px rgba(15, 23, 42, .06);
}

.mhr-vehicle-card-media {
    display: block;
    aspect-ratio: 4 / 3;
    background: #f1f5f9;
    overflow: hidden;
    text-decoration: none;
}

.mhr-vehicle-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}

.mhr-vehicle-card:hover .mhr-vehicle-card-media img {
    transform: scale(1.035);
}

.mhr-vehicle-card-placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    color: #94a3b8;
    font-weight: 800;
}

.mhr-vehicle-card-body {
    padding: 16px;
}

.mhr-vehicle-card-body h3 {
    margin: 0 0 6px;
    font-size: 16px;
    line-height: 1.25;
}

.mhr-vehicle-card-body h3 a {
    color: #0f172a;
    text-decoration: none;
}

.mhr-vehicle-card-location,
.mhr-vehicle-card-capacity {
    margin: 0 0 5px;
    color: #64748b;
    font-size: 13px;
}

.mhr-vehicle-card-price {
    display: flex;
    align-items: baseline;
    gap: 4px;
    margin-top: 10px;
    font-size: 13px;
    color: #475569;
    flex-wrap: wrap;
}

.mhr-vehicle-card-price strong {
    color: #0f172a;
    font-size: 16px;
}

.mhr-vehicle-card-actions {
    display: flex;
    gap: 8px;
    margin-top: 14px;
}

.mhr-vehicle-link,
.mhr-vehicle-availability {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.mhr-vehicle-link {
    color: #f97316;
    background: #fff7ed;
}

.mhr-vehicle-availability {
    color: #fff;
    background: #ff6b1a;
    flex: 1;
}

.mhr-vehicle-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 34px;
    align-items: start;
}

.mhr-vehicle-detail-main {
    min-width: 0;
}

.mhr-vehicle-gallery {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(220px, .9fr);
    gap: 10px;
    margin-bottom: 28px;
}

.mhr-vehicle-gallery-primary,
.mhr-vehicle-gallery-thumbs,
.mhr-vehicle-gallery-empty {
    border-radius: 22px;
    overflow: hidden;
    background: #f1f5f9;
    min-height: 320px;
    position: relative;
}

.mhr-vehicle-gallery-primary img,
.mhr-vehicle-gallery-thumbs img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mhr-vehicle-gallery-thumbs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    background: transparent;
}

.mhr-vehicle-gallery-thumbs img {
    min-height: 155px;
    border-radius: 18px;
}

.mhr-vehicle-video-pill {
    position: absolute;
    left: 16px;
    bottom: 16px;
    padding: 9px 14px;
    border-radius: 999px;
    background: #fff;
    color: #0f172a;
    text-decoration: none;
    font-weight: 800;
    font-size: 12px;
    box-shadow: 0 10px 25px rgba(15, 23, 42, .16);
}

.mhr-vehicle-gallery-empty {
    display: grid;
    place-items: center;
    grid-column: 1 / -1;
    color: #94a3b8;
    font-weight: 800;
}

.mhr-vehicle-title-block {
    padding-bottom: 24px;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 26px;
}

.mhr-vehicle-title-block h1 {
    margin: 0 0 6px;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.05;
    color: #0f172a;
}

.mhr-vehicle-location,
.mhr-vehicle-short {
    margin: 0 0 12px;
    color: #64748b;
}

.mhr-vehicle-tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 14px 0;
}

.mhr-vehicle-tags span {
    padding: 7px 10px;
    border-radius: 999px;
    background: #fff7ed;
    color: #f97316;
    font-size: 12px;
    font-weight: 800;
}

.mhr-vehicle-description {
    color: #334155;
    font-size: 15px;
    line-height: 1.7;
}

.mhr-vehicle-section {
    padding: 0 0 30px;
    margin: 0 0 30px;
    border-bottom: 1px solid #e5e7eb;
}

.mhr-vehicle-section h2 {
    margin: 0 0 18px;
    color: #0f172a;
    font-size: 22px;
}

.mhr-sleeping-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.mhr-sleeping-card {
    padding: 16px;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    background: #fff;
}

.mhr-sleeping-card strong,
.mhr-sleeping-card span {
    display: block;
}

.mhr-sleeping-card span {
    margin-top: 4px;
    color: #64748b;
    font-size: 13px;
}

.mhr-feature-groups {
    display: grid;
    gap: 18px;
}

.mhr-feature-group {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 20px;
}

.mhr-feature-group h3 {
    margin: 0;
    color: #334155;
    font-size: 14px;
}

.mhr-feature-group ul {
    margin: 0;
    padding: 0;
    list-style: none;
    columns: 2;
    column-gap: 30px;
}

.mhr-feature-group li {
    break-inside: avoid;
    margin: 0 0 10px;
    color: #0f172a;
    font-size: 14px;
}

.mhr-feature-group li::before {
    content: "✓";
    margin-right: 6px;
    color: #f97316;
    font-weight: 900;
}

.mhr-feature-group li small {
    display: block;
    margin: 3px 0 0 20px;
    color: #64748b;
}

.mhr-condition-list {
    display: grid;
    gap: 16px;
}

.mhr-condition-group h3 {
    margin: 0 0 8px;
    font-size: 14px;
    color: #334155;
}

.mhr-condition-group p {
    margin: 0 0 6px;
    color: #475569;
}

.mhr-country-list {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.mhr-country-list span {
    padding: 8px 12px;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    font-weight: 700;
}

.mhr-vehicle-faq {
    display: grid;
    gap: 8px;
}

.mhr-vehicle-faq details {
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 14px 16px;
    background: #fff;
}

.mhr-vehicle-faq summary {
    cursor: pointer;
    font-weight: 800;
}

.mhr-vehicle-faq p {
    color: #64748b;
    margin: 10px 0 0;
}

.mhr-vehicle-sticky {
    position: sticky;
    top: 24px;
    display: grid;
    gap: 18px;
}

.mhr-vehicle-book-card,
.mhr-vehicle-benefits-card {
    border: 1px solid #e5e7eb;
    border-radius: 26px;
    background: #fff;
    padding: 24px;
    box-shadow: 0 16px 35px rgba(15, 23, 42, .06);
}

.mhr-vehicle-book-card > span {
    display: block;
    color: #64748b;
    font-style: italic;
    margin-bottom: 4px;
}

.mhr-vehicle-book-card > strong {
    display: block;
    color: #0f172a;
    font-size: 28px;
    margin-bottom: 22px;
}

.mhr-vehicle-book-card > strong small {
    font-size: 16px;
    font-weight: 700;
}

.mhr-vehicle-book-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 54px;
    border-radius: 999px;
    background: #ff6b1a;
    color: #fff;
    text-decoration: none;
    font-weight: 900;
}

.mhr-vehicle-benefits-card {
    display: grid;
    gap: 0;
}

.mhr-vehicle-benefit {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 12px;
    padding: 18px 0;
    border-top: 1px solid #e5e7eb;
}

.mhr-vehicle-benefit:first-child {
    border-top: 0;
    padding-top: 0;
}

.mhr-vehicle-benefit:last-child {
    padding-bottom: 0;
}

.mhr-vehicle-benefit-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: #f8fafc;
    color: #94a3b8;
    font-size: 24px;
}

.mhr-vehicle-benefit strong {
    display: block;
    margin: 0 0 6px;
    color: #0f172a;
    font-size: 15px;
}

.mhr-vehicle-benefit p {
    margin: 0;
    color: #475569;
    font-size: 13px;
    line-height: 1.45;
}

.mhr-vehicle-mobile-cta {
    display: none;
}

@media (max-width: 1100px) {
    .mhr-vehicle-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .mhr-vehicle-detail-layout {
        grid-template-columns: 1fr;
    }

    .mhr-vehicle-sticky {
        position: static;
        grid-template-columns: 1fr;
    }
}

@media (max-width: 782px) {
    .mhr-vehicle-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mhr-vehicle-gallery {
        grid-template-columns: 1fr;
    }

    .mhr-vehicle-gallery-primary,
    .mhr-vehicle-gallery-empty {
        min-height: 260px;
    }

    .mhr-feature-group {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .mhr-feature-group ul {
        columns: 1;
    }

    .mhr-sleeping-grid {
        grid-template-columns: 1fr;
    }

    .mhr-vehicle-detail-page {
        padding-bottom: 92px;
    }

    .mhr-vehicle-sticky {
        display: none;
    }

    .mhr-vehicle-mobile-cta {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 9999;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        padding: 14px 18px;
        background: #fff;
        box-shadow: 0 -12px 30px rgba(15, 23, 42, .16);
        border-top: 1px solid #e5e7eb;
    }

    .mhr-vehicle-mobile-cta span {
        display: block;
        color: #64748b;
        font-size: 12px;
        font-style: italic;
    }

    .mhr-vehicle-mobile-cta strong {
        display: block;
        color: #0f172a;
        font-size: 20px;
        white-space: nowrap;
    }

    .mhr-vehicle-mobile-cta small {
        font-size: 12px;
    }

    .mhr-vehicle-mobile-cta a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 48px;
        padding: 0 18px;
        border-radius: 999px;
        background: #ff6b1a;
        color: #fff;
        text-decoration: none;
        font-weight: 900;
        white-space: nowrap;
    }
}

@media (max-width: 520px) {
    .mhr-vehicle-grid {
        grid-template-columns: 1fr;
    }

    .mhr-vehicle-card-actions {
        flex-direction: column;
    }

    .mhr-vehicle-mobile-cta {
        padding: 12px;
    }

    .mhr-vehicle-mobile-cta strong {
        font-size: 17px;
    }

    .mhr-vehicle-mobile-cta a {
        min-height: 44px;
        padding: 0 14px;
        font-size: 13px;
    }
}


/* v2.6.2 — vídeo autohospedado na landing */
.mhr-vehicle-video-player {
    width: 100%;
    max-height: 520px;
    border-radius: 24px;
    background: #0f172a;
    box-shadow: 0 16px 35px rgba(15, 23, 42, .12);
}


/* v2.6.11 — refinamento visual da landing pública do veículo */
.mhr-virtual-vehicle-page {
    background: #ffffff;
}

.mhr-virtual-vehicle-page .mhr-vehicle-detail-page,
.mhr-vehicle-detail-page {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 34px 0 64px;
}

.mhr-vehicle-detail-layout {
    grid-template-columns: minmax(0, 1fr) 330px !important;
    gap: 38px !important;
    max-width: 100%;
}

.mhr-vehicle-gallery {
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, .85fr) !important;
    gap: 12px !important;
    margin: 0 0 30px !important;
    max-width: 100%;
}

.mhr-vehicle-gallery-primary,
.mhr-vehicle-gallery-empty {
    min-height: 430px !important;
    border-radius: 20px !important;
}

.mhr-vehicle-gallery-primary img,
.mhr-vehicle-gallery-thumbs img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mhr-vehicle-gallery-thumbs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 12px !important;
    min-height: 430px;
}

.mhr-vehicle-gallery-thumbs img {
    min-height: 0 !important;
    height: 100% !important;
    border-radius: 18px !important;
}

.mhr-vehicle-title-block {
    padding-bottom: 26px !important;
    margin-bottom: 30px !important;
}

.mhr-vehicle-title-block h1 {
    max-width: 780px;
    margin-bottom: 8px !important;
}

.mhr-vehicle-location {
    font-size: 14px;
}

.mhr-vehicle-tags {
    gap: 7px !important;
    margin: 14px 0 18px !important;
}

.mhr-vehicle-tags span {
    background: #fff7ed !important;
    border: 1px solid #fed7aa;
    color: #ea580c !important;
}

.mhr-vehicle-short {
    max-width: 760px;
    font-size: 15px;
    line-height: 1.55;
}

.mhr-vehicle-description {
    max-width: 820px;
    font-size: 15px !important;
    line-height: 1.75 !important;
}

.mhr-vehicle-section {
    padding: 0 0 28px !important;
    margin: 0 0 28px !important;
}

.mhr-vehicle-section h2 {
    margin-bottom: 18px !important;
    font-size: 22px !important;
    line-height: 1.25;
}

.mhr-sleeping-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
    max-width: 560px;
}

.mhr-sleeping-card {
    border-radius: 16px !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .035);
}

.mhr-feature-groups {
    gap: 22px !important;
}

.mhr-feature-group {
    grid-template-columns: 150px minmax(0, 1fr) !important;
    gap: 22px !important;
    align-items: start;
}

.mhr-feature-group h3 {
    color: #475569 !important;
    font-size: 13px !important;
    font-weight: 900;
}

.mhr-feature-group ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    columns: unset !important;
    column-gap: unset !important;
    gap: 10px 24px;
}

.mhr-feature-group li {
    margin: 0 !important;
    color: #0f172a !important;
    line-height: 1.45;
}

.mhr-feature-group li small {
    margin-left: 20px !important;
    line-height: 1.35;
}

.mhr-condition-list {
    gap: 18px !important;
}

.mhr-condition-group {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.mhr-condition-group h3 {
    margin: 0 !important;
    color: #475569;
    font-size: 13px;
    font-weight: 900;
}

.mhr-condition-group p {
    margin-bottom: 8px !important;
    line-height: 1.5;
}

.mhr-country-list span {
    background: #f8fafc !important;
}

.mhr-vehicle-sticky {
    top: 92px !important;
}

.mhr-vehicle-book-card,
.mhr-vehicle-benefits-card {
    border-radius: 20px !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .06) !important;
}

.mhr-vehicle-book-card {
    padding: 24px !important;
}

.mhr-vehicle-book-card > strong {
    font-size: 28px !important;
    letter-spacing: -.02em;
}

.mhr-vehicle-book-btn {
    min-height: 48px !important;
    background: #ffb082 !important;
    color: #ffffff !important;
}

.mhr-vehicle-book-btn:hover {
    background: #ff7a1a !important;
}

.mhr-vehicle-benefits-card {
    padding: 22px !important;
}

.mhr-vehicle-benefit {
    grid-template-columns: 46px minmax(0, 1fr) !important;
    gap: 12px !important;
}

.mhr-vehicle-benefit-icon {
    width: 38px !important;
    height: 38px !important;
}

.mhr-vehicle-faq details {
    box-shadow: 0 6px 16px rgba(15, 23, 42, .025);
}

@media (max-width: 1180px) {
    .mhr-virtual-vehicle-page .mhr-vehicle-detail-page,
    .mhr-vehicle-detail-page {
        width: min(100% - 28px, 1040px);
    }

    .mhr-vehicle-detail-layout {
        grid-template-columns: 1fr !important;
    }

    .mhr-vehicle-sticky {
        display: none !important;
    }

    .mhr-vehicle-detail-page {
        padding-bottom: 100px !important;
    }
}

@media (max-width: 820px) {
    .mhr-virtual-vehicle-page .mhr-vehicle-detail-page,
    .mhr-vehicle-detail-page {
        width: min(100% - 22px, 720px);
        padding-top: 22px !important;
    }

    .mhr-vehicle-gallery {
        grid-template-columns: 1fr !important;
    }

    .mhr-vehicle-gallery-primary,
    .mhr-vehicle-gallery-empty {
        min-height: 280px !important;
    }

    .mhr-vehicle-gallery-thumbs {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        grid-template-rows: 1fr;
        min-height: 86px;
        gap: 8px !important;
    }

    .mhr-vehicle-gallery-thumbs img {
        min-height: 86px !important;
        border-radius: 12px !important;
    }

    .mhr-feature-group,
    .mhr-condition-group {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .mhr-feature-group ul {
        grid-template-columns: 1fr !important;
    }

    .mhr-vehicle-title-block h1 {
        font-size: 30px !important;
    }

    .mhr-vehicle-section h2 {
        font-size: 20px !important;
    }
}

@media (max-width: 520px) {
    .mhr-vehicle-gallery-thumbs {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        min-height: auto;
    }

    .mhr-vehicle-gallery-thumbs img {
        min-height: 105px !important;
    }

    .mhr-vehicle-mobile-cta {
        left: 10px !important;
        right: 10px !important;
        bottom: 10px !important;
        border-radius: 18px !important;
        border: 1px solid #e5e7eb;
    }
}


/* v2.6.12 — galeria harmônica e lightbox da landing do veículo */
.mhr-vehicle-gallery {
    display: grid !important;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, .95fr) !important;
    gap: 14px !important;
}

.mhr-vehicle-gallery-tile {
    position: relative;
    display: block;
    width: 100%;
    border: 0;
    padding: 0;
    background-color: #eef2f7;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    cursor: pointer;
    overflow: hidden;
    box-shadow: none;
}

.mhr-vehicle-gallery-tile::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15,23,42,0) 55%, rgba(15,23,42,.18) 100%);
    opacity: 0;
    transition: opacity .18s ease;
}

.mhr-vehicle-gallery-tile:hover::after {
    opacity: 1;
}

.mhr-vehicle-gallery-primary {
    aspect-ratio: 16 / 9;
    min-height: 0 !important;
    border-radius: 22px !important;
}

.mhr-vehicle-gallery-thumbs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    min-height: 0 !important;
    height: auto !important;
}

.mhr-vehicle-gallery-thumb {
    aspect-ratio: 1 / 1;
    min-height: 0 !important;
    border-radius: 20px !important;
}

.mhr-vehicle-gallery-all {
    position: absolute;
    right: 14px;
    bottom: 14px;
    z-index: 3;
    min-height: 38px;
    padding: 0 14px;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.96);
    color: #0f172a;
    cursor: pointer;
    font-size: 12px;
    font-weight: 900;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .16);
}

.mhr-vehicle-gallery-thumbs {
    position: relative;
}

.mhr-vehicle-video-pill {
    z-index: 4;
    border: 0;
    cursor: pointer;
}

.mhr-vehicle-lightbox-open {
    overflow: hidden;
}

.mhr-vehicle-lightbox,
.mhr-vehicle-video-lightbox {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 28px;
}

.mhr-vehicle-lightbox.is-open,
.mhr-vehicle-video-lightbox.is-open {
    display: flex;
}

.mhr-vehicle-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .88);
    backdrop-filter: blur(4px);
}

.mhr-vehicle-lightbox-dialog,
.mhr-vehicle-video-dialog {
    position: relative;
    z-index: 2;
    width: min(1120px, 100%);
    max-height: calc(100vh - 56px);
}

.mhr-vehicle-lightbox-stage {
    display: grid;
    place-items: center;
    min-height: 280px;
}

.mhr-vehicle-lightbox-stage img {
    display: block;
    max-width: 100%;
    max-height: calc(100vh - 120px);
    border-radius: 18px;
    object-fit: contain;
    box-shadow: 0 24px 60px rgba(0,0,0,.36);
}

.mhr-vehicle-lightbox-close {
    position: absolute;
    top: -18px;
    right: -18px;
    z-index: 5;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 999px;
    background: #fff;
    color: #0f172a;
    cursor: pointer;
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 16px 34px rgba(0,0,0,.22);
}

.mhr-vehicle-lightbox-nav {
    position: absolute;
    top: 50%;
    z-index: 4;
    width: 46px;
    height: 46px;
    transform: translateY(-50%);
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.96);
    color: #0f172a;
    cursor: pointer;
    font-size: 34px;
    font-weight: 900;
    line-height: 1;
    box-shadow: 0 16px 34px rgba(0,0,0,.22);
}

.mhr-vehicle-lightbox-prev {
    left: -18px;
}

.mhr-vehicle-lightbox-next {
    right: -18px;
}

.mhr-vehicle-lightbox.has-single .mhr-vehicle-lightbox-nav {
    display: none;
}

.mhr-vehicle-lightbox-count {
    position: absolute;
    left: 50%;
    bottom: -36px;
    transform: translateX(-50%);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}

.mhr-vehicle-video-stage {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 20px;
    background: #000;
    box-shadow: 0 24px 60px rgba(0,0,0,.42);
}

.mhr-vehicle-video-stage iframe,
.mhr-vehicle-video-stage video {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: contain;
}

@media (max-width: 820px) {
    .mhr-vehicle-gallery {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .mhr-vehicle-gallery-primary {
        aspect-ratio: 4 / 3;
        border-radius: 18px !important;
    }

    .mhr-vehicle-gallery-thumbs {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        grid-template-rows: 1fr !important;
        gap: 8px !important;
    }

    .mhr-vehicle-gallery-thumb {
        aspect-ratio: 1 / 1;
        border-radius: 12px !important;
    }

    .mhr-vehicle-lightbox,
    .mhr-vehicle-video-lightbox {
        padding: 18px;
    }

    .mhr-vehicle-lightbox-close {
        top: 10px;
        right: 10px;
    }

    .mhr-vehicle-lightbox-prev {
        left: 10px;
    }

    .mhr-vehicle-lightbox-next {
        right: 10px;
    }

    .mhr-vehicle-lightbox-nav {
        width: 42px;
        height: 42px;
        font-size: 30px;
    }

    .mhr-vehicle-lightbox-stage img {
        max-height: calc(100vh - 96px);
    }

    .mhr-vehicle-lightbox-count {
        bottom: 12px;
        padding: 5px 10px;
        border-radius: 999px;
        background: rgba(15, 23, 42, .7);
    }
}

@media (max-width: 520px) {
    .mhr-vehicle-gallery-thumbs {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .mhr-vehicle-gallery-all {
        right: 10px;
        bottom: 10px;
    }
}


/* v2.6.13 — galeria maior para valorizar o veículo */
.mhr-virtual-vehicle-page .mhr-vehicle-detail-page,
.mhr-vehicle-detail-page {
    width: min(1360px, calc(100% - 48px)) !important;
    padding-top: 40px !important;
}

.mhr-vehicle-detail-layout {
    grid-template-columns: minmax(0, 1fr) 350px !important;
    gap: 46px !important;
}

.mhr-vehicle-gallery {
    grid-template-columns: minmax(0, 1.72fr) minmax(300px, .86fr) !important;
    gap: 16px !important;
    margin-bottom: 38px !important;
}

.mhr-vehicle-gallery-primary {
    aspect-ratio: 16 / 8.6 !important;
    border-radius: 24px !important;
}

.mhr-vehicle-gallery-thumb {
    border-radius: 22px !important;
}

.mhr-vehicle-title-block h1 {
    font-size: clamp(42px, 4.4vw, 64px) !important;
}

.mhr-vehicle-title-block {
    margin-top: 4px !important;
}

.mhr-vehicle-book-card,
.mhr-vehicle-benefits-card {
    border-radius: 24px !important;
}

.mhr-vehicle-book-card {
    padding: 30px !important;
}

.mhr-vehicle-book-card > strong {
    font-size: 32px !important;
}

.mhr-vehicle-book-btn {
    min-height: 58px !important;
    font-size: 16px !important;
}

@media (max-width: 1280px) {
    .mhr-virtual-vehicle-page .mhr-vehicle-detail-page,
    .mhr-vehicle-detail-page {
        width: min(100% - 34px, 1160px) !important;
    }

    .mhr-vehicle-detail-layout {
        grid-template-columns: minmax(0, 1fr) 330px !important;
        gap: 34px !important;
    }

    .mhr-vehicle-gallery {
        grid-template-columns: minmax(0, 1.55fr) minmax(260px, .9fr) !important;
    }
}

@media (max-width: 1180px) {
    .mhr-vehicle-detail-layout {
        grid-template-columns: 1fr !important;
    }

    .mhr-vehicle-gallery {
        grid-template-columns: minmax(0, 1.55fr) minmax(260px, .9fr) !important;
    }
}

@media (max-width: 820px) {
    .mhr-virtual-vehicle-page .mhr-vehicle-detail-page,
    .mhr-vehicle-detail-page {
        width: min(100% - 22px, 720px) !important;
        padding-top: 24px !important;
    }

    .mhr-vehicle-gallery {
        grid-template-columns: 1fr !important;
        margin-bottom: 28px !important;
    }

    .mhr-vehicle-gallery-primary {
        aspect-ratio: 4 / 3 !important;
        border-radius: 18px !important;
    }

    .mhr-vehicle-title-block h1 {
        font-size: 34px !important;
    }
}


/* v2.6.14 — lightbox usa todas as fotos cadastradas */
.mhr-vehicle-gallery-all small {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    margin-left: 6px;
    padding: 0 6px;
    border-radius: 999px;
    background: #ff6b1a;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}


/* v2.6.15 — layout público estilo concorrente: galeria no topo */
.mhr-virtual-vehicle-page .mhr-vehicle-detail-page,
.mhr-vehicle-detail-page {
    width: min(1230px, calc(100% - 48px)) !important;
    margin: 0 auto !important;
    padding-top: 34px !important;
}

.mhr-vehicle-gallery-hero {
    width: 100%;
    margin: 0 0 34px !important;
}

.mhr-vehicle-gallery-hero.mhr-vehicle-gallery {
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr) !important;
    gap: 14px !important;
}

.mhr-vehicle-gallery-hero .mhr-vehicle-gallery-primary {
    aspect-ratio: 1.55 / 1 !important;
    min-height: 0 !important;
    border-radius: 18px !important;
}

.mhr-vehicle-gallery-hero .mhr-vehicle-gallery-thumbs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    min-height: 0 !important;
    height: auto !important;
}

.mhr-vehicle-gallery-hero .mhr-vehicle-gallery-thumb {
    aspect-ratio: 1.55 / 1 !important;
    border-radius: 14px !important;
}

.mhr-vehicle-detail-layout {
    grid-template-columns: minmax(0, 1fr) 360px !important;
    gap: 56px !important;
    align-items: start !important;
}

.mhr-vehicle-title-block {
    margin-top: 0 !important;
    padding-bottom: 30px !important;
    margin-bottom: 32px !important;
}

.mhr-vehicle-title-block h1 {
    font-size: clamp(34px, 3vw, 48px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em;
    margin-bottom: 10px !important;
}

.mhr-vehicle-location {
    font-size: 15px !important;
    color: #475569 !important;
    margin-bottom: 18px !important;
}

.mhr-vehicle-tags {
    margin: 16px 0 26px !important;
    gap: 12px !important;
}

.mhr-vehicle-tags span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 14px !important;
    border-radius: 999px !important;
    border: 1px solid #fed7aa !important;
    background: #fffaf5 !important;
    color: #ea580c !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.mhr-vehicle-short {
    max-width: 760px;
    margin: 0 0 22px !important;
    color: #334155 !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

.mhr-vehicle-description {
    max-width: 800px;
}

.mhr-vehicle-sticky {
    top: 92px !important;
}

.mhr-vehicle-book-card {
    padding: 26px !important;
    border-radius: 20px !important;
}

.mhr-vehicle-book-card > span {
    font-size: 15px !important;
}

.mhr-vehicle-book-card > strong {
    font-size: 28px !important;
}

.mhr-vehicle-book-btn {
    min-height: 54px !important;
    margin-top: 4px;
}

.mhr-vehicle-benefits-card {
    margin-top: 24px;
    border-radius: 20px !important;
}

.mhr-vehicle-video-pill {
    left: 16px !important;
    bottom: 16px !important;
}

.mhr-vehicle-gallery-all {
    right: 14px !important;
    bottom: 14px !important;
}

@media (max-width: 1180px) {
    .mhr-vehicle-gallery-hero.mhr-vehicle-gallery {
        grid-template-columns: minmax(0, 1fr) minmax(340px, .9fr) !important;
    }

    .mhr-vehicle-detail-layout {
        grid-template-columns: minmax(0, 1fr) 330px !important;
        gap: 34px !important;
    }
}

@media (max-width: 980px) {
    .mhr-vehicle-detail-layout {
        grid-template-columns: 1fr !important;
    }

    .mhr-vehicle-sticky {
        display: none !important;
    }
}

@media (max-width: 820px) {
    .mhr-virtual-vehicle-page .mhr-vehicle-detail-page,
    .mhr-vehicle-detail-page {
        width: min(100% - 22px, 720px) !important;
        padding-top: 22px !important;
    }

    .mhr-vehicle-gallery-hero.mhr-vehicle-gallery {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .mhr-vehicle-gallery-hero .mhr-vehicle-gallery-primary {
        aspect-ratio: 4 / 3 !important;
    }

    .mhr-vehicle-gallery-hero .mhr-vehicle-gallery-thumbs {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        grid-template-rows: 1fr !important;
        gap: 8px !important;
    }

    .mhr-vehicle-gallery-hero .mhr-vehicle-gallery-thumb {
        aspect-ratio: 1 / 1 !important;
        border-radius: 12px !important;
    }

    .mhr-vehicle-title-block h1 {
        font-size: 34px !important;
    }
}

@media (max-width: 520px) {
    .mhr-vehicle-gallery-hero .mhr-vehicle-gallery-thumbs {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}


/* v2.6.16 — ajuste de hierarquia do título e card de valor */
.mhr-vehicle-title-block h1 {
    font-size: clamp(28px, 2.35vw, 38px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.018em !important;
    margin-bottom: 8px !important;
}

.mhr-vehicle-location {
    font-size: 14px !important;
    margin-bottom: 16px !important;
}

.mhr-vehicle-tags {
    margin: 14px 0 24px !important;
}

.mhr-vehicle-tags span {
    min-height: 32px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
}

.mhr-vehicle-book-card {
    padding: 22px !important;
}

.mhr-vehicle-book-card > span {
    font-size: 13px !important;
    margin-bottom: 6px !important;
}

.mhr-vehicle-book-card > strong {
    display: flex !important;
    align-items: baseline;
    gap: 6px;
    font-size: 24px !important;
    line-height: 1.15 !important;
    letter-spacing: -.015em !important;
    margin-bottom: 22px !important;
}

.mhr-vehicle-book-card > strong small {
    font-size: 14px !important;
    font-weight: 700 !important;
}

.mhr-vehicle-book-btn {
    min-height: 48px !important;
    font-size: 14px !important;
}

.mhr-vehicle-benefit strong {
    font-size: 14px !important;
}

.mhr-vehicle-benefit p {
    font-size: 13px !important;
}

@media (max-width: 820px) {
    .mhr-vehicle-title-block h1 {
        font-size: 30px !important;
    }

    .mhr-vehicle-mobile-cta strong {
        font-size: 18px !important;
    }
}


/* v2.6.17 — cor fixa do botão Verificar disponibilidade */
.mhr-vehicle-book-btn,
.mhr-vehicle-mobile-cta a,
.mhr-vehicle-availability {
    background: #ff6b1a !important;
    color: #ffffff !important;
    text-decoration: none !important;
    transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.mhr-vehicle-book-btn:hover,
.mhr-vehicle-book-btn:focus,
.mhr-vehicle-mobile-cta a:hover,
.mhr-vehicle-mobile-cta a:focus,
.mhr-vehicle-availability:hover,
.mhr-vehicle-availability:focus {
    background: #16a34a !important;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(22, 163, 74, .22);
}


/* v2.6.18 — ícone nas opções de dormir */
.mhr-sleeping-card-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.mhr-sleeping-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    border: 1px solid #fed7aa;
    background: #fff7ed;
    color: #f97316;
    flex: 0 0 42px;
}

.mhr-sleeping-icon svg {
    width: 22px;
    height: 22px;
}

.mhr-sleeping-card strong {
    margin: 0;
    color: #0f172a;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}

.mhr-sleeping-card span {
    margin-top: 0;
    color: #64748b;
    font-size: 14px;
    line-height: 1.5;
}


/* v2.6.19 — ajuste fino do ícone de cama */
.mhr-sleeping-icon {
    width: 44px !important;
    height: 44px !important;
    border-radius: 14px !important;
}

.mhr-sleeping-icon svg {
    width: 24px !important;
    height: 24px !important;
    display: block;
}


/* v2.6.20 — ícone de cama simplificado */
.mhr-sleeping-icon {
    width: 46px !important;
    height: 46px !important;
    border-radius: 16px !important;
    border: 1px solid #fed7aa !important;
    background: #fff7ed !important;
    color: #f97316 !important;
}

.mhr-sleeping-icon svg {
    width: 26px !important;
    height: 26px !important;
    display: block !important;
}

.mhr-sleeping-card-head {
    gap: 14px !important;
}


/* v2.6.21 — cards de dormir no padrão visual do concorrente */
.mhr-sleeping-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(150px, 170px)) !important;
    gap: 18px !important;
    align-items: stretch;
}

.mhr-sleeping-card {
    min-height: 150px;
    padding: 24px 22px !important;
    border: 1px solid #dbe3ee !important;
    border-radius: 18px !important;
    background: #fff !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    box-shadow: none !important;
}

.mhr-sleeping-card-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
    margin-bottom: 10px !important;
}

.mhr-sleeping-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #f97316 !important;
    flex: 0 0 28px !important;
}

.mhr-sleeping-icon svg {
    display: block !important;
    width: 28px !important;
    height: 28px !important;
}

.mhr-sleeping-card strong {
    margin: 0 !important;
    color: #0f172a !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.mhr-sleeping-card span {
    margin: 0 !important;
    color: #0f172a !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
}

@media (max-width: 767px) {
    .mhr-sleeping-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .mhr-sleeping-card {
        min-height: 138px;
        padding: 20px 18px !important;
    }
}


/* v2.6.22 — ícone de cama enviado e altura dos cards */
.mhr-sleeping-card {
    min-height: 100px !important;
}

.mhr-sleeping-icon {
    width: 30px !important;
    height: 30px !important;
    color: #f97316 !important;
}

.mhr-sleeping-icon img {
    display: block !important;
    width: 30px !important;
    height: 30px !important;
    object-fit: contain !important;
}

.mhr-sleeping-card-head {
    gap: 10px !important;
    margin-bottom: 8px !important;
}


/* v2.6.23 — comodidades com ícones na landing */
.mhr-amenities-groups .mhr-amenity-public-group ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 28px !important;
}

.mhr-amenity-public-item {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    margin: 0 !important;
}

.mhr-amenity-public-item::before {
    content: none !important;
}

.mhr-amenity-public-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    color: #f97316;
}

.mhr-amenity-public-icon img {
    display: block;
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.mhr-amenity-public-icon > span {
    color: #f97316;
    font-weight: 900;
    font-size: 18px;
    line-height: 1;
}

.mhr-amenity-public-text strong {
    display: block;
    color: #0f172a;
    font-size: 15px;
    line-height: 1.35;
}

.mhr-amenity-public-text small {
    display: block;
    margin: 4px 0 0 !important;
    color: #64748b;
    font-size: 13px;
    line-height: 1.35;
}

@media (max-width: 820px) {
    .mhr-amenities-groups .mhr-amenity-public-group ul {
        grid-template-columns: 1fr;
    }
}


/* v2.6.25 — regras de locação formatadas */
.mhr-rental-rules-content {
    margin-top: 24px;
    padding: 20px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #f8fafc;
}

.mhr-rental-rules-content h3 {
    margin: 0 0 12px !important;
    color: #0f172a;
    font-size: 16px !important;
    font-weight: 900;
}

.mhr-rental-rules-content p,
.mhr-rental-rules-content li {
    color: #334155;
    line-height: 1.65;
}

.mhr-rental-rules-content ul,
.mhr-rental-rules-content ol {
    margin: 10px 0 10px 22px;
}


/* v2.6.26 — ícones em especificações e condições */
.mhr-feature-icon-item,
.mhr-condition-icon-item {
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
}

.mhr-feature-icon-item::before {
    content: none !important;
}

.mhr-feature-icon,
.mhr-condition-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    color: #f97316;
}

.mhr-feature-icon img,
.mhr-condition-icon img {
    display: block;
    width: 23px;
    height: 23px;
    object-fit: contain;
}

.mhr-feature-icon > span,
.mhr-condition-icon > span {
    color: #f97316;
    font-weight: 900;
    font-size: 17px;
    line-height: 1;
}

.mhr-feature-icon-text strong {
    display: block;
}

.mhr-condition-icon-item p {
    margin: 0 0 8px !important;
}


/* v2.6.27 — Onde você vai dormir com ícone e breve descrição */
.mhr-sleeping-card small {
    display: block;
    margin-top: 6px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.45;
}

.mhr-sleeping-icon img {
    display: block !important;
    width: 30px !important;
    height: 30px !important;
    object-fit: contain !important;
}

.mhr-sleeping-card span {
    color: #475569 !important;
}


/* v2.6.28 — grid Onde você vai dormir: 4 desktop / 2 mobile */
.mhr-sleeping-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
    max-width: 100% !important;
}

.mhr-sleeping-card {
    min-width: 0 !important;
    min-height: 100px !important;
    padding: 20px 18px !important;
}

@media (max-width: 980px) {
    .mhr-sleeping-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    .mhr-sleeping-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .mhr-sleeping-card {
        padding: 18px 16px !important;
    }
}

@media (max-width: 360px) {
    .mhr-sleeping-grid {
        grid-template-columns: 1fr !important;
    }
}


/* v2.6.34 — políticas de remarcação e cancelamentos na LP */
.mhr-vehicle-policies-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.mhr-vehicle-policy-card {
    padding: 20px;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .04);
}

.mhr-vehicle-policy-card h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 14px;
    color: #0f172a;
    font-size: 17px;
}

.mhr-vehicle-policy-card h3::before {
    content: "";
    width: 8px;
    height: 24px;
    border-radius: 999px;
    background: #f97316;
}

.mhr-vehicle-policy-list {
    display: grid;
    gap: 10px;
}

.mhr-vehicle-policy-item {
    padding: 14px;
    border: 1px solid #eef2f7;
    border-radius: 16px;
    background: #f8fafc;
}

.mhr-vehicle-policy-item strong {
    display: block;
    color: #0f172a;
    font-size: 14px;
    line-height: 1.35;
}

.mhr-vehicle-policy-item span {
    display: block;
    margin-top: 5px;
    color: #64748b;
    font-size: 13px;
    line-height: 1.45;
}

@media (max-width: 767px) {
    .mhr-vehicle-policies-grid {
        grid-template-columns: 1fr;
    }

    .mhr-vehicle-policy-card {
        padding: 16px;
    }
}


/* v2.6.36 — países permitidos com bandeiras SVG na LP */
.mhr-country-pill {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
}

.mhr-country-pill img {
    width: 22px;
    height: 22px;
    object-fit: contain;
    display: block;
}

.mhr-country-pill strong {
    font: inherit;
    color: inherit;
}


/* v2.6.37 — correção visual das bandeiras dos países na LP */
.mhr-country-list {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.mhr-country-list .mhr-country-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 8px 12px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 999px !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.mhr-country-list .mhr-country-pill img {
    display: block !important;
    flex: 0 0 24px !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 4px !important;
}

.mhr-country-list .mhr-country-pill strong {
    display: inline-block !important;
    margin: 0 !important;
    color: inherit !important;
    font: inherit !important;
    white-space: nowrap !important;
}

@media (max-width: 767px) {
    .mhr-country-list {
        gap: 8px !important;
    }

    .mhr-country-list .mhr-country-pill {
        padding: 7px 10px !important;
        font-size: 13px !important;
    }
}


/* v2.6.38 — comodidades da LP no estilo lista premium */
.mhr-amenities-section .mhr-feature-groups,
.mhr-amenities-section .mhr-amenities-groups {
    display: grid !important;
    gap: 0 !important;
}

.mhr-amenities-section .mhr-amenity-public-group {
    display: grid !important;
    grid-template-columns: 170px minmax(0, 1fr) !important;
    gap: 22px !important;
    align-items: start !important;
    padding: 22px 0 !important;
    border-top: 1px solid #e5e7eb !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.mhr-amenities-section .mhr-amenity-public-group:first-child {
    border-top: 0 !important;
    padding-top: 0 !important;
}

.mhr-amenities-section .mhr-amenity-public-group h3 {
    margin: 2px 0 0 !important;
    color: #0f172a !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}

.mhr-amenities-section .mhr-amenity-public-group ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.mhr-amenities-section .mhr-amenity-public-item {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    gap: 9px !important;
    align-items: start !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.mhr-amenities-section .mhr-amenity-public-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    margin-top: 2px !important;
    color: #334155 !important;
    opacity: .82 !important;
}

.mhr-amenities-section .mhr-amenity-public-icon img {
    display: block !important;
    width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    max-height: 18px !important;
    object-fit: contain !important;
}

.mhr-amenities-section .mhr-amenity-public-icon > span {
    color: #334155 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.mhr-amenities-section .mhr-amenity-public-text strong {
    display: block !important;
    margin: 0 !important;
    color: #0f172a !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
}

.mhr-amenities-section .mhr-amenity-public-text small {
    display: block !important;
    margin: 4px 0 0 !important;
    color: #64748b !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
}

@media (max-width: 900px) {
    .mhr-amenities-section .mhr-amenity-public-group {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .mhr-amenities-section .mhr-amenity-public-group ul {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px 22px !important;
    }
}

@media (max-width: 560px) {
    .mhr-amenities-section .mhr-amenity-public-group {
        padding: 20px 0 !important;
    }

    .mhr-amenities-section .mhr-amenity-public-group ul {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .mhr-amenities-section .mhr-amenity-public-text strong {
        font-size: 15px !important;
    }

    .mhr-amenities-section .mhr-amenity-public-text small {
        font-size: 13px !important;
    }
}


/* v2.6.42 — ajuste de fonte das comodidades na LP */
.mhr-amenities-section .mhr-amenity-public-text strong,
.mhr-amenities-section .mhr-amenity-public-text small {
    font-size: 12px !important;
}


/* v2.6.43 — especificações e condições no mesmo padrão premium da LP */
.mhr-specs-section .mhr-feature-groups,
.mhr-conditions-section .mhr-condition-list {
    display: grid !important;
    gap: 0 !important;
}

.mhr-specs-section .mhr-feature-group,
.mhr-conditions-section .mhr-condition-group {
    display: grid !important;
    grid-template-columns: 170px minmax(0, 1fr) !important;
    gap: 22px !important;
    align-items: start !important;
    padding: 22px 0 !important;
    border-top: 1px solid #e5e7eb !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.mhr-specs-section .mhr-feature-group:first-child,
.mhr-conditions-section .mhr-condition-group:first-child {
    border-top: 0 !important;
    padding-top: 0 !important;
}

.mhr-specs-section .mhr-feature-group h3,
.mhr-conditions-section .mhr-condition-group h3 {
    margin: 2px 0 0 !important;
    color: #0f172a !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}

.mhr-specs-section .mhr-feature-group ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.mhr-conditions-section .mhr-condition-group {
    grid-template-rows: auto;
}

.mhr-conditions-section .mhr-condition-group .mhr-condition-icon-item {
    grid-column: 2 / -1;
}

.mhr-conditions-section .mhr-condition-group h3 + .mhr-condition-icon-item {
    margin-top: 0 !important;
}

.mhr-conditions-section .mhr-condition-group {
    grid-template-columns: 170px minmax(0, 1fr) !important;
}

.mhr-conditions-section .mhr-condition-group > .mhr-condition-icon-item {
    display: grid !important;
}

.mhr-conditions-section .mhr-condition-group {
    row-gap: 20px !important;
}

.mhr-specs-section .mhr-feature-icon-item,
.mhr-conditions-section .mhr-condition-icon-item {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    gap: 9px !important;
    align-items: start !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.mhr-specs-section .mhr-feature-icon,
.mhr-conditions-section .mhr-condition-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    margin-top: 2px !important;
    color: #334155 !important;
    opacity: .82 !important;
}

.mhr-specs-section .mhr-feature-icon img,
.mhr-conditions-section .mhr-condition-icon img {
    display: block !important;
    width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    max-height: 18px !important;
    object-fit: contain !important;
}

.mhr-specs-section .mhr-feature-icon > span,
.mhr-conditions-section .mhr-condition-icon > span {
    color: #334155 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.mhr-specs-section .mhr-feature-icon-text strong,
.mhr-conditions-section .mhr-condition-icon-item strong {
    display: block !important;
    margin: 0 !important;
    color: #0f172a !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
}

.mhr-specs-section .mhr-feature-icon-text small,
.mhr-conditions-section .mhr-condition-icon-item small {
    display: block !important;
    margin: 4px 0 0 !important;
    color: #64748b !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
}

.mhr-conditions-section .mhr-condition-icon-item p {
    margin: 0 !important;
    color: #0f172a !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

@media (min-width: 901px) {
    .mhr-conditions-section .mhr-condition-group {
        grid-auto-flow: row !important;
    }

    .mhr-conditions-section .mhr-condition-group .mhr-condition-icon-item {
        margin-left: 0 !important;
    }
}

@media (max-width: 900px) {
    .mhr-specs-section .mhr-feature-group,
    .mhr-conditions-section .mhr-condition-group {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .mhr-specs-section .mhr-feature-group ul {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px 22px !important;
    }

    .mhr-conditions-section .mhr-condition-group .mhr-condition-icon-item {
        grid-column: auto !important;
    }
}

@media (max-width: 560px) {
    .mhr-specs-section .mhr-feature-group,
    .mhr-conditions-section .mhr-condition-group {
        padding: 20px 0 !important;
    }

    .mhr-specs-section .mhr-feature-group ul {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}


/* v2.6.44 — comodidades em 2 colunas no mobile */
@media (max-width: 767px) {
    .mhr-amenities-section .mhr-amenity-public-group {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .mhr-amenities-section .mhr-amenity-public-group ul {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px 14px !important;
    }

    .mhr-amenities-section .mhr-amenity-public-item {
        display: grid !important;
        grid-template-columns: 20px minmax(0, 1fr) !important;
        gap: 8px !important;
        align-items: start !important;
        min-width: 0 !important;
    }

    .mhr-amenities-section .mhr-amenity-public-icon {
        width: 18px !important;
        height: 18px !important;
        margin-top: 2px !important;
    }

    .mhr-amenities-section .mhr-amenity-public-icon img {
        width: 18px !important;
        max-width: 18px !important;
        height: 18px !important;
        max-height: 18px !important;
    }

    .mhr-amenities-section .mhr-amenity-public-text {
        min-width: 0 !important;
    }

    .mhr-amenities-section .mhr-amenity-public-text strong,
    .mhr-amenities-section .mhr-amenity-public-text small {
        display: block !important;
        overflow-wrap: anywhere !important;
    }
}

@media (max-width: 360px) {
    .mhr-amenities-section .mhr-amenity-public-group ul {
        grid-template-columns: 1fr !important;
    }
}


/* v2.6.45 — condições de locação em 2 colunas no mobile */
@media (max-width: 767px) {
    .mhr-conditions-section .mhr-condition-group {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px 14px !important;
        align-items: start !important;
    }

    .mhr-conditions-section .mhr-condition-group > h3 {
        grid-column: 1 / -1 !important;
        margin-bottom: 0 !important;
    }

    .mhr-conditions-section .mhr-condition-group .mhr-condition-icon-item {
        grid-column: auto !important;
        display: grid !important;
        grid-template-columns: 20px minmax(0, 1fr) !important;
        gap: 8px !important;
        align-items: start !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .mhr-conditions-section .mhr-condition-icon {
        width: 18px !important;
        height: 18px !important;
        margin-top: 2px !important;
    }

    .mhr-conditions-section .mhr-condition-icon img {
        width: 18px !important;
        max-width: 18px !important;
        height: 18px !important;
        max-height: 18px !important;
    }

    .mhr-conditions-section .mhr-condition-icon-item p,
    .mhr-conditions-section .mhr-condition-icon-item strong,
    .mhr-conditions-section .mhr-condition-icon-item small {
        min-width: 0 !important;
        overflow-wrap: anywhere !important;
    }
}

@media (max-width: 360px) {
    .mhr-conditions-section .mhr-condition-group {
        grid-template-columns: 1fr !important;
    }
}


/* v2.6.47 — botão Ver mais/Ver menos das comodidades */
.mhr-amenities-section .mhr-amenity-public-group[hidden],
.mhr-amenities-section .mhr-amenities-expand-actions[hidden] {
    display: none !important;
}

.mhr-amenities-expand-actions {
    display: flex;
    justify-content: center;
    width: 100%;
}

.mhr-amenities-expand-actions-top {
    margin-top: 22px;
}

.mhr-amenities-expand-actions-bottom {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #e5e7eb;
}

.mhr-amenities-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 44px;
    padding: 10px 20px;
    border: 1px solid #dbe4ef;
    border-radius: 999px;
    background: #ffffff;
    color: #0f172a;
    font-family: inherit;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
    transition: border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.mhr-amenities-toggle:hover,
.mhr-amenities-toggle:focus-visible {
    border-color: #f97316;
    color: #f97316;
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .10);
    outline: none;
}

.mhr-amenities-toggle span {
    font-size: 15px;
    line-height: 1;
}

@media (max-width: 767px) {
    .mhr-amenities-expand-actions-top {
        margin-top: 18px;
    }

    .mhr-amenities-expand-actions-bottom {
        margin-top: 20px;
        padding-top: 18px;
    }

    .mhr-amenities-toggle {
        width: 100%;
        max-width: 280px;
        min-height: 42px;
        font-size: 12px;
    }
}

/* v2.7.0 — status, disponibilidade rápida, avaliações e comparação */
.mhr-vehicle-status-notice {
    display: inline-flex;
    margin: 12px 0 0;
    padding: 9px 12px;
    border: 1px solid #fed7aa;
    border-radius: 999px;
    background: #fff7ed;
    color: #9a3412;
    font-size: 12px;
    font-weight: 700;
}

.mhr-lp-availability-form {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}

.mhr-lp-date-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.mhr-lp-date-grid label {
    display: grid;
    gap: 6px;
    color: #475569;
    font-size: 11px;
    font-weight: 700;
}

.mhr-lp-date-grid input {
    width: 100%;
    min-width: 0;
    height: 42px;
    padding: 8px 9px;
    border: 1px solid #dbe4ef;
    border-radius: 12px;
    background: #fff;
    color: #0f172a;
    font-size: 12px;
}

.mhr-lp-availability-message,
.mhr-review-form-message {
    min-height: 18px;
    margin: 0 !important;
    color: #b45309;
    font-size: 12px;
    line-height: 1.4;
}

.mhr-vehicle-book-btn.is-disabled,
.mhr-vehicle-availability.is-disabled {
    opacity: .6;
    cursor: not-allowed;
}

.mhr-mobile-unavailable {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 14px;
    border-radius: 999px;
    background: #e2e8f0;
    color: #475569;
    font-size: 12px;
    font-weight: 800;
}

.mhr-review-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 20px;
}

.mhr-review-section-head h2 {
    margin-bottom: 6px !important;
}

.mhr-review-section-head p {
    margin: 0 !important;
    color: #64748b;
    font-size: 13px;
}

.mhr-public-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.mhr-public-review-card {
    padding: 18px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #fff;
}

.mhr-public-review-stars {
    color: #f59e0b;
    font-size: 17px;
    letter-spacing: 2px;
}

.mhr-public-review-card h3 {
    margin: 10px 0 6px !important;
    color: #0f172a;
    font-size: 15px !important;
}

.mhr-public-review-card p {
    margin: 8px 0 14px !important;
    color: #475569;
    font-size: 13px;
    line-height: 1.55;
}

.mhr-public-review-card footer {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-top: 12px;
    border-top: 1px solid #eef2f7;
    color: #0f172a;
    font-size: 12px;
}

.mhr-public-review-card footer small {
    color: #64748b;
}

.mhr-public-review-images {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
}

.mhr-public-review-images img {
    width: 76px;
    height: 58px;
    border-radius: 10px;
    object-fit: cover;
}

.mhr-review-form-details {
    margin-top: 20px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #f8fafc;
}

.mhr-review-form-details summary {
    padding: 16px 18px;
    color: #0f172a;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

.mhr-public-review-form {
    padding: 0 18px 18px;
}

.mhr-review-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.mhr-review-form-grid label {
    display: grid;
    gap: 6px;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
}

.mhr-review-form-grid input,
.mhr-review-form-grid select,
.mhr-review-form-grid textarea {
    width: 100%;
    max-width: none;
    margin: 0;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    background: #fff;
    font: inherit;
}

.mhr-review-span-2 {
    grid-column: 1 / -1;
}

.mhr-vehicle-card-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 8px 0 10px;
}

.mhr-publication-pill {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    background: #dcfce7;
    color: #166534;
    font-size: 10px;
    font-weight: 800;
}

.mhr-publication-pill.status-unavailable,
.mhr-publication-pill.status-maintenance {
    background: #fff7ed;
    color: #9a3412;
}

.mhr-compare-check {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #475569;
    font-size: 11px;
    font-weight: 700;
}

.mhr-compare-tray {
    position: fixed;
    left: 50%;
    bottom: 20px;
    z-index: 9998;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: min(680px, calc(100% - 30px));
    padding: 14px 16px;
    border: 1px solid #dbe4ef;
    border-radius: 18px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 18px 50px rgba(15,23,42,.18);
    transform: translateX(-50%);
    backdrop-filter: blur(12px);
}

.mhr-compare-tray[hidden] { display: none !important; }
.mhr-compare-tray > div { display: flex; align-items: center; gap: 10px; }
.mhr-compare-tray strong { color: #0f172a; font-size: 14px; }
.mhr-compare-tray span { color: #64748b; font-size: 12px; }
.mhr-compare-tray button {
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #fff;
    color: #0f172a;
    font-weight: 800;
    cursor: pointer;
}
.mhr-compare-tray .mhr-compare-open { border-color: #f97316; background: #f97316; color: #fff; }
.mhr-compare-tray .mhr-compare-open:disabled { opacity: .5; cursor: not-allowed; }

.mhr-compare-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
}
.mhr-compare-modal.is-open { display: flex; }
.mhr-compare-backdrop { position: absolute; inset: 0; background: rgba(15,23,42,.75); }
.mhr-compare-dialog {
    position: relative;
    z-index: 1;
    width: min(1100px, 100%);
    max-height: 88vh;
    overflow: auto;
    padding: 24px;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 25px 80px rgba(0,0,0,.25);
}
.mhr-compare-close { position: absolute; top: 12px; right: 14px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #f1f5f9; font-size: 24px; cursor: pointer; }
.mhr-compare-table-wrap { overflow-x: auto; }
.mhr-compare-table { width: 100%; border-collapse: collapse; min-width: 720px; }
.mhr-compare-table th, .mhr-compare-table td { padding: 12px; border-bottom: 1px solid #e2e8f0; text-align: left; vertical-align: top; font-size: 12px; }
.mhr-compare-table thead th { color: #0f172a; font-size: 14px; }
.mhr-compare-image { width: 150px; height: 90px; border-radius: 12px; object-fit: cover; }
body.mhr-compare-open { overflow: hidden; }

@media (max-width: 767px) {
    .mhr-lp-date-grid,
    .mhr-public-review-grid,
    .mhr-review-form-grid { grid-template-columns: 1fr; }
    .mhr-review-span-2 { grid-column: auto; }
    .mhr-compare-tray { align-items: stretch; flex-direction: column; gap: 10px; }
    .mhr-compare-tray > div { justify-content: space-between; }
    .mhr-compare-dialog { padding: 18px 14px; }
}


/* v2.7.0 — consentimento para recuperação de oportunidade */
.mhr-lead-consent-box {
    margin-top: 18px;
    padding: 14px 16px;
    border: 1px solid #dbeafe;
    border-radius: 12px;
    background: #eff6ff;
}

.mhr-lead-consent-box small {
    display: block;
    margin-top: 6px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.45;
}


/* v2.7.3 — fallback externo da área de avaliações */
.mhr-vehicle-detail-page .mhr-review-star-button svg path {
    transition: fill .15s ease !important;
}
.mhr-vehicle-detail-page .mhr-review-form-details[open] {
    overflow: visible;
}


/* v2.7.4 — estado selecionado das estrelas independente do tema */
.mhr-vehicle-detail-page .mhr-review-star-button.is-active svg path,
.mhr-vehicle-detail-page .mhr-review-star-button[aria-checked="true"] svg path {
    fill: #fbbc04 !important;
}

.mhr-vehicle-detail-page .mhr-review-star-button:not(.is-active) svg path {
    fill: #d1d5db;
}


/* v2.7.5 — calendário premium na LP */
.mhr-lp-booking-card {
    position: relative !important;
    overflow: visible !important;
}

.mhr-lp-booking-card .mhr-lp-price-prefix {
    display: block !important;
    margin-bottom: 6px !important;
    color: #64748b !important;
    font-size: 13px !important;
    font-style: italic !important;
}

.mhr-lp-booking-card .mhr-lp-price-line {
    display: flex !important;
    align-items: baseline !important;
    gap: 7px !important;
    margin: 0 0 22px !important;
    color: #0f172a !important;
    font-size: 27px !important;
    line-height: 1.15 !important;
}

.mhr-lp-booking-card .mhr-lp-price-line small {
    font-size: 15px !important;
    font-weight: 700 !important;
}

.mhr-lp-calendar-form {
    position: relative !important;
    display: grid !important;
    gap: 14px !important;
    margin-top: 0 !important;
}

.mhr-lp-calendar-form > input[type="hidden"] {
    display: none !important;
}

.mhr-lp-date-selector {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 52px !important;
    padding: 9px 16px !important;
    margin: 0 !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 999px !important;
    background: #f1f5f9 !important;
    color: #0f172a !important;
    box-shadow: none !important;
    cursor: pointer !important;
    text-align: left !important;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease !important;
}

.mhr-lp-date-selector:hover,
.mhr-lp-date-selector:focus-visible,
.mhr-lp-calendar-form.is-calendar-open .mhr-lp-date-selector {
    border-color: #94a3b8 !important;
    background: #e8eef5 !important;
    box-shadow: 0 0 0 4px rgba(15, 23, 42, .05) !important;
    outline: none !important;
}

.mhr-lp-date-selector-icon {
    display: grid !important;
    place-items: center !important;
    width: 24px !important;
    height: 24px !important;
    color: #0f172a !important;
}

.mhr-lp-date-selector-label {
    overflow: hidden !important;
    color: #0f172a !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.mhr-lp-date-selector-action {
    color: #0f172a !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

.mhr-lp-calendar-form.has-period .mhr-lp-date-selector {
    background: #ffffff !important;
}

.mhr-lp-no-charge {
    display: block !important;
    margin: -4px 0 0 !important;
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-align: center !important;
}

.mhr-lp-no-charge[hidden] {
    display: none !important;
}

.mhr-lp-availability-message {
    min-height: 18px !important;
    margin: -2px 0 0 !important;
    color: #64748b !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    text-align: center !important;
}

.mhr-lp-availability-message.is-error {
    color: #dc2626 !important;
}

.mhr-lp-availability-message.is-success {
    color: #15803d !important;
}

.mhr-lp-calendar-popover {
    position: absolute !important;
    top: calc(100% - 78px) !important;
    right: 0 !important;
    z-index: 10050 !important;
    width: min(760px, calc(100vw - 40px)) !important;
    padding: 22px !important;
    overflow: hidden !important;
    border: 1px solid #dbe4ef !important;
    border-radius: 24px !important;
    background: #ffffff !important;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .22) !important;
}

.mhr-lp-calendar-popover[hidden] {
    display: none !important;
}

.mhr-lp-calendar-topbar {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin-bottom: 14px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid #eef2f7 !important;
}

.mhr-lp-calendar-topbar > div {
    display: grid !important;
    gap: 3px !important;
}

.mhr-lp-calendar-topbar strong {
    color: #0f172a !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}

.mhr-lp-calendar-topbar span {
    color: #64748b !important;
    font-size: 11px !important;
}

.mhr-lp-calendar-close,
.mhr-lp-calendar-prev,
.mhr-lp-calendar-next {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: grid !important;
    place-items: center !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #dbe4ef !important;
    border-radius: 11px !important;
    background: #ffffff !important;
    color: #334155 !important;
    box-shadow: none !important;
    font-size: 25px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.mhr-lp-calendar-close:hover,
.mhr-lp-calendar-prev:hover,
.mhr-lp-calendar-next:hover {
    border-color: #f97316 !important;
    color: #f97316 !important;
}

.mhr-lp-calendar-prev:disabled {
    opacity: .35 !important;
    cursor: not-allowed !important;
}

.mhr-lp-calendar-navigation {
    position: absolute !important;
    top: 84px !important;
    right: 22px !important;
    left: 22px !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    pointer-events: none !important;
}

.mhr-lp-calendar-navigation button {
    pointer-events: auto !important;
}

.mhr-lp-calendar-mobile-title {
    display: none !important;
}

.mhr-lp-calendar-months {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px !important;
}

.mhr-lp-calendar-month {
    min-width: 0 !important;
}

.mhr-lp-calendar-month h3 {
    margin: 0 46px 14px !important;
    color: #0f172a !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    text-align: center !important;
}

.mhr-lp-calendar-weekdays,
.mhr-lp-calendar-days {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
}

.mhr-lp-calendar-weekdays {
    margin-bottom: 5px !important;
}

.mhr-lp-calendar-weekdays span {
    padding: 4px 0 !important;
    color: #64748b !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    text-align: center !important;
}

.mhr-lp-calendar-days {
    gap: 4px 2px !important;
}

.mhr-lp-calendar-blank {
    min-height: 48px !important;
}

.mhr-lp-calendar-day {
    appearance: none !important;
    -webkit-appearance: none !important;
    position: relative !important;
    display: grid !important;
    grid-template-rows: auto auto !important;
    place-items: center !important;
    gap: 2px !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 5px 1px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #0f172a !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: background .15s ease, color .15s ease, transform .15s ease !important;
}

.mhr-lp-calendar-day strong {
    color: inherit !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.mhr-lp-calendar-day small {
    color: #475569 !important;
    font-size: 8px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.mhr-lp-calendar-day:not(:disabled):hover {
    background: #fff7ed !important;
    color: #ea580c !important;
    transform: translateY(-1px) !important;
}

.mhr-lp-calendar-day.is-in-range {
    border-radius: 0 !important;
    background: #ffedd5 !important;
    color: #9a3412 !important;
}

.mhr-lp-calendar-day.is-start,
.mhr-lp-calendar-day.is-end {
    border-radius: 10px !important;
    background: #ff6b1a !important;
    color: #ffffff !important;
}

.mhr-lp-calendar-day.is-start small,
.mhr-lp-calendar-day.is-end small {
    color: #ffffff !important;
}

.mhr-lp-calendar-day.is-disabled {
    background: #f3f4f6 !important;
    color: #c4c8ce !important;
    cursor: not-allowed !important;
    transform: none !important;
}

.mhr-lp-calendar-day.is-disabled small {
    color: #d1d5db !important;
}

.mhr-lp-calendar-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-top: 16px !important;
    padding-top: 14px !important;
    border-top: 1px solid #eef2f7 !important;
}

.mhr-lp-calendar-legend {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
}

.mhr-lp-calendar-legend span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    color: #64748b !important;
    font-size: 9px !important;
}

.mhr-lp-calendar-legend i {
    display: block !important;
    width: 10px !important;
    height: 10px !important;
    border: 1px solid #dbe4ef !important;
    border-radius: 3px !important;
    background: #ffffff !important;
}

.mhr-lp-calendar-legend i.is-selected {
    border-color: #ff6b1a !important;
    background: #ff6b1a !important;
}

.mhr-lp-calendar-legend i.is-blocked {
    border-color: #e5e7eb !important;
    background: #f3f4f6 !important;
}

.mhr-lp-calendar-minimum {
    color: #0f172a !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

@media (max-width: 767px) {
    .mhr-lp-calendar-popover {
        position: fixed !important;
        inset: auto 10px 10px 10px !important;
        width: auto !important;
        max-height: calc(100vh - 20px) !important;
        padding: 18px 14px !important;
        overflow-y: auto !important;
        border-radius: 24px !important;
    }

    .mhr-lp-calendar-topbar {
        margin-bottom: 12px !important;
    }

    .mhr-lp-calendar-topbar span {
        display: none !important;
    }

    .mhr-lp-calendar-navigation {
        position: static !important;
        margin-bottom: 12px !important;
    }

    .mhr-lp-calendar-mobile-title {
        display: block !important;
        color: #0f172a !important;
        font-size: 16px !important;
        font-weight: 900 !important;
    }

    .mhr-lp-calendar-months {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    .mhr-lp-calendar-month h3 {
        display: none !important;
    }

    .mhr-lp-calendar-day,
    .mhr-lp-calendar-blank {
        min-height: 52px !important;
    }

    .mhr-lp-calendar-day strong {
        font-size: 13px !important;
    }

    .mhr-lp-calendar-day small {
        font-size: 8px !important;
    }

    .mhr-lp-calendar-footer {
        display: grid !important;
        gap: 10px !important;
    }

    .mhr-lp-calendar-minimum {
        white-space: normal !important;
    }

    .mhr-lp-date-selector {
        padding-right: 13px !important;
    }

    .mhr-lp-date-selector-label {
        font-size: 12px !important;
    }

    .mhr-lp-date-selector-action {
        font-size: 11px !important;
    }
}

@media (max-width: 380px) {
    .mhr-lp-calendar-day,
    .mhr-lp-calendar-blank {
        min-height: 47px !important;
    }

    .mhr-lp-calendar-popover {
        inset: auto 6px 6px 6px !important;
    }
}


/* v2.7.6 — calendário compacto e reposicionado no desktop */
@media (min-width: 783px) {
    .mhr-vehicle-sticky {
        top: 6px !important;
        gap: 12px !important;
    }

    .mhr-lp-booking-card {
        padding: 18px 22px 20px !important;
    }

    .mhr-lp-booking-card .mhr-lp-price-prefix {
        margin-bottom: 3px !important;
    }

    .mhr-lp-booking-card .mhr-lp-price-line {
        margin-bottom: 14px !important;
    }

    .mhr-lp-calendar-form {
        gap: 10px !important;
    }

    .mhr-lp-calendar-popover {
        top: calc(100% - 168px) !important;
        max-height: calc(100vh - 18px) !important;
        padding: 17px 18px 15px !important;
        overflow-y: auto !important;
    }

    .mhr-lp-calendar-topbar {
        align-items: center !important;
        gap: 12px !important;
        margin-bottom: 8px !important;
        padding-bottom: 8px !important;
    }

    .mhr-lp-calendar-topbar > div {
        display: flex !important;
        align-items: baseline !important;
        flex-wrap: wrap !important;
        gap: 5px 10px !important;
        min-width: 0 !important;
    }

    .mhr-lp-calendar-topbar strong {
        flex: 0 0 auto !important;
        font-size: 14px !important;
    }

    .mhr-lp-calendar-topbar span {
        flex: 1 1 auto !important;
        font-size: 10px !important;
        white-space: nowrap !important;
    }

    .mhr-lp-calendar-close {
        flex-basis: 34px !important;
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
    }

    .mhr-lp-calendar-navigation {
        top: 58px !important;
        right: 18px !important;
        left: 18px !important;
    }

    .mhr-lp-calendar-months {
        gap: 22px !important;
    }

    .mhr-lp-calendar-month h3 {
        margin: 0 42px 9px !important;
        font-size: 16px !important;
    }

    .mhr-lp-calendar-weekdays {
        margin-bottom: 2px !important;
    }

    .mhr-lp-calendar-days {
        gap: 2px !important;
    }

    .mhr-lp-calendar-day,
    .mhr-lp-calendar-blank {
        min-height: 44px !important;
    }

    .mhr-lp-calendar-footer {
        margin-top: 10px !important;
        padding-top: 10px !important;
    }
}

@media (min-width: 783px) and (max-height: 760px) {
    .mhr-lp-calendar-popover {
        top: calc(100% - 186px) !important;
        max-height: calc(100vh - 10px) !important;
        padding-top: 14px !important;
        padding-bottom: 12px !important;
    }

    .mhr-lp-calendar-day,
    .mhr-lp-calendar-blank {
        min-height: 40px !important;
    }

    .mhr-lp-calendar-topbar {
        margin-bottom: 5px !important;
        padding-bottom: 5px !important;
    }

    .mhr-lp-calendar-footer {
        margin-top: 7px !important;
        padding-top: 7px !important;
    }
}


/* v2.7.7 — respiro do card sticky no topo */
@media (min-width: 783px) {
    .mhr-vehicle-sticky {
        top: 10px !important;
    }
}

/* v2.7.8 — LP calendar: highlight all days in selected range with the same orange color */
.mhr-lp-calendar-day.is-in-range {
    background: #ff6b1a !important;
    color: #ffffff !important;
}

.mhr-lp-calendar-day.is-in-range small,
.mhr-lp-calendar-day.is-in-range strong {
    color: #ffffff !important;
}

.mhr-lp-calendar-day.is-in-range:not(.is-start):not(.is-end) {
    border-radius: 0 !important;
}


/* v2.7.10 — ícones SVG abrir/fechar da avaliação */
.mhr-vehicle-detail-page .mhr-review-summary-arrow {
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    line-height: 0 !important;
    font-size: 0 !important;
    transform: none !important;
}

.mhr-vehicle-detail-page .mhr-review-summary-arrow::before,
.mhr-vehicle-detail-page .mhr-review-summary-arrow::after {
    content: none !important;
    display: none !important;
}

.mhr-vehicle-detail-page .mhr-review-summary-arrow svg {
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    stroke: currentColor !important;
}

.mhr-vehicle-detail-page .mhr-review-form-details:not([open]) .mhr-review-summary-arrow > .mhr-review-summary-arrow-down {
    display: block !important;
}

.mhr-vehicle-detail-page .mhr-review-form-details:not([open]) .mhr-review-summary-arrow > .mhr-review-summary-arrow-up {
    display: none !important;
}

.mhr-vehicle-detail-page .mhr-review-form-details[open] .mhr-review-summary-arrow > .mhr-review-summary-arrow-down {
    display: none !important;
}

.mhr-vehicle-detail-page .mhr-review-form-details[open] .mhr-review-summary-arrow > .mhr-review-summary-arrow-up {
    display: block !important;
}

/* v2.7.11 — garante apenas um SVG visível no toggle de avaliações */
.mhr-vehicle-detail-page .mhr-review-form-details:not([open]) .mhr-review-summary-arrow > .mhr-review-summary-arrow-down {
    display: block !important;
}

.mhr-vehicle-detail-page .mhr-review-form-details:not([open]) .mhr-review-summary-arrow > .mhr-review-summary-arrow-up {
    display: none !important;
}

.mhr-vehicle-detail-page .mhr-review-form-details[open] .mhr-review-summary-arrow > .mhr-review-summary-arrow-down {
    display: none !important;
}

.mhr-vehicle-detail-page .mhr-review-form-details[open] .mhr-review-summary-arrow > .mhr-review-summary-arrow-up {
    display: block !important;
}


/* v2.7.12 — ícones SVG customizáveis nos benefícios laterais */
.mhr-vehicle-benefit-icon img,
.mhr-vehicle-benefit-icon svg {
    display: block !important;
    width: 21px !important;
    max-width: 21px !important;
    height: 21px !important;
    max-height: 21px !important;
    object-fit: contain !important;
}

.mhr-vehicle-benefit-icon img {
    filter: none !important;
}

/* v2.7.13 — normalização segura dos SVGs dos benefícios laterais */
.mhr-vehicle-benefit-icon {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    color: #334155 !important;
    contain: layout paint !important;
}

.mhr-vehicle-benefit-icon > .mhr-vehicle-benefit-icon-mask {
    display: block !important;
    flex: 0 0 23px !important;
    width: 23px !important;
    min-width: 23px !important;
    max-width: 23px !important;
    height: 23px !important;
    min-height: 23px !important;
    max-height: 23px !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: currentColor !important;
    background-image: none !important;
    -webkit-mask-image: var(--mhr-benefit-icon) !important;
    mask-image: var(--mhr-benefit-icon) !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
}

.mhr-vehicle-benefit-icon > svg {
    display: block !important;
    width: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
    margin: 0 !important;
    overflow: hidden !important;
}


/* v2.7.14 — URL segura e contenção dos ícones dos benefícios */
.mhr-vehicle-benefit-icon > .mhr-vehicle-benefit-icon-mask {
    overflow: hidden !important;
    -webkit-mask-image: var(--mhr-benefit-icon, none) !important;
    mask-image: var(--mhr-benefit-icon, none) !important;
}


/* v2.7.18 — botão Ver mais/Ver menos das avaliações */
.mhr-vehicle-reviews-section .mhr-public-review-card[hidden],
.mhr-vehicle-reviews-section .mhr-review-expand-actions[hidden] {
    display: none !important;
}

.mhr-review-expand-actions {
    display: flex;
    justify-content: center;
    width: 100%;
}

.mhr-review-expand-actions-top {
    margin-top: 22px;
}

.mhr-review-expand-actions-bottom {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #e5e7eb;
}

.mhr-review-toggle {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 44px;
    padding: 10px 20px;
    margin: 0;
    border: 1px solid #dbe4ef;
    border-radius: 999px;
    background: #ffffff;
    color: #0f172a;
    font-family: inherit;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
    transition: border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.mhr-review-toggle:hover,
.mhr-review-toggle:focus-visible {
    border-color: #f97316;
    color: #f97316;
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .10);
    outline: none;
}

.mhr-review-toggle span {
    font-size: 15px;
    line-height: 1;
}

@media (max-width: 767px) {
    .mhr-review-expand-actions-top {
        margin-top: 18px;
    }

    .mhr-review-expand-actions-bottom {
        margin-top: 20px;
        padding-top: 18px;
    }

    .mhr-review-toggle {
        width: 100%;
        max-width: 280px;
        min-height: 42px;
        font-size: 12px;
    }
}


/* v2.7.22 — documentos internacionais na consulta da reserva */
.mhr-travel-documents-panel {
    border-left: 4px solid #f97316 !important;
}

.mhr-travel-documents-head {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 18px;
}

.mhr-travel-documents-icon {
    display: grid;
    place-items: center;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: #fff7ed;
    font-size: 22px;
}

.mhr-travel-documents-head h4 {
    margin: 0 0 3px !important;
}

.mhr-travel-documents-head p {
    margin: 0;
    color: #64748b;
    font-size: 12px;
}

.mhr-travel-documents-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.mhr-travel-document-card {
    display: grid;
    gap: 13px;
    min-width: 0;
    padding: 17px;
    border: 1px solid #dbe4ef;
    border-radius: 16px;
    background: #f8fafc;
}

.mhr-travel-document-card.is-ready {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.mhr-travel-document-title {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
}

.mhr-travel-document-title > span {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 11px;
    background: #fff;
    font-size: 18px;
}

.mhr-travel-document-title div {
    display: grid;
    gap: 2px;
}

.mhr-travel-document-title strong {
    color: #0f172a;
    font-size: 14px;
}

.mhr-travel-document-title small,
.mhr-travel-document-note {
    color: #64748b;
    font-size: 10px;
}

.mhr-travel-document-download {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 13px;
    border-radius: 999px;
    background: #ff6b1a;
    color: #fff !important;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none !important;
}

.mhr-travel-document-download:hover {
    background: #15803d;
}

.mhr-travel-document-pending {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 11px;
    border-radius: 10px;
    background: #fff7ed;
    color: #c2410c;
    font-size: 11px;
    font-weight: 700;
}

@media (max-width: 767px) {
    .mhr-travel-documents-grid {
        grid-template-columns: 1fr;
    }
}

/* v2.7.24 — listagem premium do shortcode [motorhome_veiculos] */
.mhr-fleet-list-page {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mhr-fleet-list-page .mhr-vehicle-list-head {
    display: none !important;
}

.mhr-fleet-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap: 28px 22px !important;
    align-items: stretch !important;
    width: 100% !important;
}

.mhr-fleet-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 390px !important;
    min-width: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transition: transform .22s ease !important;
}

.mhr-fleet-card:hover {
    transform: translateY(-3px) !important;
}

.mhr-fleet-card-media-wrap {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 22px !important;
    background: #eef2f6 !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .08) !important;
}

.mhr-fleet-card-media {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
    border-radius: inherit !important;
    background: #eef2f6 !important;
}

.mhr-fleet-card-media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    transition: transform .3s ease !important;
}

.mhr-fleet-card:hover .mhr-fleet-card-media img {
    transform: scale(1.035) !important;
}

.mhr-fleet-compare {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    z-index: 3 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-height: 36px !important;
    padding: 7px 12px 7px 8px !important;
    margin: 0 !important;
    border: 1px solid rgba(255,255,255,.55) !important;
    border-radius: 999px !important;
    background: rgba(15, 23, 42, .58) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .18) !important;
    backdrop-filter: blur(9px) !important;
    cursor: pointer !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.mhr-fleet-compare input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.mhr-fleet-compare-box {
    display: grid !important;
    place-items: center !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.16) !important;
    color: #ffffff !important;
    transition: background .18s ease, color .18s ease, transform .18s ease !important;
}

.mhr-fleet-compare input:checked + .mhr-fleet-compare-box {
    background: #ff6b1a !important;
    color: #ffffff !important;
    transform: rotate(45deg) !important;
}

.mhr-fleet-status {
    position: absolute !important;
    left: 14px !important;
    bottom: 14px !important;
    z-index: 3 !important;
    margin: 0 !important;
}

.mhr-fleet-card-body {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-width: 0 !important;
    padding: 14px 2px 0 !important;
}

.mhr-fleet-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    min-height: 28px !important;
    margin: 0 0 9px !important;
}

.mhr-fleet-tags span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 27px !important;
    padding: 5px 11px !important;
    border-radius: 999px !important;
    background: #f1f1f1 !important;
    color: #737373 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

.mhr-fleet-card-body h3 {
    margin: 0 0 5px !important;
    color: #202020 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

.mhr-fleet-card-body h3 a {
    color: inherit !important;
    text-decoration: none !important;
}

.mhr-fleet-card-body h3 a:hover {
    color: #ff6b1a !important;
}

.mhr-fleet-location {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    min-height: 21px !important;
    margin: 0 0 7px !important;
    color: #8b8b8b !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
}

.mhr-fleet-location svg {
    flex: 0 0 15px !important;
    width: 15px !important;
    height: 15px !important;
}

.mhr-fleet-price-review {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-top: auto !important;
}

.mhr-fleet-price {
    display: flex !important;
    align-items: baseline !important;
    gap: 4px !important;
    margin: 0 !important;
    color: #8b8b8b !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.mhr-fleet-price strong {
    color: #262626 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
}

.mhr-fleet-price small {
    color: #8b8b8b !important;
    font-size: 12px !important;
}

.mhr-fleet-rating {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    color: #767676 !important;
    font-size: 12px !important;
    white-space: nowrap !important;
}

.mhr-fleet-rating span {
    color: #ff6b1a !important;
    font-size: 16px !important;
}

.mhr-fleet-rating strong {
    font-size: 12px !important;
    font-weight: 700 !important;
}

.mhr-fleet-actions {
    display: grid !important;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.28fr) !important;
    gap: 9px !important;
    margin-top: 15px !important;
}

.mhr-fleet-actions .mhr-vehicle-link,
.mhr-fleet-actions .mhr-vehicle-availability {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 43px !important;
    padding: 9px 13px !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

.mhr-fleet-actions .mhr-vehicle-link {
    border-color: #ffeadc !important;
    background: #fff8f2 !important;
    color: #f97316 !important;
}

.mhr-fleet-actions .mhr-vehicle-link:hover {
    border-color: #ff6b1a !important;
    background: #ffffff !important;
}

.mhr-fleet-actions .mhr-vehicle-availability {
    background: #ff6b1a !important;
    color: #ffffff !important;
}

.mhr-fleet-actions .mhr-vehicle-availability:hover {
    background: #148b4f !important;
}

.mhr-fleet-actions .mhr-vehicle-availability.is-disabled {
    background: #e5e7eb !important;
    color: #64748b !important;
}

@media (min-width: 1180px) {
    .mhr-fleet-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 782px) {
    .mhr-fleet-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px 16px !important;
    }

    .mhr-fleet-card {
        max-width: none !important;
    }

    .mhr-fleet-compare {
        top: 10px !important;
        right: 10px !important;
        padding-right: 9px !important;
    }
}

@media (max-width: 580px) {
    .mhr-fleet-grid {
        grid-template-columns: 1fr !important;
        gap: 26px !important;
    }

    .mhr-fleet-card {
        max-width: 100% !important;
    }

    .mhr-fleet-card-media {
        aspect-ratio: 16 / 11 !important;
    }

    .mhr-fleet-actions {
        grid-template-columns: 1fr 1.35fr !important;
    }
}

@media (max-width: 390px) {
    .mhr-fleet-actions {
        grid-template-columns: 1fr !important;
    }
}

/* v2.7.25 — comparativo premium, modal funcional e z-index reforçado */
.mhr-compare-tray {
    z-index: 2147482000 !important;
    isolation: isolate !important;
    width: min(760px, calc(100vw - 32px)) !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(203, 213, 225, .95) !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 22px 65px rgba(15, 23, 42, .24) !important;
}

.mhr-compare-tray-copy,
.mhr-compare-tray-actions {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
}

.mhr-compare-tray-copy > div {
    display: grid !important;
    gap: 2px !important;
}

.mhr-compare-tray-icon {
    display: grid !important;
    place-items: center !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 14px !important;
    background: #fff7ed !important;
    color: #f97316 !important;
}

.mhr-compare-tray strong {
    font-size: 13px !important;
    font-weight: 900 !important;
}

.mhr-compare-tray span.mhr-compare-count {
    font-size: 11px !important;
}

.mhr-compare-tray button {
    min-height: 40px !important;
    padding: 9px 15px !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.mhr-compare-tray button:hover:not(:disabled) {
    transform: translateY(-1px) !important;
}

.mhr-compare-tray .mhr-compare-open {
    box-shadow: 0 8px 18px rgba(249, 115, 22, .24) !important;
}

.mhr-compare-modal {
    z-index: 2147483000 !important;
    isolation: isolate !important;
    padding: 22px !important;
}

.mhr-compare-modal.is-open {
    display: flex !important;
}

.mhr-compare-backdrop {
    z-index: 0 !important;
    background: rgba(2, 6, 23, .78) !important;
    backdrop-filter: blur(5px) !important;
    cursor: pointer !important;
}

.mhr-compare-dialog {
    z-index: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    width: min(1180px, 100%) !important;
    max-height: min(92vh, 900px) !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, .7) !important;
    border-radius: 26px !important;
    background: #ffffff !important;
    box-shadow: 0 35px 110px rgba(0, 0, 0, .35) !important;
}

.mhr-compare-dialog:focus {
    outline: none !important;
}

.mhr-compare-dialog-head {
    position: relative !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 20px !important;
    flex: 0 0 auto !important;
    padding: 22px 74px 18px 24px !important;
    border-bottom: 1px solid #e8eef5 !important;
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%) !important;
}

.mhr-compare-dialog-head > div {
    display: grid !important;
    gap: 4px !important;
}

.mhr-compare-dialog-kicker {
    color: #f97316 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.mhr-compare-dialog-head h2 {
    margin: 0 !important;
    color: #0f172a !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

.mhr-compare-dialog-head p {
    margin: 0 !important;
    color: #64748b !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
}

.mhr-compare-close {
    top: 20px !important;
    right: 22px !important;
    z-index: 5 !important;
    display: grid !important;
    place-items: center !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    border: 1px solid #dbe4ef !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: #334155 !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .08) !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.mhr-compare-close:hover,
.mhr-compare-close:focus-visible {
    border-color: #f97316 !important;
    color: #f97316 !important;
    outline: none !important;
}

.mhr-compare-table-wrap {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding: 0 24px 24px !important;
    overflow: auto !important;
    overscroll-behavior: contain !important;
}

.mhr-compare-table {
    min-width: 820px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.mhr-compare-table th,
.mhr-compare-table td {
    min-width: 210px !important;
    padding: 15px 16px !important;
    border-bottom: 1px solid #e8eef5 !important;
    border-right: 1px solid #eef2f7 !important;
    color: #334155 !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
}

.mhr-compare-table th:last-child,
.mhr-compare-table td:last-child {
    border-right: 0 !important;
}

.mhr-compare-table thead th {
    position: sticky !important;
    top: 0 !important;
    z-index: 3 !important;
    padding-top: 20px !important;
    padding-bottom: 18px !important;
    background: #ffffff !important;
    vertical-align: top !important;
}

.mhr-compare-table thead .mhr-compare-feature-head {
    left: 0 !important;
    z-index: 5 !important;
    min-width: 165px !important;
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
}

.mhr-compare-table tbody th {
    position: sticky !important;
    left: 0 !important;
    z-index: 2 !important;
    min-width: 165px !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

.mhr-compare-table tbody tr:hover td,
.mhr-compare-table tbody tr:hover th {
    background: #fffaf5 !important;
}

.mhr-compare-vehicle-head {
    position: relative !important;
    display: grid !important;
    gap: 9px !important;
}

.mhr-compare-image,
.mhr-compare-image-placeholder {
    display: block !important;
    width: 100% !important;
    height: 128px !important;
    border-radius: 16px !important;
    object-fit: cover !important;
    background: #eef2f6 !important;
}

.mhr-compare-image-placeholder {
    display: grid !important;
    place-items: center !important;
    color: #94a3b8 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.mhr-compare-vehicle-head > strong {
    color: #0f172a !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.3 !important;
}

.mhr-compare-price {
    display: flex !important;
    align-items: baseline !important;
    gap: 5px !important;
    color: #0f172a !important;
    font-size: 16px !important;
    font-weight: 900 !important;
}

.mhr-compare-price small,
.mhr-compare-price em {
    color: #64748b !important;
    font-size: 9px !important;
    font-style: normal !important;
    font-weight: 500 !important;
}

.mhr-compare-head-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 7px !important;
}

.mhr-compare-head-actions a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 36px !important;
    padding: 7px 9px !important;
    border: 1px solid #fed7aa !important;
    border-radius: 999px !important;
    background: #fff7ed !important;
    color: #ea580c !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    text-align: center !important;
}

.mhr-compare-head-actions .mhr-compare-book-link {
    border-color: #ff6b1a !important;
    background: #ff6b1a !important;
    color: #ffffff !important;
}

.mhr-compare-remove {
    position: absolute !important;
    top: 7px !important;
    right: 7px !important;
    z-index: 2 !important;
    display: grid !important;
    place-items: center !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.75) !important;
    border-radius: 50% !important;
    background: rgba(15,23,42,.68) !important;
    color: #ffffff !important;
    cursor: pointer !important;
    backdrop-filter: blur(6px) !important;
}

.mhr-compare-amenities {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
}

.mhr-compare-amenities span {
    display: inline-flex !important;
    padding: 4px 7px !important;
    border-radius: 999px !important;
    background: #f1f5f9 !important;
    color: #475569 !important;
    font-size: 9px !important;
    font-weight: 700 !important;
}

body.mhr-compare-open {
    overflow: hidden !important;
}

@media (max-width: 767px) {
    .mhr-compare-tray {
        bottom: 10px !important;
        width: calc(100vw - 20px) !important;
        gap: 10px !important;
        padding: 11px !important;
    }

    .mhr-compare-tray-copy {
        width: 100% !important;
    }

    .mhr-compare-tray-actions {
        display: grid !important;
        grid-template-columns: 1fr 1.4fr !important;
        width: 100% !important;
    }

    .mhr-compare-tray-actions button {
        width: 100% !important;
    }

    .mhr-compare-modal {
        align-items: flex-end !important;
        padding: 8px !important;
    }

    .mhr-compare-dialog {
        width: 100% !important;
        max-height: calc(100dvh - 16px) !important;
        border-radius: 24px 24px 18px 18px !important;
    }

    .mhr-compare-dialog-head {
        padding: 17px 62px 14px 16px !important;
    }

    .mhr-compare-dialog-head h2 {
        font-size: 19px !important;
    }

    .mhr-compare-dialog-head p {
        font-size: 10px !important;
    }

    .mhr-compare-close {
        top: 14px !important;
        right: 14px !important;
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;
    }

    .mhr-compare-table-wrap {
        padding: 0 12px 16px !important;
    }

    .mhr-compare-table th,
    .mhr-compare-table td {
        min-width: 190px !important;
        padding: 12px !important;
    }

    .mhr-compare-image,
    .mhr-compare-image-placeholder {
        height: 110px !important;
    }
}

/* v2.7.26 — disponibilidade geral premium com calendário, ocupantes e filtros */
.mhr-as-page {
    width: 100%;
    max-width: 100%;
    margin: 0;
    color: #0f172a;
}

.mhr-as-search-form {
    position: relative;
    z-index: 20;
    margin: 0 0 26px;
}

.mhr-as-toolbar {
    display: grid;
    grid-template-columns: minmax(270px, 1.35fr) minmax(220px, .95fr) auto auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid #dbe4ef;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(15, 23, 42, .07);
}

.mhr-as-control {
    position: relative;
    min-width: 0;
}

.mhr-as-trigger,
.mhr-as-search-button,
.mhr-as-filters-button {
    appearance: none;
    -webkit-appearance: none;
    min-height: 56px;
    margin: 0;
    border-radius: 999px;
    font-family: inherit;
    cursor: pointer;
}

.mhr-as-trigger {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    width: 100%;
    padding: 8px 18px;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #0f172a;
    text-align: left;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.mhr-as-trigger:hover,
.mhr-as-trigger:focus-visible,
.mhr-as-trigger[aria-expanded="true"] {
    border-color: #ff6b1a;
    box-shadow: 0 0 0 4px rgba(255, 107, 26, .09);
    outline: none;
}

.mhr-as-trigger-icon {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    color: #64748b;
}

.mhr-as-trigger-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.mhr-as-trigger-copy small {
    color: #64748b;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.mhr-as-trigger-copy strong {
    overflow: hidden;
    color: #0f172a;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mhr-as-search-button,
.mhr-as-filters-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 22px;
    border: 1px solid transparent;
    font-size: 14px;
    font-weight: 800;
    white-space: nowrap;
}

.mhr-as-search-button {
    background: #ff6b1a;
    color: #fff;
    box-shadow: 0 10px 22px rgba(255, 107, 26, .2);
}

.mhr-as-search-button:hover,
.mhr-as-search-button:focus-visible {
    background: #e85e0d;
    outline: none;
    transform: translateY(-1px);
}

.mhr-as-search-button:disabled {
    opacity: .68;
    cursor: wait;
}

.mhr-as-filters-button {
    position: relative;
    border-color: #cbd5e1;
    background: #fff;
    color: #0f172a;
}

.mhr-as-filters-button:hover,
.mhr-as-filters-button:focus-visible {
    border-color: #ff6b1a;
    color: #ff6b1a;
    outline: none;
}

.mhr-as-filter-badge {
    display: grid;
    place-items: center;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    border-radius: 999px;
    background: #ff6b1a;
    color: #fff;
    font-size: 10px;
    line-height: 1;
}

.mhr-as-filter-badge[hidden] {
    display: none !important;
}

.mhr-as-toolbar-message {
    min-height: 18px;
    margin: 7px 20px 0;
    color: #64748b;
    font-size: 11px;
    line-height: 1.4;
}

.mhr-as-toolbar-message.is-error {
    color: #dc2626;
}

.mhr-as-date-popover,
.mhr-as-occupants-popover {
    position: absolute;
    top: calc(100% + 12px);
    z-index: 10020;
    border: 1px solid #dbe4ef;
    background: #fff;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .18);
}

.mhr-as-date-popover[hidden],
.mhr-as-occupants-popover[hidden] {
    display: none !important;
}

.mhr-as-date-popover {
    left: 0;
    width: min(820px, calc(100vw - 44px));
    padding: 20px;
    border-radius: 24px;
}

.mhr-as-calendar-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
    padding-bottom: 13px;
    border-bottom: 1px solid #eef2f7;
}

.mhr-as-calendar-head > div {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 5px 10px;
}

.mhr-as-calendar-head strong {
    color: #0f172a;
    font-size: 15px;
    font-weight: 900;
}

.mhr-as-calendar-head span {
    color: #64748b;
    font-size: 11px;
}

.mhr-as-popover-close,
.mhr-as-calendar-prev,
.mhr-as-calendar-next {
    appearance: none;
    -webkit-appearance: none;
    display: grid;
    place-items: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    margin: 0;
    padding: 0;
    border: 1px solid #dbe4ef;
    border-radius: 11px;
    background: #fff;
    color: #334155;
    font-family: inherit;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.mhr-as-popover-close:hover,
.mhr-as-calendar-prev:hover,
.mhr-as-calendar-next:hover {
    border-color: #ff6b1a;
    color: #ff6b1a;
}

.mhr-as-calendar-prev:disabled {
    opacity: .35;
    cursor: not-allowed;
}

.mhr-as-calendar-nav {
    position: absolute;
    top: 80px;
    right: 20px;
    left: 20px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    pointer-events: none;
}

.mhr-as-calendar-nav button {
    pointer-events: auto;
}

.mhr-as-calendar-mobile-title {
    display: none;
}

.mhr-as-calendar-months {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.mhr-as-calendar-month {
    min-width: 0;
}

.mhr-as-calendar-month h3 {
    margin: 0 46px 13px;
    color: #0f172a;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.25;
    text-align: center;
}

.mhr-as-calendar-weekdays,
.mhr-as-calendar-days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.mhr-as-calendar-weekdays {
    margin-bottom: 5px;
}

.mhr-as-calendar-weekdays span {
    padding: 4px 0;
    color: #64748b;
    font-size: 10px;
    font-weight: 600;
    text-align: center;
}

.mhr-as-calendar-days {
    gap: 4px;
}

.mhr-as-calendar-blank,
.mhr-as-calendar-day {
    min-height: 48px;
}

.mhr-as-calendar-day {
    appearance: none;
    -webkit-appearance: none;
    display: grid;
    place-items: center;
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #0f172a;
    box-shadow: none;
    cursor: pointer;
    transition: background .15s ease, color .15s ease, transform .15s ease;
}

.mhr-as-calendar-day strong {
    color: inherit;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
}

.mhr-as-calendar-day:not(:disabled):hover {
    background: #fff7ed;
    color: #ea580c;
    transform: translateY(-1px);
}

.mhr-as-calendar-day.is-start,
.mhr-as-calendar-day.is-end,
.mhr-as-calendar-day.is-range {
    background: #ff6b1a;
    color: #fff;
}

.mhr-as-calendar-day.is-range:not(.is-start):not(.is-end) {
    border-radius: 4px;
}

.mhr-as-calendar-day.is-disabled {
    background: #f8fafc;
    color: #d4d8de;
    cursor: not-allowed;
    transform: none;
}

.mhr-as-calendar-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 15px;
    padding-top: 12px;
    border-top: 1px solid #eef2f7;
}

.mhr-as-calendar-footer button {
    appearance: none;
    border: 0;
    background: transparent;
    color: #ff6b1a;
    font-family: inherit;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.mhr-as-calendar-footer span {
    color: #64748b;
    font-size: 10px;
}

.mhr-as-occupants-popover {
    left: 0;
    width: min(330px, calc(100vw - 36px));
    padding: 10px 20px;
    border-radius: 20px;
}

.mhr-as-counter-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 0;
}

.mhr-as-counter-row + .mhr-as-counter-row {
    border-top: 1px solid #eef2f7;
}

.mhr-as-counter-row > div:first-child {
    display: grid;
    gap: 3px;
}

.mhr-as-counter-row > div:first-child strong {
    color: #0f172a;
    font-size: 15px;
    font-weight: 800;
}

.mhr-as-counter-row > div:first-child span {
    color: #94a3b8;
    font-size: 11px;
}

.mhr-as-counter-actions {
    display: grid;
    grid-template-columns: 34px 30px 34px;
    align-items: center;
    gap: 4px;
}

.mhr-as-counter-actions button {
    appearance: none;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #ff6b1a;
    color: #fff;
    font-family: inherit;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
}

.mhr-as-counter-actions button:first-child {
    background: #ffb386;
}

.mhr-as-counter-actions button:disabled {
    opacity: .4;
    cursor: not-allowed;
}

.mhr-as-counter-actions strong {
    color: #0f172a;
    font-size: 16px;
    text-align: center;
}

.mhr-as-filter-modal {
    position: fixed;
    inset: 0;
    z-index: 2147483638;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
}

.mhr-as-filter-modal[hidden] {
    display: none !important;
}

.mhr-as-filter-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .64);
    backdrop-filter: blur(3px);
}

.mhr-as-filter-dialog {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    width: min(780px, calc(100vw - 36px));
    max-height: min(760px, calc(100vh - 36px));
    overflow: hidden;
    border: 1px solid #dbe4ef;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 34px 100px rgba(15, 23, 42, .28);
    outline: none;
}

.mhr-as-filter-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 22px;
    border-bottom: 1px solid #e5e7eb;
}

.mhr-as-filter-head h2 {
    margin: 0;
    color: #0f172a;
    font-size: 18px;
    font-weight: 900;
}

.mhr-as-filter-close {
    appearance: none;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #f1f5f9;
    color: #334155;
    cursor: pointer;
}

.mhr-as-filter-close:hover {
    background: #fff7ed;
    color: #ff6b1a;
}

.mhr-as-filter-body {
    overflow-y: auto;
    padding: 0 22px;
}

.mhr-as-filter-section {
    padding: 22px 0;
}

.mhr-as-filter-section + .mhr-as-filter-section {
    border-top: 1px solid #e5e7eb;
}

.mhr-as-filter-section h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 16px;
    color: #0f172a;
    font-size: 14px;
    font-weight: 900;
}

.mhr-as-filter-section h3 > span {
    color: #ff6b1a;
}

.mhr-as-price-inputs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.mhr-as-price-inputs label {
    display: grid;
    gap: 6px;
}

.mhr-as-price-inputs label > span {
    color: #64748b;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.mhr-as-price-inputs input,
.mhr-as-type-select {
    box-sizing: border-box;
    width: 100%;
    min-height: 46px;
    margin: 0;
    padding: 10px 14px;
    border: 1px solid #cbd5e1;
    border-radius: 14px;
    background: #fff;
    color: #0f172a;
    font-family: inherit;
    font-size: 13px;
    outline: none;
}

.mhr-as-price-inputs input:focus,
.mhr-as-type-select:focus {
    border-color: #ff6b1a;
    box-shadow: 0 0 0 4px rgba(255, 107, 26, .09);
}

.mhr-as-price-range {
    --mhr-as-min: 0%;
    --mhr-as-max: 100%;
    position: relative;
    height: 24px;
    margin-top: 16px;
}

.mhr-as-price-track {
    position: absolute;
    top: 10px;
    right: 0;
    left: 0;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(to right, #e5e7eb 0 var(--mhr-as-min), #ff6b1a var(--mhr-as-min) var(--mhr-as-max), #e5e7eb var(--mhr-as-max) 100%);
}

.mhr-as-price-range input[type="range"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 24px;
    margin: 0;
    padding: 0;
    background: transparent;
    pointer-events: none;
    -webkit-appearance: none;
    appearance: none;
}

.mhr-as-price-range input[type="range"]::-webkit-slider-thumb {
    width: 18px;
    height: 18px;
    border: 0;
    border-radius: 50%;
    background: #ff6b1a;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .18);
    pointer-events: auto;
    cursor: pointer;
    -webkit-appearance: none;
}

.mhr-as-price-range input[type="range"]::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border: 0;
    border-radius: 50%;
    background: #ff6b1a;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .18);
    pointer-events: auto;
    cursor: pointer;
}

.mhr-as-price-values {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #64748b;
    font-size: 10px;
}

.mhr-as-switch-row {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    cursor: pointer;
}

.mhr-as-switch-row > span {
    display: grid;
    gap: 4px;
}

.mhr-as-switch-row strong {
    color: #0f172a;
    font-size: 13px;
    font-weight: 800;
}

.mhr-as-switch-row small {
    color: #94a3b8;
    font-size: 10px;
    line-height: 1.45;
}

.mhr-as-switch-row input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.mhr-as-switch-row i {
    position: relative;
    flex: 0 0 42px;
    width: 42px;
    height: 24px;
    border-radius: 999px;
    background: #dbe4ef;
    transition: background .2s ease;
}

.mhr-as-switch-row i::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .2);
    transition: transform .2s ease;
}

.mhr-as-switch-row input:checked + i {
    background: #ff6b1a;
}

.mhr-as-switch-row input:checked + i::after {
    transform: translateX(18px);
}

.mhr-as-country-filter {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px dashed #dbe4ef;
    opacity: .55;
    transition: opacity .2s ease;
}

.mhr-as-country-filter.is-enabled {
    opacity: 1;
}

.mhr-as-country-filter > strong {
    display: block;
    margin-bottom: 10px;
    color: #475569;
    font-size: 11px;
    font-weight: 800;
}

.mhr-as-country-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
}

.mhr-as-country-options label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #0f172a;
    font-size: 12px;
    cursor: pointer;
}

.mhr-as-country-options input {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: #ff6b1a;
}

.mhr-as-country-options img {
    width: 23px;
    height: 16px;
    object-fit: contain;
    border-radius: 3px;
}

.mhr-as-filter-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 22px;
    border-top: 1px solid #e5e7eb;
    background: #fff;
}

.mhr-as-clear-filters,
.mhr-as-apply-filters {
    appearance: none;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 999px;
    font-family: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.mhr-as-clear-filters {
    border: 0;
    background: transparent;
    color: #ff6b1a;
}

.mhr-as-apply-filters {
    border: 1px solid #ff6b1a;
    background: #ff6b1a;
    color: #fff;
}

body.mhr-as-filter-open {
    overflow: hidden !important;
}

.mhr-as-alert {
    margin-bottom: 18px;
}

.mhr-as-results-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 18px;
}

.mhr-as-results-meta p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

.mhr-as-results-meta strong {
    color: #0f172a;
    font-size: 15px;
}

.mhr-as-results.mhr-fleet-list-page {
    margin-top: 0;
}

.mhr-as-estimated-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #fff7ed;
}

.mhr-as-estimated-total span {
    color: #9a3412;
    font-size: 10px;
    font-weight: 700;
}

.mhr-as-estimated-total strong {
    color: #ea580c;
    font-size: 12px;
    font-weight: 900;
}

.mhr-as-empty {
    display: grid;
    place-items: center;
    gap: 8px;
    min-height: 230px;
    padding: 34px;
    border: 1px dashed #cbd5e1;
    border-radius: 24px;
    background: #f8fafc;
    text-align: center;
}

.mhr-as-empty > span {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: #fff7ed;
    color: #ff6b1a;
}

.mhr-as-empty strong {
    color: #0f172a;
    font-size: 17px;
    font-weight: 900;
}

.mhr-as-empty p {
    max-width: 470px;
    margin: 0;
    color: #64748b;
    font-size: 12px;
    line-height: 1.5;
}

@media (max-width: 980px) {
    .mhr-as-toolbar {
        grid-template-columns: minmax(240px, 1fr) minmax(210px, .9fr) auto;
        border-radius: 28px;
    }

    .mhr-as-filters-button {
        grid-column: 3;
    }

    .mhr-as-search-button {
        grid-column: 3;
        grid-row: 1;
    }

    .mhr-as-filters-button {
        grid-row: 2;
    }

    .mhr-as-date-control {
        grid-column: 1;
        grid-row: 1 / span 2;
    }

    .mhr-as-occupants-control {
        grid-column: 2;
        grid-row: 1 / span 2;
    }
}

@media (max-width: 767px) {
    .mhr-as-search-form {
        margin-bottom: 20px;
    }

    .mhr-as-toolbar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        padding: 10px;
        border-radius: 22px;
    }

    .mhr-as-date-control,
    .mhr-as-occupants-control {
        grid-column: 1 / -1;
        grid-row: auto;
    }

    .mhr-as-search-button,
    .mhr-as-filters-button {
        grid-column: auto;
        grid-row: auto;
        min-width: 0;
        padding: 0 12px;
    }

    .mhr-as-trigger {
        min-height: 54px;
    }

    .mhr-as-date-popover {
        position: fixed;
        inset: auto 8px 8px 8px;
        z-index: 2147483637;
        width: auto;
        max-height: calc(100vh - 16px);
        padding: 16px 13px;
        overflow-y: auto;
        border-radius: 22px;
    }

    .mhr-as-calendar-head span {
        display: none;
    }

    .mhr-as-calendar-nav {
        position: static;
        margin-bottom: 10px;
    }

    .mhr-as-calendar-mobile-title {
        display: block;
        color: #0f172a;
        font-size: 16px;
        font-weight: 900;
    }

    .mhr-as-calendar-months {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .mhr-as-calendar-month h3 {
        display: none;
    }

    .mhr-as-calendar-blank,
    .mhr-as-calendar-day {
        min-height: 50px;
    }

    .mhr-as-calendar-footer {
        align-items: flex-start;
        flex-direction: column-reverse;
        gap: 8px;
    }

    .mhr-as-occupants-popover {
        right: 0;
        left: 0;
        width: auto;
    }

    .mhr-as-filter-modal {
        align-items: flex-end;
        padding: 7px;
    }

    .mhr-as-filter-dialog {
        width: 100%;
        max-height: calc(100vh - 14px);
        border-radius: 24px 24px 18px 18px;
    }

    .mhr-as-filter-head,
    .mhr-as-filter-footer {
        padding-right: 16px;
        padding-left: 16px;
    }

    .mhr-as-filter-body {
        padding-right: 16px;
        padding-left: 16px;
    }

    .mhr-as-price-inputs {
        gap: 10px;
    }

    .mhr-as-filter-footer {
        align-items: stretch;
    }

    .mhr-as-apply-filters {
        flex: 1 1 auto;
    }

    .mhr-as-results-meta {
        margin-bottom: 14px;
    }
}

@media (max-width: 430px) {
    .mhr-as-toolbar {
        grid-template-columns: 1fr;
    }

    .mhr-as-date-control,
    .mhr-as-occupants-control,
    .mhr-as-search-button,
    .mhr-as-filters-button {
        grid-column: 1;
    }

    .mhr-as-price-inputs {
        grid-template-columns: 1fr;
    }

    .mhr-as-filter-footer {
        display: grid;
        grid-template-columns: 1fr;
    }

    .mhr-as-clear-filters,
    .mhr-as-apply-filters {
        width: 100%;
    }
}


/* v2.7.27 — ajustes finos da disponibilidade geral */
.mhr-as-search-form {
    margin: 0 !important;
}

.mhr-as-results-count.is-empty,
.mhr-as-results-count[hidden] {
    display: none !important;
}

.mhr-as-empty > span,
.mhr-as-empty .mhr-as-empty-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.mhr-as-empty > span img,
.mhr-as-empty .mhr-as-empty-icon img {
    display: block !important;
    width: 74px !important;
    max-width: 74px !important;
    height: 74px !important;
    max-height: 74px !important;
    object-fit: contain !important;
}


/* v2.7.30 — lista de espera premium com calendário de período */
.mhr-waitlist-modern {
    position: relative !important;
    width: 100% !important;
    max-width: 980px !important;
    margin: 0 auto !important;
}

.mhr-waitlist-form,
.mhr-waitlist-success {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 28px !important;
    border: 1px solid #dbe4ef !important;
    border-radius: 26px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .08) !important;
}

.mhr-waitlist-form[hidden],
.mhr-waitlist-success[hidden],
.mhr-waitlist-calendar[hidden] {
    display: none !important;
}

.mhr-waitlist-intro {
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: center !important;
    margin-bottom: 26px !important;
    padding-bottom: 22px !important;
    border-bottom: 1px solid #edf1f5 !important;
}

.mhr-waitlist-intro-icon {
    display: grid !important;
    place-items: center !important;
    width: 58px !important;
    height: 58px !important;
    border-radius: 18px !important;
    background: #fff7ed !important;
    color: #f97316 !important;
}

.mhr-waitlist-kicker,
.mhr-waitlist-success-kicker {
    display: block !important;
    margin-bottom: 5px !important;
    color: #f97316 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.mhr-waitlist-intro h3,
.mhr-waitlist-success h3 {
    margin: 0 !important;
    color: #0f172a !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

.mhr-waitlist-intro p,
.mhr-waitlist-success > p {
    margin: 7px 0 0 !important;
    color: #64748b !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

.mhr-waitlist-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.mhr-waitlist-field {
    position: relative !important;
    display: grid !important;
    gap: 8px !important;
    min-width: 0 !important;
    margin: 0 !important;
}

.mhr-waitlist-field > span:first-child {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    min-height: 18px !important;
    color: #334155 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.mhr-waitlist-field > span:first-child b {
    color: #dc2626 !important;
}

.mhr-waitlist-field > span:first-child small {
    color: #94a3b8 !important;
    font-size: 10px !important;
    font-weight: 500 !important;
}

.mhr-waitlist-notes-field {
    grid-column: 1 / -1 !important;
}

.mhr-waitlist-field input,
.mhr-waitlist-field select,
.mhr-waitlist-field textarea {
    appearance: none !important;
    -webkit-appearance: none !important;
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 13px 15px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: #0f172a !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .03) !important;
    outline: none !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}

.mhr-waitlist-field input,
.mhr-waitlist-field select {
    height: 52px !important;
}

.mhr-waitlist-field textarea {
    min-height: 120px !important;
    resize: vertical !important;
}

.mhr-waitlist-field input:focus,
.mhr-waitlist-field select:focus,
.mhr-waitlist-field textarea:focus {
    border-color: #f97316 !important;
    box-shadow: 0 0 0 4px rgba(249, 115, 22, .10) !important;
}

.mhr-waitlist-field input::placeholder,
.mhr-waitlist-field textarea::placeholder {
    color: #94a3b8 !important;
    opacity: 1 !important;
}

.mhr-waitlist-select-wrap {
    position: relative !important;
    display: block !important;
}

.mhr-waitlist-select-wrap::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    right: 17px !important;
    width: 7px !important;
    height: 7px !important;
    border-right: 2px solid #64748b !important;
    border-bottom: 2px solid #64748b !important;
    transform: translateY(-70%) rotate(45deg) !important;
    pointer-events: none !important;
}

.mhr-waitlist-field.has-error input,
.mhr-waitlist-field.has-error select,
.mhr-waitlist-field.has-error textarea,
.mhr-waitlist-field.has-error .mhr-waitlist-date-trigger {
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, .10) !important;
}

.mhr-waitlist-date-trigger {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) auto !important;
    gap: 11px !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 52px !important;
    padding: 8px 14px !important;
    margin: 0 !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: #0f172a !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .03) !important;
    cursor: pointer !important;
    text-align: left !important;
}

.mhr-waitlist-date-trigger:hover,
.mhr-waitlist-date-trigger:focus-visible,
.mhr-waitlist-modern.is-calendar-open .mhr-waitlist-date-trigger {
    border-color: #f97316 !important;
    box-shadow: 0 0 0 4px rgba(249, 115, 22, .10) !important;
    outline: none !important;
}

.mhr-waitlist-date-icon {
    display: grid !important;
    place-items: center !important;
    width: 24px !important;
    height: 24px !important;
    color: #f97316 !important;
}

.mhr-waitlist-date-copy {
    display: grid !important;
    gap: 1px !important;
    min-width: 0 !important;
}

.mhr-waitlist-date-copy small {
    color: #94a3b8 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
}

.mhr-waitlist-date-copy strong {
    overflow: hidden !important;
    color: #0f172a !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.mhr-waitlist-date-action {
    color: #f97316 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

.mhr-waitlist-calendar {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 0 !important;
    z-index: 10040 !important;
    width: min(720px, calc(100vw - 40px)) !important;
    padding: 20px !important;
    border: 1px solid #dbe4ef !important;
    border-radius: 22px !important;
    background: #ffffff !important;
    box-shadow: 0 26px 70px rgba(15, 23, 42, .22) !important;
}

.mhr-waitlist-calendar-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-bottom: 14px !important;
    padding-bottom: 13px !important;
    border-bottom: 1px solid #edf1f5 !important;
}

.mhr-waitlist-calendar-head > div {
    display: grid !important;
    gap: 3px !important;
}

.mhr-waitlist-calendar-head strong {
    color: #0f172a !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}

.mhr-waitlist-calendar-head span {
    color: #64748b !important;
    font-size: 11px !important;
}

.mhr-waitlist-calendar-close,
.mhr-waitlist-calendar-prev,
.mhr-waitlist-calendar-next {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: grid !important;
    place-items: center !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #dbe4ef !important;
    border-radius: 11px !important;
    background: #ffffff !important;
    color: #334155 !important;
    box-shadow: none !important;
    font-size: 24px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.mhr-waitlist-calendar-close:hover,
.mhr-waitlist-calendar-prev:hover,
.mhr-waitlist-calendar-next:hover {
    border-color: #f97316 !important;
    color: #f97316 !important;
}

.mhr-waitlist-calendar-prev:disabled {
    opacity: .35 !important;
    cursor: not-allowed !important;
}

.mhr-waitlist-calendar-nav {
    position: absolute !important;
    top: 76px !important;
    right: 20px !important;
    left: 20px !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    pointer-events: none !important;
}

.mhr-waitlist-calendar-nav button {
    pointer-events: auto !important;
}

.mhr-waitlist-calendar-mobile-title {
    display: none !important;
}

.mhr-waitlist-calendar-months {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.mhr-waitlist-calendar-month h4 {
    margin: 0 42px 12px !important;
    color: #0f172a !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    text-align: center !important;
}

.mhr-waitlist-calendar-weekdays,
.mhr-waitlist-calendar-days {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
}

.mhr-waitlist-calendar-weekdays {
    margin-bottom: 4px !important;
}

.mhr-waitlist-calendar-weekdays span {
    padding: 4px 0 !important;
    color: #64748b !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    text-align: center !important;
}

.mhr-waitlist-calendar-days {
    gap: 3px !important;
}

.mhr-waitlist-calendar-blank,
.mhr-waitlist-calendar-day {
    min-height: 42px !important;
}

.mhr-waitlist-calendar-day {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: grid !important;
    place-items: center !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #0f172a !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

.mhr-waitlist-calendar-day strong {
    color: inherit !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.mhr-waitlist-calendar-day:not(:disabled):hover {
    background: #fff7ed !important;
    color: #ea580c !important;
}

.mhr-waitlist-calendar-day.is-in-range,
.mhr-waitlist-calendar-day.is-start,
.mhr-waitlist-calendar-day.is-end {
    background: #ff6b1a !important;
    color: #ffffff !important;
}

.mhr-waitlist-calendar-day.is-in-range:not(.is-start):not(.is-end) {
    border-radius: 0 !important;
}

.mhr-waitlist-calendar-day.is-disabled {
    background: #f3f4f6 !important;
    color: #cbd5e1 !important;
    cursor: not-allowed !important;
}

.mhr-waitlist-calendar-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-top: 14px !important;
    padding-top: 13px !important;
    border-top: 1px solid #edf1f5 !important;
}

.mhr-waitlist-calendar-footer span {
    color: #64748b !important;
    font-size: 10px !important;
}

.mhr-waitlist-calendar-clear {
    appearance: none !important;
    -webkit-appearance: none !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #f97316 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

.mhr-waitlist-form-footer {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 14px 18px !important;
    align-items: center !important;
    margin-top: 22px !important;
    padding-top: 20px !important;
    border-top: 1px solid #edf1f5 !important;
}

.mhr-waitlist-privacy {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #64748b !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
}

.mhr-waitlist-privacy svg {
    flex: 0 0 auto !important;
    color: #16a34a !important;
}

.mhr-waitlist-submit,
.mhr-waitlist-new-request {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 12px 22px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #ff6b1a !important;
    color: #ffffff !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    box-shadow: 0 10px 22px rgba(249, 115, 22, .22) !important;
    cursor: pointer !important;
}

.mhr-waitlist-submit:hover,
.mhr-waitlist-new-request:hover {
    background: #16a34a !important;
    transform: translateY(-1px) !important;
}

.mhr-waitlist-submit:disabled,
.mhr-waitlist-submit.is-loading {
    opacity: .65 !important;
    cursor: wait !important;
    transform: none !important;
}

.mhr-waitlist-message {
    grid-column: 1 / -1 !important;
    min-height: 18px !important;
    margin: 0 !important;
    color: #64748b !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.mhr-waitlist-message.is-error {
    color: #dc2626 !important;
}

.mhr-waitlist-message.is-success {
    color: #15803d !important;
}

.mhr-waitlist-success {
    display: grid !important;
    justify-items: center !important;
    text-align: center !important;
}

.mhr-waitlist-success-icon {
    display: grid !important;
    place-items: center !important;
    width: 72px !important;
    height: 72px !important;
    margin-bottom: 16px !important;
    border-radius: 50% !important;
    background: #ecfdf5 !important;
    color: #16a34a !important;
}

.mhr-waitlist-success-summary {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 24px 0 16px !important;
}

.mhr-waitlist-success-summary > div {
    display: grid !important;
    gap: 5px !important;
    padding: 16px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    background: #f8fafc !important;
    text-align: left !important;
}

.mhr-waitlist-success-summary small {
    color: #64748b !important;
    font-size: 10px !important;
    font-weight: 700 !important;
}

.mhr-waitlist-success-summary strong {
    color: #0f172a !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.4 !important;
}

.mhr-waitlist-next-steps {
    display: grid !important;
    gap: 5px !important;
    width: 100% !important;
    margin-bottom: 22px !important;
    padding: 17px !important;
    border-left: 4px solid #f97316 !important;
    border-radius: 14px !important;
    background: #fff7ed !important;
    text-align: left !important;
}

.mhr-waitlist-next-steps strong {
    color: #9a3412 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.mhr-waitlist-next-steps span {
    color: #7c2d12 !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
}

@media (max-width: 767px) {
    .mhr-waitlist-form,
    .mhr-waitlist-success {
        padding: 18px !important;
        border-radius: 22px !important;
    }

    .mhr-waitlist-intro {
        grid-template-columns: 48px minmax(0, 1fr) !important;
        gap: 12px !important;
        margin-bottom: 20px !important;
        padding-bottom: 18px !important;
    }

    .mhr-waitlist-intro-icon {
        width: 48px !important;
        height: 48px !important;
        border-radius: 15px !important;
    }

    .mhr-waitlist-intro h3,
    .mhr-waitlist-success h3 {
        font-size: 20px !important;
    }

    .mhr-waitlist-grid {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }

    .mhr-waitlist-notes-field {
        grid-column: auto !important;
    }

    .mhr-waitlist-calendar {
        position: fixed !important;
        inset: auto 8px 8px 8px !important;
        width: auto !important;
        max-height: calc(100vh - 16px) !important;
        padding: 17px 13px !important;
        overflow-y: auto !important;
        border-radius: 22px !important;
    }

    .mhr-waitlist-calendar-head span {
        display: none !important;
    }

    .mhr-waitlist-calendar-nav {
        position: static !important;
        margin-bottom: 11px !important;
    }

    .mhr-waitlist-calendar-mobile-title {
        display: block !important;
        color: #0f172a !important;
        font-size: 16px !important;
        font-weight: 900 !important;
    }

    .mhr-waitlist-calendar-months {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    .mhr-waitlist-calendar-month h4 {
        display: none !important;
    }

    .mhr-waitlist-calendar-blank,
    .mhr-waitlist-calendar-day {
        min-height: 46px !important;
    }

    .mhr-waitlist-calendar-footer {
        align-items: flex-start !important;
    }

    .mhr-waitlist-form-footer {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .mhr-waitlist-submit,
    .mhr-waitlist-new-request {
        width: 100% !important;
    }

    .mhr-waitlist-message {
        grid-column: auto !important;
    }

    .mhr-waitlist-success-summary {
        grid-template-columns: 1fr !important;
    }
}


/* v2.7.31 — correção da área clicável do calendário da lista de espera */
.mhr-waitlist-calendar-months,
.mhr-waitlist-calendar-month,
.mhr-waitlist-calendar-days {
    position: relative !important;
    z-index: 3 !important;
    pointer-events: auto !important;
}

.mhr-waitlist-calendar-day {
    position: relative !important;
    z-index: 4 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}

.mhr-waitlist-calendar-day > * {
    pointer-events: none !important;
}

.mhr-waitlist-calendar-nav {
    z-index: 5 !important;
}


/* v2.7.33 — seleção de países da viagem internacional */
.mhr-trip-countries-field {
    position: relative !important;
}

.mhr-trip-country-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.mhr-trip-country-option {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) 22px !important;
    gap: 9px !important;
    align-items: center !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 10px 11px !important;
    border: 1px solid #dbe4ef !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: #334155 !important;
    cursor: pointer !important;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.mhr-trip-country-option:hover {
    border-color: #fdba74 !important;
    background: #fffaf5 !important;
}

.mhr-trip-country-option:has(input:checked) {
    border-color: #f97316 !important;
    background: #fff7ed !important;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, .10) !important;
}

.mhr-trip-country-option input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.mhr-trip-country-flag {
    display: grid !important;
    place-items: center !important;
    width: 30px !important;
    height: 30px !important;
    overflow: hidden !important;
    border-radius: 9px !important;
    background: #f8fafc !important;
    color: #64748b !important;
}

.mhr-trip-country-flag img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.mhr-trip-country-name {
    min-width: 0 !important;
    color: #0f172a !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

.mhr-trip-country-check {
    display: grid !important;
    place-items: center !important;
    width: 22px !important;
    height: 22px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: transparent !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.mhr-trip-country-option:has(input:checked) .mhr-trip-country-check {
    border-color: #f97316 !important;
    background: #f97316 !important;
    color: #ffffff !important;
}

.mhr-trip-countries-empty {
    padding: 13px 14px !important;
    border: 1px solid #fecaca !important;
    border-radius: 13px !important;
    background: #fef2f2 !important;
    color: #991b1b !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
}

.mhr-trip-countries-field.has-error .mhr-trip-country-grid {
    padding: 8px !important;
    border: 1px solid #ef4444 !important;
    border-radius: 16px !important;
    background: #fffafa !important;
}

#mhr-trip-countries-error,
#mhr-soapex-error {
    display: block !important;
    margin-top: 6px !important;
}

@supports not selector(:has(*)) {
    .mhr-trip-country-option input:checked ~ .mhr-trip-country-name {
        color: #ea580c !important;
    }

    .mhr-trip-country-option input:checked ~ .mhr-trip-country-check {
        border-color: #f97316 !important;
        background: #f97316 !important;
        color: #ffffff !important;
    }
}

@media (max-width: 900px) {
    .mhr-trip-country-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 520px) {
    .mhr-trip-country-grid {
        grid-template-columns: 1fr !important;
    }
}

/* v2.8.0 — portal do cliente e aprovação de orçamento */
.mhr-client-portal-overview{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin:16px 0!important}.mhr-client-portal-overview>div{display:grid!important;gap:5px!important;padding:14px!important;border:1px solid #dbe4ef!important;border-radius:14px!important;background:#fff!important}.mhr-client-portal-overview small{color:#64748b!important;font-size:10px!important}.mhr-client-portal-overview strong{color:#0f172a!important;font-size:13px!important}.mhr-client-payment-progress{position:relative!important;grid-column:1/-1!important;height:34px!important;overflow:hidden!important;padding:0!important;background:#e2e8f0!important}.mhr-client-payment-progress>span{position:absolute!important;inset:0 auto 0 0!important;display:block!important;height:100%!important;border-radius:13px!important;background:linear-gradient(90deg,#16a34a,#22c55e)!important}.mhr-client-payment-progress>small{position:relative!important;z-index:2!important;display:grid!important;place-items:center!important;height:100%!important;color:#0f172a!important;font-weight:900!important}.mhr-quote-public-kicker{display:block!important;margin-bottom:6px!important;color:#f97316!important;font-size:10px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important}.mhr-quote-public-summary{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin:20px 0!important}.mhr-quote-public-summary>div{display:grid!important;gap:5px!important;padding:14px!important;border:1px solid #e2e8f0!important;border-radius:14px!important;background:#f8fafc!important}.mhr-quote-public-summary small{color:#64748b!important;font-size:10px!important}.mhr-quote-public-summary strong{color:#0f172a!important;font-size:13px!important}.mhr-quote-public-notes{margin:14px 0!important;padding:14px!important;border-left:4px solid #f97316!important;border-radius:12px!important;background:#fff7ed!important;color:#7c2d12!important;font-size:12px!important;line-height:1.5!important}.mhr-quote-accept-form{display:grid!important;gap:14px!important;margin-top:20px!important}.mhr-quote-accept-form label{display:flex!important;align-items:flex-start!important;gap:8px!important;color:#475569!important;font-size:11px!important}.mhr-quote-accept-form input{width:auto!important;margin-top:2px!important}
@media(max-width:767px){.mhr-client-portal-overview,.mhr-quote-public-summary{grid-template-columns:1fr!important}.mhr-client-payment-progress{grid-column:auto!important}}


/* v2.9.0 — pagamento do saldo, motoristas auxiliares e assinatura eletrônica */
.mhr-additional-drivers-section {
    margin-top: 24px !important;
    padding-top: 22px !important;
    border-top: 1px solid #e2e8f0 !important;
}

.mhr-additional-drivers-toggle {
    margin: 0 0 6px !important;
    font-weight: 850 !important;
}

.mhr-additional-drivers-wrap {
    margin-top: 15px !important;
}

.mhr-additional-driver-card {
    margin-bottom: 14px !important;
    padding: 18px !important;
    border: 1px solid #dbe4ef !important;
    border-radius: 18px !important;
    background: #f8fafc !important;
}

.mhr-additional-driver-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-bottom: 15px !important;
}

.mhr-additional-driver-head > div {
    display: grid !important;
    gap: 3px !important;
}

.mhr-additional-driver-head span {
    color: #f97316 !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.mhr-additional-driver-head strong {
    color: #0f172a !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}

.mhr-additional-driver-remove {
    appearance: none !important;
    padding: 6px 9px !important;
    border: 1px solid #fecaca !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #dc2626 !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    cursor: pointer !important;
}

.mhr-additional-driver-add {
    min-height: 40px !important;
    padding: 9px 15px !important;
}

.mhr-additional-drivers-limit {
    display: inline-block !important;
    margin-left: 10px !important;
    color: #64748b !important;
    font-size: 10px !important;
}

.mhr-balance-payment-section {
    margin-top: 20px !important;
}

.mhr-balance-payment-heading {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin-bottom: 18px !important;
}

.mhr-balance-payment-heading h4 {
    margin: 4px 0 5px !important;
}

.mhr-balance-payment-heading p {
    margin: 0 !important;
    color: #64748b !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
}

.mhr-balance-payment-heading > strong {
    flex: 0 0 auto !important;
    padding: 9px 12px !important;
    border-radius: 12px !important;
    background: #fff7ed !important;
    color: #ea580c !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}

.mhr-payment-kicker {
    display: block !important;
    color: #f97316 !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.mhr-balance-payment-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 11px !important;
}

.mhr-balance-payment-option {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) 24px !important;
    gap: 11px !important;
    align-items: center !important;
    min-height: 76px !important;
    margin: 0 !important;
    padding: 13px !important;
    border: 1px solid #dbe4ef !important;
    border-radius: 16px !important;
    background: #fff !important;
    cursor: pointer !important;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.mhr-balance-payment-option:hover {
    border-color: #fdba74 !important;
    transform: translateY(-1px) !important;
}

.mhr-balance-payment-option:has(input:checked) {
    border-color: #f97316 !important;
    background: #fff7ed !important;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, .10) !important;
}

.mhr-balance-payment-option input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.mhr-balance-payment-icon {
    display: grid !important;
    place-items: center !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 12px !important;
    background: #f1f5f9 !important;
    color: #475569 !important;
    font-size: 10px !important;
    font-weight: 950 !important;
}

.mhr-balance-payment-option:has(input:checked) .mhr-balance-payment-icon {
    background: #ffedd5 !important;
    color: #c2410c !important;
}

.mhr-balance-payment-option > span:nth-child(3) {
    display: grid !important;
    gap: 4px !important;
    min-width: 0 !important;
}

.mhr-balance-payment-option strong {
    color: #0f172a !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
}

.mhr-balance-payment-option small {
    color: #64748b !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
}

.mhr-balance-payment-option > i {
    display: grid !important;
    place-items: center !important;
    width: 22px !important;
    height: 22px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: transparent !important;
    font-size: 11px !important;
    font-style: normal !important;
    font-weight: 900 !important;
}

.mhr-balance-payment-option:has(input:checked) > i {
    border-color: #f97316 !important;
    background: #f97316 !important;
    color: #fff !important;
}

.mhr-payment-help {
    position: relative !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 18px !important;
    height: 18px !important;
    margin-left: 4px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #fed7aa !important;
    color: #9a3412 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    cursor: help !important;
    vertical-align: middle !important;
}

.mhr-payment-help > span {
    position: absolute !important;
    right: -8px !important;
    bottom: calc(100% + 8px) !important;
    z-index: 40 !important;
    display: none !important;
    width: 260px !important;
    padding: 10px 11px !important;
    border-radius: 10px !important;
    background: #0f172a !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    text-align: left !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .24) !important;
}

.mhr-payment-help:hover > span,
.mhr-payment-help:focus > span {
    display: block !important;
}

.mhr-credit-installments {
    margin-top: 14px !important;
    padding: 15px !important;
    border: 1px solid #fed7aa !important;
    border-radius: 14px !important;
    background: #fffaf5 !important;
}

.mhr-credit-installments > label {
    display: block !important;
    margin-bottom: 7px !important;
    color: #334155 !important;
    font-size: 11px !important;
    font-weight: 850 !important;
}

.mhr-credit-installments p {
    margin: 8px 0 0 !important;
    color: #7c2d12 !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
}

.mhr-success-contract-signature {
    margin-top: 20px !important;
    padding: 20px !important;
    border: 1px solid #dbe4ef !important;
    border-radius: 20px !important;
    background: #f8fafc !important;
}

.mhr-success-contract-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-bottom: 14px !important;
}

.mhr-success-contract-head h4 {
    margin: 4px 0 5px !important;
    color: #0f172a !important;
    font-size: 17px !important;
}

.mhr-success-contract-head p {
    margin: 0 !important;
    color: #64748b !important;
    font-size: 10px !important;
    line-height: 1.5 !important;
}

.mhr-success-contract-status {
    flex: 0 0 auto !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    background: #fff7ed !important;
    color: #c2410c !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

.mhr-success-contract-status.is-signed {
    background: #ecfdf5 !important;
    color: #047857 !important;
}

.mhr-success-contract-details {
    margin-bottom: 16px !important;
    border: 1px solid #dbe4ef !important;
    border-radius: 14px !important;
    background: #fff !important;
    overflow: hidden !important;
}

.mhr-success-contract-details summary {
    padding: 12px 14px !important;
    color: #0f172a !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    cursor: pointer !important;
}

.mhr-success-contract-body {
    max-height: 420px !important;
    padding: 16px !important;
    overflow: auto !important;
    border-top: 1px solid #e2e8f0 !important;
    color: #334155 !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
}

.mhr-success-contract-form {
    padding-top: 4px !important;
}

.mhr-contract-sign-message {
    min-height: 18px !important;
    margin: 9px 0 0 !important;
    font-size: 10px !important;
    font-weight: 750 !important;
}

.mhr-contract-sign-message.is-error {
    color: #dc2626 !important;
}

.mhr-contract-sign-message.is-success {
    color: #047857 !important;
}

.mhr-success-contract-accepted {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 11px !important;
    align-items: center !important;
    padding: 14px !important;
    border: 1px solid #a7f3d0 !important;
    border-radius: 14px !important;
    background: #ecfdf5 !important;
    color: #047857 !important;
}

.mhr-success-contract-accepted > span {
    display: grid !important;
    place-items: center !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 999px !important;
    background: #d1fae5 !important;
    font-size: 20px !important;
    font-weight: 900 !important;
}

.mhr-success-contract-accepted > div {
    display: grid !important;
    gap: 3px !important;
}

.mhr-success-contract-accepted strong {
    color: #065f46 !important;
    font-size: 12px !important;
}

.mhr-success-contract-accepted small {
    color: #047857 !important;
    font-size: 10px !important;
}

.mhr-lookup-additional-drivers {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.mhr-lookup-additional-drivers article {
    display: grid !important;
    gap: 4px !important;
    padding: 14px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    background: #f8fafc !important;
}

.mhr-lookup-additional-drivers article > span {
    color: #f97316 !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

.mhr-lookup-additional-drivers article > strong {
    color: #0f172a !important;
    font-size: 12px !important;
}

.mhr-lookup-additional-drivers article > small {
    color: #64748b !important;
    font-size: 10px !important;
}

@supports not selector(:has(*)) {
    .mhr-balance-payment-option input:checked ~ .mhr-balance-payment-icon {
        background: #ffedd5 !important;
        color: #c2410c !important;
    }

    .mhr-balance-payment-option input:checked ~ i {
        border-color: #f97316 !important;
        background: #f97316 !important;
        color: #fff !important;
    }
}

@media (max-width: 767px) {
    .mhr-balance-payment-heading,
    .mhr-success-contract-head {
        display: grid !important;
    }

    .mhr-balance-payment-heading > strong {
        justify-self: start !important;
    }

    .mhr-balance-payment-grid,
    .mhr-lookup-additional-drivers {
        grid-template-columns: 1fr !important;
    }

    .mhr-additional-driver-card,
    .mhr-success-contract-signature {
        padding: 15px !important;
    }

    .mhr-payment-help > span {
        right: auto !important;
        left: -110px !important;
        width: 230px !important;
    }
}

/* v2.9.4 — termos adicionais assináveis */
.mhr-additional-terms-list{display:grid;gap:16px;margin-top:18px}.mhr-additional-term-card{border:1px solid #dfe3e8;border-radius:14px;padding:18px;background:#fff}.mhr-additional-term-card.is-pending{border-left:4px solid #dba617}.mhr-additional-term-card.is-signed{border-left:4px solid #2e8540}.mhr-additional-term-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.mhr-additional-term-head>div{display:grid;gap:3px}.mhr-additional-term-head strong{font-size:17px}.mhr-additional-term-head small{font-size:12px;color:#667085}.mhr-additional-term-head>span{font-size:12px;font-weight:700;padding:6px 9px;border-radius:999px;background:#f2f4f7;color:#344054}.mhr-additional-term-card.is-signed .mhr-additional-term-head>span{background:#e9f7ec;color:#17652a}.mhr-additional-term-sign-form{margin-top:14px;padding-top:16px;border-top:1px solid #eaecf0}@media(max-width:767px){.mhr-additional-term-head{display:grid}.mhr-additional-term-head>span{justify-self:start}}

/* ========================================================================== 
   Portal do Cliente v3.1.2
   ========================================================================== */
.mhr-client-portal-v2 {
    --mhr-portal-blue: #0878d1;
    --mhr-portal-blue-dark: #075da3;
    --mhr-portal-ink: #18212f;
    --mhr-portal-muted: #667085;
    --mhr-portal-line: #e5e9f0;
    --mhr-portal-bg: #f5f7fa;
    --mhr-portal-success: #16845b;
    --mhr-portal-warning: #d3830b;
    --mhr-portal-danger: #c84141;
    max-width: 1240px;
    margin: 0 auto;
    padding: 24px;
    color: var(--mhr-portal-ink);
    font-family: inherit;
}

.mhr-client-portal-v2 *,
.mhr-client-portal-v2 *::before,
.mhr-client-portal-v2 *::after { box-sizing: border-box; }

.mhr-client-portal-v2 button,
.mhr-client-portal-v2 input,
.mhr-client-portal-v2 select,
.mhr-client-portal-v2 textarea { font: inherit; }

.mhr-portal-alert {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 14px 16px;
    margin: 0 0 16px;
    border: 1px solid;
    border-radius: 12px;
    background: #fff;
}
.mhr-portal-alert > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    border-radius: 50%;
    font-weight: 800;
}
.mhr-portal-alert p { margin: 1px 0 0; line-height: 1.45; }
.mhr-portal-alert.is-success { border-color: #b8e4d1; color: #0f6848; background: #f3fcf8; }
.mhr-portal-alert.is-success > span { background: #d9f4e7; }
.mhr-portal-alert.is-error { border-color: #f0c2c2; color: #9f3030; background: #fff7f7; }
.mhr-portal-alert.is-error > span { background: #f9dcdc; }

.mhr-portal-kicker {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--mhr-portal-blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* Login */
.mhr-portal-login-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
    overflow: hidden;
    min-height: 520px;
    border: 1px solid var(--mhr-portal-line);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(16, 35, 58, .10);
}
.mhr-portal-login-intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 64px;
    color: #fff;
    background:
        radial-gradient(circle at 15% 15%, rgba(255,255,255,.18), transparent 34%),
        linear-gradient(145deg, #0878d1 0%, #075da3 52%, #063d70 100%);
}
.mhr-portal-login-intro .mhr-portal-kicker { color: #cce9ff; }
.mhr-portal-login-intro h2 { max-width: 560px; margin: 0 0 18px; color: #fff; font-size: clamp(32px, 4vw, 52px); line-height: 1.06; letter-spacing: -.035em; }
.mhr-portal-login-intro p { max-width: 570px; margin: 0; color: rgba(255,255,255,.86); font-size: 18px; line-height: 1.65; }
.mhr-portal-login-benefits { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; }
.mhr-portal-login-benefits span { padding: 9px 13px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; background: rgba(255,255,255,.10); color: #fff; font-size: 13px; font-weight: 700; }
.mhr-portal-login-card { display: flex; flex-direction: column; justify-content: center; padding: 52px; }
.mhr-portal-login-icon { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 20px; border-radius: 16px; background: #e9f5ff; font-size: 24px; }
.mhr-portal-login-card h3 { margin: 0 0 8px; color: var(--mhr-portal-ink); font-size: 26px; letter-spacing: -.02em; }
.mhr-portal-login-card > p { margin: 0 0 28px; color: var(--mhr-portal-muted); line-height: 1.55; }
.mhr-portal-login-form { display: grid; gap: 16px; }
.mhr-portal-login-form label,
.mhr-portal-form-grid label,
.mhr-portal-driver-slot > label { display: grid; gap: 7px; }
.mhr-portal-login-form label > span,
.mhr-portal-form-grid label > span,
.mhr-portal-driver-slot > label > span { color: #344054; font-size: 13px; font-weight: 750; }
.mhr-portal-login-form input,
.mhr-portal-form-grid input,
.mhr-portal-driver-slot input[type="text"] {
    width: 100%;
    height: 48px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid #cfd6df;
    border-radius: 10px;
    background: #fff;
    color: var(--mhr-portal-ink);
    outline: none;
    box-shadow: none;
}
.mhr-portal-login-form input:focus,
.mhr-portal-form-grid input:focus,
.mhr-portal-driver-slot input[type="text"]:focus { border-color: var(--mhr-portal-blue); box-shadow: 0 0 0 3px rgba(8,120,209,.12); }
.mhr-portal-login-form .mhr-btn-reservar { width: 100%; min-height: 50px; margin-top: 3px; border-radius: 10px; }
.mhr-portal-help-link { align-self: center; margin-top: 20px; color: var(--mhr-portal-blue); font-size: 13px; font-weight: 700; text-decoration: none; }
.mhr-portal-help-link:hover { text-decoration: underline; }

/* Hero e timeline */
.mhr-portal-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding: 28px 30px;
    border: 1px solid #dce5ee;
    border-radius: 20px 20px 0 0;
    background: linear-gradient(135deg, #fff 0%, #f7fbff 100%);
}
.mhr-portal-hero-main h2 { margin: 0 0 7px; color: var(--mhr-portal-ink); font-size: clamp(26px, 3vw, 38px); line-height: 1.1; letter-spacing: -.035em; }
.mhr-portal-hero-main p { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0; color: var(--mhr-portal-muted); font-size: 15px; }
.mhr-portal-hero-main p span { color: var(--mhr-portal-blue); font-weight: 900; }
.mhr-portal-hero-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 13px; }
.mhr-portal-statuses { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.mhr-portal-status { display: inline-flex; align-items: center; min-height: 30px; padding: 5px 11px; border-radius: 999px; background: #fff4d6; color: #8d5d00; font-size: 12px; font-weight: 800; }
.mhr-portal-status.is-confirmed, .mhr-portal-status.is-completed { background: #dff6eb; color: #116b4a; }
.mhr-portal-status.is-cancelled, .mhr-portal-status.is-expired { background: #fee8e8; color: #a53636; }
.mhr-portal-status.is-payment { background: #e5f2ff; color: #075da3; }
.mhr-portal-logout-form { margin: 0; }
.mhr-portal-logout-form button { padding: 0; border: 0; background: transparent; color: #667085; font-size: 12px; font-weight: 700; text-decoration: underline; cursor: pointer; }
.mhr-portal-timeline { display: grid; grid-template-columns: repeat(7, minmax(100px, 1fr)); overflow-x: auto; padding: 20px 28px 23px; border: 1px solid #dce5ee; border-top: 0; background: #fff; scrollbar-width: thin; }
.mhr-portal-timeline-step { position: relative; display: grid; justify-items: center; gap: 7px; min-width: 105px; text-align: center; }
.mhr-portal-timeline-step::before { content: ""; position: absolute; z-index: 0; top: 13px; left: -50%; width: 100%; height: 2px; background: #dfe5ec; }
.mhr-portal-timeline-step:first-child::before { display: none; }
.mhr-portal-timeline-step > span { position: relative; z-index: 1; display: grid; place-items: center; width: 28px; height: 28px; border: 2px solid #ccd4de; border-radius: 50%; background: #fff; color: #fff; font-size: 13px; font-weight: 900; }
.mhr-portal-timeline-step small { color: #7a8492; font-size: 11px; font-weight: 750; white-space: nowrap; }
.mhr-portal-timeline-step.is-done::before { background: #65bf9d; }
.mhr-portal-timeline-step.is-done > span { border-color: var(--mhr-portal-success); background: var(--mhr-portal-success); }
.mhr-portal-timeline-step.is-done small { color: #25684f; }
.mhr-portal-timeline-step.is-current > span { border-color: var(--mhr-portal-blue); box-shadow: 0 0 0 5px rgba(8,120,209,.11); }
.mhr-portal-timeline-step.is-current small { color: var(--mhr-portal-blue); }

/* Estrutura */
.mhr-portal-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); border: 1px solid #dce5ee; border-top: 0; border-radius: 0 0 20px 20px; background: var(--mhr-portal-bg); }
.mhr-portal-sidebar { padding: 22px 16px; border-right: 1px solid #dce5ee; background: #fff; border-radius: 0 0 0 20px; }
.mhr-portal-nav { display: grid; gap: 5px; }
.mhr-portal-nav-button { display: grid; grid-template-columns: 27px 1fr auto; gap: 8px; align-items: center; width: 100%; min-height: 46px; padding: 9px 11px; border: 0; border-radius: 10px; background: transparent; color: #475467; text-align: left; cursor: pointer; }
.mhr-portal-nav-button > span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 8px; background: #f0f3f7; color: #526071; font-size: 12px; font-weight: 900; }
.mhr-portal-nav-button strong { font-size: 13px; font-weight: 750; }
.mhr-portal-nav-button em { display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: #fff0dc; color: #a86300; font-size: 11px; font-style: normal; font-weight: 850; }
.mhr-portal-nav-button:hover { background: #f6f9fc; }
.mhr-portal-nav-button.is-active { background: #e9f5ff; color: #075da3; }
.mhr-portal-nav-button.is-active > span { background: var(--mhr-portal-blue); color: #fff; }
.mhr-portal-sidebar-card { margin-top: 22px; padding: 16px; border: 1px solid #dbe5ee; border-radius: 13px; background: #f8fbfe; }
.mhr-portal-sidebar-card small { display: block; margin-bottom: 4px; color: var(--mhr-portal-muted); font-size: 11px; font-weight: 750; }
.mhr-portal-sidebar-card strong { display: block; margin-bottom: 8px; color: var(--mhr-portal-blue-dark); font-size: 25px; }
.mhr-portal-sidebar-card > div { height: 7px; overflow: hidden; border-radius: 999px; background: #dce5ee; }
.mhr-portal-sidebar-card > div span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #0878d1, #35ae7c); }
.mhr-portal-sidebar-card p { margin: 9px 0 0; color: var(--mhr-portal-muted); font-size: 11px; line-height: 1.45; }
.mhr-portal-contact-button { display: block; margin-top: 12px; padding: 11px; border: 1px solid #abd7c4; border-radius: 10px; background: #f1fbf6; color: #14724e; font-size: 12px; font-weight: 800; text-align: center; text-decoration: none; }
.mhr-portal-content { min-width: 0; padding: 28px; }
.mhr-portal-panel[hidden] { display: none !important; }
.mhr-portal-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 22px; }
.mhr-portal-section-heading > div > span { display: block; margin-bottom: 5px; color: var(--mhr-portal-blue); font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.mhr-portal-section-heading h3 { margin: 0 0 5px; color: var(--mhr-portal-ink); font-size: 27px; line-height: 1.15; letter-spacing: -.025em; }
.mhr-portal-section-heading p { margin: 0; color: var(--mhr-portal-muted); font-size: 14px; line-height: 1.55; }
.mhr-portal-heading-badge { display: inline-flex; padding: 7px 10px; border-radius: 999px; background: #fff0dc; color: #9d6209; font-size: 11px; white-space: nowrap; }
.mhr-portal-heading-badge.is-ok { background: #def5e9; color: #176a4c; }

/* Elementos gerais */
.mhr-portal-next-action { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 20px; padding: 22px 24px; border: 1px solid #bcdcf5; border-radius: 15px; background: linear-gradient(135deg, #f0f8ff, #fff); }
.mhr-portal-next-action span { display: block; margin-bottom: 4px; color: var(--mhr-portal-blue); font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.mhr-portal-next-action h4 { margin: 0 0 5px; font-size: 19px; }
.mhr-portal-next-action p { margin: 0; color: var(--mhr-portal-muted); font-size: 13px; line-height: 1.5; }
.mhr-portal-next-action form { flex: 0 0 auto; margin: 0; }
.mhr-portal-next-action button,
.mhr-portal-next-action-link,
.mhr-portal-inline-action,
.mhr-portal-print-button,
.mhr-portal-download-form button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-height: 42px; padding: 9px 15px; border: 0; border-radius: 9px; background: var(--mhr-portal-blue); color: #fff; font-size: 12px; font-weight: 800; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer; }

/* Garante a altura de linha dos CTAs de reativação mesmo com estilos do tema. */
.mhr_reactivate_reservation_submit,
.mhr-portal-next-action-link {
    line-height: 1.2 !important;
}

.mhr-portal-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.mhr-portal-metrics article { min-width: 0; padding: 17px; border: 1px solid var(--mhr-portal-line); border-radius: 13px; background: #fff; }
.mhr-portal-metrics small { display: block; margin-bottom: 7px; color: var(--mhr-portal-muted); font-size: 11px; font-weight: 750; }
.mhr-portal-metrics strong { display: block; overflow: hidden; color: var(--mhr-portal-ink); font-size: 20px; line-height: 1.15; text-overflow: ellipsis; }
.mhr-portal-metrics span { display: block; overflow: hidden; margin-top: 6px; color: #7b8491; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.mhr-portal-metrics article.is-warning strong { color: #a75e00; }
.mhr-portal-metrics article.is-success strong { color: var(--mhr-portal-success); }
.mhr-portal-grid-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
.mhr-portal-card { min-width: 0; margin-bottom: 16px; padding: 20px; border: 1px solid var(--mhr-portal-line); border-radius: 14px; background: #fff; }
.mhr-portal-grid-two > .mhr-portal-card { margin-bottom: 0; }
.mhr-portal-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 16px; }
.mhr-portal-card-head > div > span { display: block; margin-bottom: 3px; color: var(--mhr-portal-blue); font-size: 10px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.mhr-portal-card-head h4 { margin: 0; color: var(--mhr-portal-ink); font-size: 17px; }
.mhr-portal-card-head > em { display: grid; place-items: center; min-width: 27px; height: 27px; padding: 0 7px; border-radius: 999px; background: #fff0dc; color: #9a610d; font-size: 11px; font-style: normal; font-weight: 850; }
.mhr-portal-card-head > em.is-ok { background: #dff5e9; color: #136b4a; }
.mhr-portal-card-note { margin: -5px 0 17px; color: var(--mhr-portal-muted); font-size: 12px; line-height: 1.55; }
.mhr-portal-check-list { display: grid; gap: 8px; }
.mhr-portal-check-list button { display: grid; grid-template-columns: 30px 1fr; gap: 10px; align-items: center; width: 100%; padding: 10px; border: 0; border-radius: 9px; background: #fff8ee; color: inherit; text-align: left; cursor: pointer; }
.mhr-portal-check-list button > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #f3ba65; color: #fff; font-weight: 900; }
.mhr-portal-check-list button strong, .mhr-portal-check-list button small { display: block; }
.mhr-portal-check-list button strong { font-size: 12px; }
.mhr-portal-check-list button small { margin-top: 2px; color: #806d56; font-size: 10px; }
.mhr-portal-check-list button.is-done { background: #f1faf6; }
.mhr-portal-check-list button.is-done > span { background: var(--mhr-portal-success); }
.mhr-portal-check-list button.is-done small { color: #4b765f; }
.mhr-portal-data-list { display: grid; gap: 0; margin: 0; }
.mhr-portal-data-list > div { display: grid; grid-template-columns: minmax(120px, .85fr) minmax(0, 1.15fr); gap: 15px; padding: 9px 0; border-bottom: 1px solid #edf0f4; }
.mhr-portal-data-list > div:last-child { border-bottom: 0; }
.mhr-portal-data-list dt { color: var(--mhr-portal-muted); font-size: 11px; }
.mhr-portal-data-list dd { min-width: 0; margin: 0; color: var(--mhr-portal-ink); font-size: 12px; font-weight: 700; text-align: right; overflow-wrap: anywhere; }
.mhr-portal-data-list.is-money .is-total { margin-top: 5px; padding-top: 13px; border-top: 1px solid #d6dce4; border-bottom: 0; }
.mhr-portal-data-list.is-money .is-total dt, .mhr-portal-data-list.is-money .is-total dd { color: var(--mhr-portal-ink); font-size: 14px; font-weight: 850; }
.mhr-portal-chip-list { display: flex; flex-wrap: wrap; gap: 8px; }
.mhr-portal-chip-list span { padding: 7px 10px; border-radius: 999px; background: #f1f5f9; color: #425064; font-size: 11px; font-weight: 700; }
.mhr-portal-empty { display: grid; justify-items: center; gap: 5px; padding: 32px 18px; color: var(--mhr-portal-muted); text-align: center; }
.mhr-portal-empty > span { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 3px; border-radius: 50%; background: #edf3f7; color: #5f7081; font-weight: 850; }
.mhr-portal-empty strong { color: #344054; font-size: 14px; }
.mhr-portal-empty p { max-width: 420px; margin: 0; font-size: 12px; line-height: 1.5; }
.mhr-portal-empty.is-small { padding: 12px; grid-template-columns: 30px 1fr; justify-items: start; text-align: left; }
.mhr-portal-empty.is-small > span { width: 30px; height: 30px; margin: 0; background: #def5e9; color: #16704f; }

/* Financeiro */
.mhr-portal-payment-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 16px; }
.mhr-portal-payment-summary > div:not(.mhr-portal-progress) { padding: 18px; border: 1px solid var(--mhr-portal-line); border-radius: 13px; background: #fff; }
.mhr-portal-payment-summary small { display: block; margin-bottom: 5px; color: var(--mhr-portal-muted); font-size: 11px; font-weight: 700; }
.mhr-portal-payment-summary strong { color: var(--mhr-portal-ink); font-size: 22px; }
.mhr-portal-payment-summary .is-due strong { color: #a85f00; }
.mhr-portal-payment-summary .is-paid strong { color: var(--mhr-portal-success); }
.mhr-portal-progress { grid-column: 1 / -1; position: relative; height: 28px; overflow: hidden; border-radius: 9px; background: #dfe7ef; }
.mhr-portal-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #0878d1, #35ae7c); }
.mhr-portal-progress small { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; color: #233143; font-size: 10px; font-weight: 850; text-shadow: 0 1px 0 rgba(255,255,255,.8); }
.mhr-portal-pix-card { display: grid; grid-template-columns: 1.1fr 1fr; gap: 22px; margin-bottom: 16px; padding: 22px; border: 1px solid #a8ddc8; border-radius: 14px; background: linear-gradient(135deg, #f2fcf7, #fff); }
.mhr-portal-pix-card > div:first-child > span { color: var(--mhr-portal-success); font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.mhr-portal-pix-card h4 { margin: 4px 0 5px; color: #11694a; font-size: 27px; }
.mhr-portal-pix-card p { margin: 0; color: #547163; font-size: 12px; line-height: 1.55; }
.mhr-portal-pix-key { display: grid; grid-template-columns: 1fr auto; gap: 5px 10px; align-items: center; padding: 13px; border: 1px dashed #92cdb5; border-radius: 10px; background: #fff; }
.mhr-portal-pix-key small { grid-column: 1 / -1; color: #718079; font-size: 9px; font-weight: 850; }
.mhr-portal-pix-key code { overflow: hidden; color: #174c38; font-size: 12px; font-weight: 750; text-overflow: ellipsis; }
.mhr-portal-pix-key button { padding: 7px 9px; border: 0; border-radius: 7px; background: #daf3e7; color: #126745; font-size: 10px; font-weight: 850; cursor: pointer; }
.mhr-portal-pix-key > span { grid-column: 1 / -1; min-height: 14px; color: #14704d; font-size: 9px; }
.mhr-portal-pix-card dl { grid-column: 1 / -1; display: flex; gap: 24px; margin: 0; }
.mhr-portal-pix-card dl div { display: flex; gap: 7px; }
.mhr-portal-pix-card dt { color: var(--mhr-portal-muted); font-size: 10px; }
.mhr-portal-pix-card dd { margin: 0; color: #344054; font-size: 10px; font-weight: 750; }
.mhr-portal-pix-card .mhr-portal-inline-action { justify-self: start; grid-column: 1 / -1; background: var(--mhr-portal-success); }
.mhr-portal-table-wrap { overflow-x: auto; }
.mhr-portal-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.mhr-portal-table th { padding: 9px 10px; background: #f4f7fa; color: #667085; font-weight: 750; text-align: left; white-space: nowrap; }
.mhr-portal-table td { padding: 11px 10px; border-bottom: 1px solid #edf0f4; color: #475467; }
.mhr-portal-table td:last-child { text-align: right; color: #263548; white-space: nowrap; }
.mhr-portal-mini-status { padding: 6px 9px; border-radius: 999px; background: #fff1dd; color: #9c610a; font-size: 10px; font-weight: 800; }
.mhr-portal-mini-status.is-received, .mhr-portal-mini-status.is-refunded { background: #def5e9; color: #176a4b; }
.mhr-portal-incident-list { display: grid; gap: 8px; }
.mhr-portal-incident-list > div { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 10px; border-radius: 9px; background: #f7f9fb; }
.mhr-portal-incident-list > div > span { padding: 5px 7px; border-radius: 6px; background: #feebeb; color: #a63b3b; font-size: 9px; font-weight: 850; }
.mhr-portal-incident-list strong, .mhr-portal-incident-list small { display: block; }
.mhr-portal-incident-list strong { color: #344054; font-size: 11px; }
.mhr-portal-incident-list small { margin-top: 2px; color: #7c8693; font-size: 9px; }
.mhr-portal-incident-list b { font-size: 11px; }

/* Documentos */
.mhr-portal-document-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 16px; }
.mhr-portal-document-card { display: flex; flex-direction: column; min-width: 0; padding: 18px; border: 1px solid #e4e8ed; border-radius: 14px; background: #fff; }
.mhr-portal-document-card.is-approved { border-color: #b8dfcd; }
.mhr-portal-document-card.is-rejected { border-color: #efc1c1; }
.mhr-portal-document-card-head { display: grid; grid-template-columns: 34px 1fr; gap: 11px; }
.mhr-portal-document-card-head > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: #fff0dc; color: #a86607; font-weight: 900; }
.is-approved .mhr-portal-document-card-head > span { background: #ddf4e8; color: #16704e; }
.is-rejected .mhr-portal-document-card-head > span { background: #fbe5e5; color: #aa3b3b; }
.mhr-portal-document-card h4 { margin: 0 0 3px; font-size: 14px; }
.mhr-portal-document-card p { margin: 0; color: var(--mhr-portal-muted); font-size: 10px; line-height: 1.45; }
.mhr-portal-document-state { display: grid; gap: 3px; margin: 13px 0; padding: 9px 10px; border-radius: 8px; background: #f7f9fb; }
.mhr-portal-document-state strong { color: #5f6d7c; font-size: 10px; }
.mhr-portal-document-state small { color: #9f3838; font-size: 9px; line-height: 1.4; }
.mhr-portal-file-link { align-self: flex-start; margin-bottom: 10px; color: var(--mhr-portal-blue); font-size: 10px; font-weight: 800; text-decoration: none; }
.mhr-portal-upload-form { display: grid; gap: 9px; margin-top: auto; }
.mhr-portal-file-picker { position: relative; display: grid; gap: 2px; padding: 10px 12px; border: 1px dashed #bfc8d2; border-radius: 9px; background: #fafbfc; cursor: pointer; }
.mhr-portal-file-picker input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.mhr-portal-file-picker > span { color: #344054; font-size: 10px; font-weight: 800; }
.mhr-portal-file-picker > small { color: #7b8491; font-size: 9px; }
.mhr-portal-upload-form .mhr-btn-reservar { min-height: 39px; margin: 0; border-radius: 8px; font-size: 10px; }
.mhr-portal-download-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.mhr-portal-download-grid > div { display: grid; grid-template-columns: 34px 1fr auto; gap: 10px; align-items: center; padding: 12px; border: 1px solid #e3e8ed; border-radius: 10px; }
.mhr-portal-download-grid > div > span { font-size: 22px; }
.mhr-portal-download-grid strong, .mhr-portal-download-grid small { display: block; }
.mhr-portal-download-grid strong { font-size: 11px; }
.mhr-portal-download-grid small { color: var(--mhr-portal-muted); font-size: 9px; }
.mhr-portal-download-grid a { padding: 7px 9px; border-radius: 7px; background: #e8f4ff; color: #0765aa; font-size: 9px; font-weight: 850; text-decoration: none; }
.mhr-portal-download-grid em { color: #9a671c; font-size: 9px; font-style: normal; }
.mhr-portal-file-history { display: grid; gap: 7px; }
.mhr-portal-file-history > a { display: grid; grid-template-columns: 28px 1fr auto; gap: 10px; align-items: center; padding: 10px; border: 1px solid #e8ebef; border-radius: 9px; color: inherit; text-decoration: none; }
.mhr-portal-file-history > a > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 7px; background: #edf4fa; color: #39749e; font-weight: 850; }
.mhr-portal-file-history strong, .mhr-portal-file-history small { display: block; }
.mhr-portal-file-history strong { font-size: 10px; }
.mhr-portal-file-history small { margin-top: 2px; color: #7a8490; font-size: 9px; }
.mhr-portal-file-history b { color: var(--mhr-portal-blue); font-size: 9px; }

/* Contratos */
.mhr-portal-contract-card { margin-bottom: 16px; overflow: hidden; border: 1px solid #e1e6ec; border-radius: 14px; background: #fff; }
.mhr-portal-contract-card.is-signed { border-color: #b7dfcc; }
.mhr-portal-contract-head { display: flex; justify-content: space-between; gap: 15px; padding: 18px 20px; border-bottom: 1px solid #edf0f4; }
.mhr-portal-contract-head > div { display: grid; grid-template-columns: 38px 1fr; gap: 12px; align-items: center; }
.mhr-portal-contract-head > div > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: #fff0dc; color: #a86506; font-weight: 900; }
.is-signed .mhr-portal-contract-head > div > span, .is-signed.mhr-portal-contract-card .mhr-portal-contract-head > div > span { background: #ddf4e8; color: #176e4d; }
.mhr-portal-contract-head small { display: block; margin-bottom: 2px; color: var(--mhr-portal-blue); font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.mhr-portal-contract-head h4 { margin: 0; font-size: 15px; }
.mhr-portal-contract-head p { margin: 3px 0 0; color: var(--mhr-portal-muted); font-size: 10px; }
.mhr-portal-contract-head > strong { align-self: flex-start; padding: 6px 9px; border-radius: 999px; background: #fff0dc; color: #9c6108; font-size: 9px; }
.is-signed .mhr-portal-contract-head > strong { background: #def5e9; color: #176b4b; }
.mhr-portal-contract-actions { display: flex; align-items: flex-start; gap: 10px; padding: 14px 20px; background: #fafbfc; }
.mhr-portal-contract-actions details { flex: 1 1 auto; min-width: 0; }
.mhr-portal-contract-actions summary { color: var(--mhr-portal-blue); font-size: 10px; font-weight: 850; cursor: pointer; }
.mhr-portal-contract-actions form { margin: 0; }
.mhr-portal-contract-actions button { padding: 8px 10px; border: 1px solid #c7d6e3; border-radius: 7px; background: #fff; color: #315875; font-size: 9px; font-weight: 850; cursor: pointer; }
.mhr-portal-contract-content { max-height: 430px; overflow: auto; margin-top: 12px; padding: 18px; border: 1px solid #e1e6ec; border-radius: 9px; background: #fff; color: #344054; font-size: 11px; line-height: 1.6; }
.mhr-portal-contract-content h1, .mhr-portal-contract-content h2, .mhr-portal-contract-content h3 { font-size: 15px; }
.mhr-portal-signature-proof { margin: 0 20px 18px; padding: 13px; border: 1px solid #b8dfcc; border-radius: 9px; background: #f1faf6; color: #295c47; }
.mhr-portal-signature-proof strong { font-size: 11px; }
.mhr-portal-signature-proof p { margin: 3px 0; font-size: 10px; }
.mhr-portal-signature-proof small { display: block; overflow: hidden; font-size: 8px; text-overflow: ellipsis; }
.mhr-portal-sign-form { display: grid; gap: 13px; padding: 18px 20px 20px; }
.mhr-portal-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.mhr-portal-checkbox { display: grid; grid-template-columns: 18px 1fr; gap: 8px; align-items: flex-start; color: #475467; font-size: 10px; line-height: 1.45; }
.mhr-portal-checkbox input { width: 16px; height: 16px; margin: 0; }
.mhr-portal-sign-form .mhr-btn-reservar { justify-self: start; min-height: 42px; margin: 0; border-radius: 8px; font-size: 10px; }
.mhr-portal-term-list { display: grid; }

/* Motoristas */
.mhr-portal-driver-main { display: grid; grid-template-columns: auto 1fr auto; gap: 13px; align-items: center; margin-bottom: 16px; padding: 17px 20px; border: 1px solid #bdddec; border-radius: 13px; background: #f4faff; }
.mhr-portal-driver-main > span { padding: 6px 8px; border-radius: 7px; background: #dbefff; color: #0a659f; font-size: 9px; font-weight: 850; }
.mhr-portal-driver-main strong, .mhr-portal-driver-main small { display: block; }
.mhr-portal-driver-main strong { font-size: 14px; }
.mhr-portal-driver-main small { margin-top: 3px; color: #667085; font-size: 10px; }
.mhr-portal-driver-main em { color: #27805f; font-size: 10px; font-style: normal; font-weight: 800; }
.mhr-portal-drivers-form { display: grid; gap: 14px; }
.mhr-portal-driver-slots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.mhr-portal-driver-slot { display: grid; gap: 12px; padding: 16px; border: 1px solid #e0e5ea; border-radius: 12px; background: #fafbfc; }
.mhr-portal-driver-slot.is-approved { border-color: #b8dfcd; background: #f6fcf9; }
.mhr-portal-driver-slot-head { display: grid; grid-template-columns: 31px 1fr auto; gap: 9px; align-items: center; }
.mhr-portal-driver-slot-head > span { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 9px; background: #e7eef5; color: #49637a; font-size: 11px; font-weight: 900; }
.mhr-portal-driver-slot-head strong, .mhr-portal-driver-slot-head small { display: block; }
.mhr-portal-driver-slot-head strong { font-size: 11px; }
.mhr-portal-driver-slot-head small { margin-top: 2px; color: #7a8491; font-size: 9px; }
.mhr-portal-driver-slot-head a { color: var(--mhr-portal-blue); font-size: 9px; font-weight: 800; text-decoration: none; }
.mhr-portal-rejection-note { margin: 0; padding: 8px; border-radius: 7px; background: #fff0f0; color: #9e3939; font-size: 9px; line-height: 1.4; }
.mhr-portal-drivers-form > .mhr-btn-reservar { justify-self: start; min-width: 190px; min-height: 43px; margin: 0; border-radius: 8px; font-size: 10px; }

/* Viagem */
.mhr-portal-trip-route { display: grid; grid-template-columns: minmax(0, 1fr) minmax(160px, .65fr) minmax(0, 1fr); gap: 18px; align-items: center; margin-bottom: 16px; padding: 22px; border: 1px solid #c8deee; border-radius: 14px; background: #fff; }
.mhr-portal-trip-route article { display: grid; gap: 3px; }
.mhr-portal-trip-route article:last-child { text-align: right; }
.mhr-portal-trip-route article > span { color: var(--mhr-portal-blue); font-size: 10px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.mhr-portal-trip-route article strong { font-size: 20px; }
.mhr-portal-trip-route article b { color: #3e5368; font-size: 13px; }
.mhr-portal-trip-route article small { color: var(--mhr-portal-muted); font-size: 10px; }
.mhr-portal-trip-route > div { display: flex; align-items: center; gap: 7px; color: #60758a; font-size: 9px; text-align: center; }
.mhr-portal-trip-route > div span { flex: 1 1 auto; height: 1px; background: #bdd0df; }
.mhr-portal-operation-status { display: grid; gap: 10px; }
.mhr-portal-operation-status > div { display: grid; grid-template-columns: 30px 1fr; gap: 10px; align-items: center; }
.mhr-portal-operation-status > div > span { display: grid; place-items: center; width: 30px; height: 30px; border: 2px solid #d2d9e1; border-radius: 50%; color: #788390; font-size: 10px; font-weight: 850; }
.mhr-portal-operation-status strong, .mhr-portal-operation-status small { display: block; }
.mhr-portal-operation-status strong { font-size: 11px; }
.mhr-portal-operation-status small { margin-top: 2px; color: #7a8490; font-size: 9px; }
.mhr-portal-operation-status > div.is-done > span { border-color: var(--mhr-portal-success); background: var(--mhr-portal-success); color: #fff; }
.mhr-portal-checklist-readonly { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.mhr-portal-checklist-readonly > div { display: grid; grid-template-columns: 20px 1fr; gap: 6px; align-items: center; padding: 7px; border-radius: 7px; background: #f5f7fa; }
.mhr-portal-checklist-readonly span { display: grid; place-items: center; width: 20px; height: 20px; border: 1px solid #ccd4dc; border-radius: 50%; color: #fff; font-size: 8px; }
.mhr-portal-checklist-readonly p { margin: 0; color: #697585; font-size: 8px; line-height: 1.3; }
.mhr-portal-checklist-readonly > div.is-done { background: #f0faf5; }
.mhr-portal-checklist-readonly > div.is-done span { border-color: var(--mhr-portal-success); background: var(--mhr-portal-success); }
.mhr-portal-checklist-readonly > div.is-done p { color: #356a53; }
.mhr-portal-support-card { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 21px 23px; border-radius: 14px; background: linear-gradient(135deg, #0878d1, #075a9d); color: #fff; }
.mhr-portal-support-card span { color: #c9e9ff; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.mhr-portal-support-card h4 { margin: 4px 0; color: #fff; font-size: 17px; }
.mhr-portal-support-card p { margin: 0; color: rgba(255,255,255,.8); font-size: 10px; }
.mhr-portal-support-card a { flex: 0 0 auto; padding: 10px 13px; border-radius: 8px; background: #fff; color: #075da3; font-size: 10px; font-weight: 850; text-decoration: none; }

/* Recibos */
.mhr-portal-receipt-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.mhr-portal-receipt-grid > article { display: grid; grid-template-columns: 42px 1fr auto; gap: 11px; align-items: center; padding: 14px; border: 1px solid #e1e6ec; border-radius: 11px; }
.mhr-portal-receipt-grid > article > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 10px; background: #e9f5ff; color: #0968aa; font-size: 9px; font-weight: 900; }
.mhr-portal-receipt-grid small, .mhr-portal-receipt-grid strong, .mhr-portal-receipt-grid p, .mhr-portal-receipt-grid em { display: block; }
.mhr-portal-receipt-grid small { color: #7b8491; font-size: 8px; }
.mhr-portal-receipt-grid strong { margin-top: 2px; font-size: 15px; }
.mhr-portal-receipt-grid p { overflow: hidden; margin: 2px 0; color: #556171; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.mhr-portal-receipt-grid em { color: #8b939e; font-size: 8px; font-style: normal; }
.mhr-portal-receipt-grid form { margin: 0; }
.mhr-portal-receipt-grid button { padding: 8px 9px; border: 0; border-radius: 7px; background: var(--mhr-portal-blue); color: #fff; font-size: 9px; font-weight: 850; cursor: pointer; }
.mhr-portal-download-form { margin: 15px 0 0; }
.mhr-portal-print-button { margin-top: 15px; background: #425466; }

/* Estado de upload compartilhado */
.mhr-client-portal-v2 .mhr-public-upload-status { display: flex; gap: 7px; align-items: center; color: #607080; font-size: 9px; line-height: 1.35; }
.mhr-client-portal-v2 .mhr-public-upload-status[hidden] { display: none; }
.mhr-client-portal-v2 .mhr-upload-spinner { width: 14px; height: 14px; flex: 0 0 14px; border: 2px solid #c8d5df; border-top-color: var(--mhr-portal-blue); border-radius: 50%; animation: mhr-portal-spin .8s linear infinite; }
@keyframes mhr-portal-spin { to { transform: rotate(360deg); } }

/* Responsividade */
@media (max-width: 1024px) {
    .mhr-client-portal-v2 { padding: 16px; }
    .mhr-portal-layout { grid-template-columns: 205px minmax(0, 1fr); }
    .mhr-portal-sidebar { padding: 18px 12px; }
    .mhr-portal-content { padding: 22px; }
    .mhr-portal-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mhr-portal-login-intro { padding: 46px; }
    .mhr-portal-login-card { padding: 40px; }
}

@media (max-width: 820px) {
    .mhr-portal-login-shell { grid-template-columns: 1fr; }
    .mhr-portal-login-intro { min-height: 320px; padding: 42px; }
    .mhr-portal-login-card { padding: 38px; }
    .mhr-portal-hero { flex-direction: column; }
    .mhr-portal-hero-actions { width: 100%; align-items: flex-start; }
    .mhr-portal-statuses { justify-content: flex-start; }
    .mhr-portal-layout { display: block; }
    .mhr-portal-sidebar { position: sticky; z-index: 20; top: 0; padding: 10px; border-right: 0; border-bottom: 1px solid #dce5ee; border-radius: 0; }
    .mhr-portal-nav { display: flex; overflow-x: auto; gap: 6px; padding-bottom: 2px; scrollbar-width: thin; }
    .mhr-portal-nav-button { grid-template-columns: 24px auto auto; flex: 0 0 auto; width: auto; min-height: 40px; padding: 7px 9px; }
    .mhr-portal-nav-button > span { width: 24px; height: 24px; }
    .mhr-portal-sidebar-card, .mhr-portal-contact-button { display: none; }
    .mhr-portal-content { padding: 20px; }
    .mhr-portal-grid-two, .mhr-portal-document-grid, .mhr-portal-driver-slots, .mhr-portal-receipt-grid { grid-template-columns: 1fr; }
    .mhr-portal-trip-route { grid-template-columns: 1fr; gap: 12px; }
    .mhr-portal-trip-route article:last-child { text-align: left; }
    .mhr-portal-trip-route > div { transform: rotate(90deg); width: 60px; margin: 6px auto; }
}

@media (max-width: 600px) {
    .mhr-client-portal-v2 { padding: 8px; }
    .mhr-portal-login-shell { border-radius: 16px; }
    .mhr-portal-login-intro { min-height: 260px; padding: 28px 24px; }
    .mhr-portal-login-intro h2 { font-size: 31px; }
    .mhr-portal-login-intro p { font-size: 15px; }
    .mhr-portal-login-benefits { margin-top: 22px; }
    .mhr-portal-login-card { padding: 28px 22px; }
    .mhr-portal-hero { padding: 22px 18px; border-radius: 15px 15px 0 0; }
    .mhr-portal-timeline { padding: 18px 15px 21px; }
    .mhr-portal-content { padding: 16px 12px 20px; }
    .mhr-portal-section-heading { display: block; }
    .mhr-portal-heading-badge { margin-top: 10px; }
    .mhr-portal-section-heading h3 { font-size: 23px; }
    .mhr-portal-next-action { display: block; padding: 18px; }
    .mhr-portal-next-action form, .mhr-portal-next-action button, .mhr-portal-next-action-link { width: 100%; margin-top: 14px; }
    .mhr-portal-next-action form button { margin-top: 0; }
    .mhr-portal-metrics { grid-template-columns: 1fr 1fr; gap: 8px; }
    .mhr-portal-metrics article { padding: 13px; }
    .mhr-portal-metrics strong { font-size: 16px; }
    .mhr-portal-card { padding: 16px; }
    .mhr-portal-data-list > div { grid-template-columns: 1fr; gap: 3px; }
    .mhr-portal-data-list dd { text-align: left; }
    .mhr-portal-payment-summary { grid-template-columns: 1fr; }
    .mhr-portal-progress { grid-column: 1; }
    .mhr-portal-pix-card { grid-template-columns: 1fr; padding: 17px; }
    .mhr-portal-pix-card dl, .mhr-portal-pix-card .mhr-portal-inline-action { grid-column: 1; }
    .mhr-portal-pix-card dl { display: grid; gap: 6px; }
    .mhr-portal-download-grid { grid-template-columns: 1fr; }
    .mhr-portal-contract-head { align-items: flex-start; padding: 15px; }
    .mhr-portal-contract-actions { display: grid; padding: 13px 15px; }
    .mhr-portal-sign-form { padding: 15px; }
    .mhr-portal-form-grid { grid-template-columns: 1fr; }
    .mhr-portal-driver-main { grid-template-columns: 1fr; }
    .mhr-portal-driver-main > span, .mhr-portal-driver-main em { justify-self: start; }
    .mhr-portal-driver-slot-head { grid-template-columns: 31px 1fr; }
    .mhr-portal-driver-slot-head a { grid-column: 2; }
    .mhr-portal-checklist-readonly { grid-template-columns: 1fr; }
    .mhr-portal-support-card { display: block; }
    .mhr-portal-support-card a { display: block; margin-top: 14px; text-align: center; }
    .mhr-portal-receipt-grid > article { grid-template-columns: 38px 1fr; }
    .mhr-portal-receipt-grid form { grid-column: 1 / -1; }
    .mhr-portal-receipt-grid button { width: 100%; }
}

@media print {
    .mhr-client-portal-v2 { max-width: none; padding: 0; }
    .mhr-portal-sidebar, .mhr-portal-logout-form, .mhr-portal-hero-actions, .mhr-portal-next-action button, .mhr-portal-next-action-link, .mhr-portal-contact-button, .mhr-portal-upload-form, .mhr-portal-sign-form, .mhr-portal-contract-actions form, .mhr-portal-print-button, .mhr-portal-inline-action { display: none !important; }
    .mhr-portal-layout { display: block; border: 0; }
    .mhr-portal-content { padding: 0; }
    .mhr-portal-panel { display: block !important; page-break-before: auto; }
    .mhr-portal-panel + .mhr-portal-panel { margin-top: 30px; page-break-before: always; }
    .mhr-portal-card, .mhr-portal-contract-card, .mhr-portal-next-action { break-inside: avoid; box-shadow: none; }
}


/* v3.1.3 — bloqueio de ações e cancelamento contratual em pré-reservas expiradas */
.mhr-client-portal-v2 .mhr-portal-action-lock{display:flex;align-items:flex-start;gap:12px;margin:14px 0;padding:14px 16px;border:1px solid #fecaca;border-radius:14px;background:#fff7f7;color:#7f1d1d}
.mhr-client-portal-v2 .mhr-portal-action-lock>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:999px;background:#dc2626;color:#fff;font-weight:900;line-height:1}
.mhr-client-portal-v2 .mhr-portal-action-lock strong{display:block;margin:1px 0 4px;color:#991b1b;font-size:12px;line-height:1.25}
.mhr-client-portal-v2 .mhr-portal-action-lock p{margin:0;color:#7f1d1d;font-size:10px;line-height:1.45}
.mhr-client-portal-v2 .mhr-portal-contract-card.is-cancelled{border-color:#fecaca;background:#fffafa}
.mhr-client-portal-v2 .mhr-portal-contract-card.is-cancelled .mhr-portal-contract-head>div>span{background:#fee2e2;color:#b91c1c}
.mhr-client-portal-v2 .mhr-portal-contract-card.is-cancelled .mhr-portal-contract-head>strong{background:#fee2e2;color:#991b1b}
.mhr-client-portal-v2 .mhr-portal-signature-proof.is-cancelled{border-color:#fecaca;background:#fff7f7;color:#7f1d1d}
.mhr-client-portal-v2 .mhr-portal-readonly-drivers{display:grid;gap:9px;margin-top:12px}
.mhr-client-portal-v2 .mhr-portal-readonly-drivers>div{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}
.mhr-client-portal-v2 .mhr-portal-readonly-drivers>div>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#eef6ff;color:#0877cc;font-weight:900}
.mhr-client-portal-v2 .mhr-portal-readonly-drivers strong,.mhr-client-portal-v2 .mhr-portal-readonly-drivers small{display:block;line-height:1.35}
.mhr-client-portal-v2 .mhr-portal-readonly-drivers small{color:#64748b;font-size:9px}
.mhr-client-portal-v2 .mhr-portal-readonly-drivers a{font-size:9px;font-weight:800;text-decoration:none}

/* v3.3.3 — filtro independente para hero banner */
.mhr-as-hero {
    position: relative;
    z-index: 30;
    overflow: visible !important;
}

.mhr-as-hero .mhr-as-search-form,
.mhr-as-hero .mhr-as-toolbar,
.mhr-as-hero .mhr-as-control {
    overflow: visible !important;
}

.mhr-as-hero .mhr-as-toolbar-message:empty {
    display: none;
}

.mhr-as-hero .mhr-as-toolbar-message:not(:empty) {
    margin-bottom: 0;
}

.mhr-as-hero .mhr-as-toolbar {
    width: 100%;
}

@media (min-width: 981px) {
    .mhr-as-hero .mhr-as-toolbar {
        grid-template-columns: minmax(300px, 1.45fr) minmax(250px, 1fr) auto auto;
    }
}
