.vm-app {
	--vm-blue: #064d78;
	--vm-blue-dark: #073955;
	--vm-cyan: #08a1c2;
	--vm-ink: #162a36;
	--vm-muted: #61717b;
	--vm-line: #dce5e9;
	--vm-soft: #f2f7f9;
	--vm-selected: #f5b335;
	color: var(--vm-ink);
	font-size: 1rem;
}

.vm-booking-portal{max-width:1120px;margin:0 auto}.vm-portal-login{max-width:760px}.vm-portal-heading{align-items:flex-start;display:flex;gap:24px;justify-content:space-between}.vm-portal-heading h2{color:#073955;font-size:clamp(1.8rem,4vw,3rem);line-height:1.05;margin:.2rem 0}.vm-portal-reference{font-size:1.05rem}.vm-portal-status{background:#087958;border-radius:999px;color:#fff;font-weight:800;padding:.55rem .9rem;white-space:nowrap}.vm-portal-image{background:#eef5f7;border-radius:14px;display:block;height:auto;margin:1.5rem 0;max-height:480px;object-fit:contain;width:100%}.vm-portal-facts{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:1.5rem 0}.vm-portal-facts>div{background:#eef5f7;border-radius:12px;padding:14px 16px}.vm-portal-facts small{color:#536d79;display:block;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.vm-portal-facts strong{color:#073955;display:block;font-size:1.05rem;margin-top:3px}.vm-portal-columns{display:grid;gap:28px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.5rem}.vm-portal-columns h3,.vm-portal-cancel h3{color:#073955}.vm-portal-price{align-items:center;background:#073955;border-radius:12px;color:#fff;display:flex;font-size:1.1rem;justify-content:space-between;margin-top:1.5rem;padding:16px 18px}.vm-portal-price strong{font-size:1.35rem}.vm-portal-cancel{background:#f4f7f8;border-left:4px solid #08a1c2;border-radius:10px;margin:1.5rem 0;padding:16px 18px}.vm-portal-cancel h3{margin-top:0}@media(max-width:720px){.vm-portal-heading{display:block}.vm-portal-status{display:inline-block;margin-top:.5rem}.vm-portal-facts,.vm-portal-columns{grid-template-columns:1fr}}

.vm-portal-costs { margin-top: 1.75rem; }
.vm-portal-costs h3 { color: var(--vm-blue-dark); }
.vm-portal-cost-rows { border-radius: 12px; overflow: hidden; }
.vm-portal-cost-rows > div { align-items: center; display: flex; gap: 1rem; justify-content: space-between; padding: .8rem 1rem; }
.vm-portal-cost-rows > div:nth-child(even) { background: #f1f5f7; }
.vm-portal-cost-rows span { min-width: 0; }
.vm-portal-cost-rows small { color: var(--vm-muted); display: block; font-size: .78rem; margin-top: .15rem; }
.vm-portal-cost-rows strong { color: var(--vm-blue-dark); flex: 0 0 auto; white-space: nowrap; }
.vm-portal-cost-rows .is-discount strong { color: #087958; }
.vm-portal-cost-rows > div.is-total { background: #073955; color: #fff; font-size: 1.08rem; }
.vm-portal-cost-rows > div.is-total span,
.vm-portal-cost-rows > div.is-total strong { color: #fff; }
.vm-portal-cost-rows > div.is-total strong { font-size: 1.25rem; }
.vm-payment-box,.vm-payment-summary { background:#eef5f7;border:1px solid #cbdde4;border-radius:12px;margin-top:1.25rem;padding:1rem 1.1rem; }
.vm-payment-box h3,.vm-payment-summary h4 { color:var(--vm-blue-dark);font-size:1.08rem;margin:0 0 .75rem; }
.vm-payment-layout { align-items:start;display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr) auto; }
.vm-payment-schedule { display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr)); }
.vm-payment-schedule p { background:#fff;border-radius:9px;color:var(--vm-ink);display:flex;flex-direction:column;padding:.75rem .85rem; }
.vm-payment-schedule strong { color:var(--vm-blue-dark);font-size:1.15rem; }
.vm-payment-schedule span { color:var(--vm-muted);font-size:.8rem;margin-top:.15rem; }
.vm-payment-bank { color:var(--vm-ink)!important;font-size:.88rem;line-height:1.55;margin-top:.75rem!important; }
.vm-payment-reference { color:var(--vm-blue-dark);font-weight:800; }
.vm-payment-note { font-size:.78rem;margin-top:.55rem!important; }
.vm-payment-qr { background:#fff;border:8px solid #fff;border-radius:8px;display:block;height:190px;max-width:100%;width:190px; }
.vm-portal-change { border: 1px solid var(--vm-line); border-radius: 14px; margin: 1.75rem 0; overflow: hidden; }
.vm-portal-change > summary { align-items: center; background: var(--vm-blue); color: #fff; cursor: pointer; display: flex; font-size: 1.05rem; font-weight: 800; justify-content: space-between; list-style: none; padding: 1rem 1.2rem; }
.vm-portal-change > summary::-webkit-details-marker { display: none; }
.vm-portal-change > summary::after { content: '+'; font-size: 1.5rem; line-height: 1; }
.vm-portal-change[open] > summary::after { content: '−'; }
.vm-portal-change-body { padding: 1.2rem; }
.vm-portal-change-dates { display: grid; gap: .9rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vm-portal-change-dates label { color: var(--vm-blue-dark); display: grid; font-size: .86rem; font-weight: 700; gap: .4rem; min-width: 0; }
.vm-portal-change-options { border: 0; margin: 1.5rem 0 0; padding: 0; }
.vm-portal-change-options legend { color: var(--vm-blue-dark); font-size: 1rem; font-weight: 800; margin-bottom: .7rem; padding: 0; }
.vm-portal-choice-grid { display: grid; gap: .65rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vm-portal-choice { align-items: center; background: var(--vm-soft); border-radius: 10px; display: flex; gap: 1rem; justify-content: space-between; padding: .8rem .9rem; }
.vm-portal-choice strong, .vm-portal-choice small { display: block; }
.vm-portal-choice small { color: var(--vm-muted); font-size: .77rem; margin-top: .15rem; }
.vm-portal-choice label { align-items: center; display: flex; flex: 0 0 auto; font-size: .82rem; font-weight: 700; gap: .4rem; }
.vm-portal-choice input[type="number"] { min-height: 38px; padding: .35rem .5rem; width: 76px; }
.vm-portal-choice input[type="checkbox"] { min-height: auto; }
.vm-portal-change-submit { margin-top: 1rem; }
.vm-portal-change-locked { background: #fff8e8; border-left: 4px solid #e0a128; border-radius: 10px; margin: 1.5rem 0; padding: 16px 18px; }
.vm-portal-change-locked h3 { color: var(--vm-blue-dark); margin-top: 0; }

@media(max-width:900px) {
	.vm-portal-change-dates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media(max-width:620px) {
	.vm-portal-change-dates, .vm-portal-choice-grid { grid-template-columns: 1fr; }
	.vm-portal-choice { align-items: flex-start; flex-direction: column; }
	.vm-portal-cost-rows > div { align-items: flex-start; }
}

.vm-app *, .vm-app *::before, .vm-app *::after { box-sizing: border-box; }
.vm-app button, .vm-app input, .vm-app select, .vm-app textarea { font: inherit; }
.vm-intro { margin-bottom: 2rem; max-width: min(1200px, 100%); }
.vm-intro h1 { color: var(--vm-blue-dark); font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.05; margin: .2rem 0 1rem; }
.vm-eyebrow, .vm-type { color: var(--vm-cyan); font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.vm-panel { background: #fff; border: 1px solid var(--vm-line); border-radius: 18px; box-shadow: 0 10px 32px rgba(19, 53, 71, .07); margin: 0 0 2rem; padding: clamp(1rem, 3vw, 2rem); }
.vm-section-heading, .vm-results-heading { align-items: center; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1.2rem; }
.vm-section-heading > div:first-child, .vm-results-heading > div:first-child { align-items: center; display: flex; flex-wrap: nowrap; gap: .75rem; min-width: 0; }
.vm-app .vm-section-heading h2, .vm-app .vm-results-heading h2 { color: var(--vm-blue-dark); font-size: clamp(1.1rem, 2.2vw, 1.5rem); hyphens: none !important; margin: 0; overflow-wrap: normal !important; white-space: nowrap !important; word-break: normal !important; }
.vm-step { align-items: center; background: var(--vm-blue); border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 2.25rem; font-weight: 800; height: 2.25rem; justify-content: center; }
.vm-filter-grid, .vm-request-grid { display: grid; gap: 1rem; }
.vm-filter-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.vm-request-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vm-filter-grid label, .vm-request-grid label, .vm-time-row label { color: var(--vm-blue-dark); display: grid; font-size: .86rem; font-weight: 700; gap: .4rem; }
.vm-filter-grid > label { min-width: 0; }
.vm-filter-grid select { max-width: 100%; min-width: 0; width: 100%; }
.vm-app select, .vm-app input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), .vm-app textarea { background: #fff; border: 1px solid #a9bcc5; border-radius: 9px; color: var(--vm-ink); min-height: 44px; padding: .55rem .7rem; }
.vm-app input:focus, .vm-app select:focus, .vm-app textarea:focus, .vm-app button:focus-visible { outline: 3px solid rgba(8, 161, 194, .28); outline-offset: 2px; }
.vm-feature-filter { border: 0; margin: 1.5rem 0 0; padding: 0; }
.vm-feature-filter legend { color: var(--vm-blue-dark); font-size: .9rem; font-weight: 800; margin-bottom: .6rem; }
.vm-check-grid { display: flex; flex-wrap: wrap; gap: .4rem; }
.vm-check-grid label { align-items: center; background: var(--vm-soft); border: 1px solid transparent; border-radius: 999px; cursor: pointer; display: flex; font-size: .82rem; gap: .35rem; padding: .3rem .55rem; }
.vm-check-grid input { margin: 0; min-height: auto; }
.vm-check-grid label:has(input:checked) { background: #e2f5fa; border-color: var(--vm-cyan); }
.vm-feature-icon { min-width: 1em; text-align: center; }
.vm-link-button { background: none; border: 0; color: var(--vm-blue); cursor: pointer; padding: .3rem; text-decoration: underline; }
.vm-calendar-nav { display: flex; gap: .5rem; }
.vm-calendar-nav button { background: var(--vm-blue); border: 0; border-radius: 50%; color: #fff; cursor: pointer; font-size: 1.7rem; height: 2.5rem; line-height: 1; width: 2.5rem; }
.vm-calendar-nav button:disabled { cursor: not-allowed; opacity: .35; }
.vm-help, .vm-message { color: var(--vm-muted); }
.vm-message.is-error { color: #a32222; font-weight: 700; }
.vm-message.is-success { color: #156a38; font-weight: 700; }
.vm-short-notice { background: #fff5dd; border: 1px solid #e5c373; border-left: 5px solid #d88913; border-radius: 10px; color: #593b08; margin-top: 1rem; padding: .9rem 1rem; }
.vm-short-notice-text { font-weight: 700; line-height: 1.5; }
.vm-short-notice-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: .75rem; }
.vm-short-notice-actions:empty { display: none; }
.vm-short-notice-actions a { align-items: center; background: var(--vm-blue); border-radius: 8px; color: #fff; display: inline-flex; font-weight: 800; gap: .4rem; padding: .6rem .85rem; text-decoration: none; }
.vm-short-notice-actions a:hover,.vm-short-notice-actions a:focus { background: var(--vm-blue-dark); color: #fff; }
.vm-calendars { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1.2rem; }
.vm-month { border: 1px solid var(--vm-line); border-radius: 12px; padding: .75rem; }
.vm-month h3 { color: var(--vm-blue-dark); font-size: 1.05rem; margin: .15rem 0 .8rem; text-align: center; }
.vm-calendar-grid { display: grid; gap: .2rem; grid-template-columns: repeat(7, 1fr); }
.vm-weekday { color: var(--vm-muted); font-size: .7rem; font-weight: 800; padding: .25rem 0; text-align: center; text-transform: uppercase; }
.vm-day { aspect-ratio: 1; background: #eef8f4; border: 1px solid transparent; border-radius: 8px; color: var(--vm-ink); cursor: pointer; min-height: 34px; padding: .15rem; position: relative; }
.vm-day:hover:not(:disabled) { border-color: var(--vm-blue); }
.vm-day:disabled, .vm-day.is-past { background: #f1f2f3; color: #9ba5aa; cursor: not-allowed; }
.vm-day.is-partial { background: #fff8e8; }
.vm-day.is-price-request { background: repeating-linear-gradient(135deg, #eef3f5, #eef3f5 6px, #dfe9ed 6px, #dfe9ed 12px); }
.vm-day.is-price-mixed { box-shadow: inset 0 -4px 0 #8299a4; }
.vm-day.is-range { background: #08749a; border-color: #08749a; border-radius: 3px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); color: #fff; font-weight: 800; }
.vm-day.is-range .vm-day-capacity { color: #fff; }
.vm-day.is-selected, .vm-day.is-selected.is-range { background: var(--vm-selected); border: 2px solid var(--vm-blue-dark); border-radius: 8px; box-shadow: 0 0 0 2px rgba(7,57,85,.22); color: var(--vm-blue-dark); font-weight: 900; z-index: 1; }
.vm-day.is-selected .vm-day-capacity { color: var(--vm-blue-dark); }
.vm-day-capacity { bottom: 3px; color: var(--vm-blue); font-size: .58rem; left: 0; line-height: 1; position: absolute; right: 0; }
.vm-time-row { align-items: end; background: var(--vm-soft); border-radius: 12px; display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1rem; padding: 1rem; }
.vm-legend { color: var(--vm-muted); display: flex; flex-wrap: wrap; font-size: .8rem; gap: 1rem; margin-top: 1rem; }
.vm-dot { border-radius: 3px; display: inline-block; height: .8em; margin-right: .25rem; width: .8em; }
.vm-dot-free { background: #eef8f4; }.vm-dot-promotion { background:#fff1c7;border:1px solid #d99016; }.vm-dot-request { background: repeating-linear-gradient(135deg, #eef3f5, #eef3f5 3px, #bdccd2 3px, #bdccd2 6px); }.vm-dot-blocked { background: #e4e6e7; }.vm-dot-range { background: #08749a; }.vm-dot-selected { background: var(--vm-selected); border: 1px solid var(--vm-blue-dark); }
.vm-results-heading { margin: 2.5rem 0 1.2rem; }
.vm-results-heading p { color: var(--vm-muted); margin: 0; }
.vm-results-tools { align-items: end; display: flex; flex-wrap: wrap; gap: .7rem; justify-content: flex-end; }
.vm-results-tools label { color: var(--vm-blue-dark); display: grid; font-size: .75rem; font-weight: 700; gap: .2rem; }
.vm-results-tools select { min-height: 38px; padding: .35rem 2rem .35rem .55rem; }
.vm-seo-content, .vm-seo-faq { margin-top: 2.5rem; }
.vm-seo-content h2, .vm-seo-faq h2 { color: var(--vm-blue-dark); font-size: clamp(1.4rem, 3vw, 2rem); margin: 0 0 1rem; }
.vm-seo-content .vm-rich-text { color: #294d60; line-height: 1.75; max-width: 72rem; }
.vm-seo-faq-list { border-top: 1px solid var(--vm-line); }
.vm-seo-faq-list details { border-bottom: 1px solid var(--vm-line); padding: 0; }
.vm-seo-faq-list summary { color: var(--vm-blue-dark); cursor: pointer; font-weight: 800; list-style-position: outside; padding: 1rem .2rem; }
.vm-seo-faq-list details[open] summary { color: var(--vm-blue); }
.vm-seo-faq-list p { color: #294d60; line-height: 1.65; margin: -.25rem 0 1rem 1.3rem; max-width: 68rem; }
.vm-vehicles { display: grid; gap: 1.25rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vm-vehicle { background: #fff; border: 1px solid var(--vm-line); border-radius: 16px; box-shadow: 0 8px 25px rgba(19, 53, 71, .07); display: flex; flex-direction: column; overflow: hidden; }
.vm-vehicle[hidden] { display: none; }
.vm-vehicle-image { aspect-ratio: 16/10; background: var(--vm-soft); overflow: hidden; position: relative; }
.vm-vehicle-image { border: 0; cursor: pointer; display: block; padding: 0; width: 100%; }
.vm-vehicle-image img { height: 100%; object-fit: cover; width: 100%; }
.vm-image-modal { background: #101417; border: 0; height: min(780px, calc(100vh - 40px)); max-height: none; max-width: none; padding: 0; width: min(1160px, calc(100vw - 40px)); }
.vm-image-modal::backdrop { background: rgba(0,0,0,.9); }
.vm-image-modal img { display: block; height: 100%; object-fit: contain; width: 100%; }
.vm-image-modal-close, .vm-image-modal-nav { background: rgba(0,0,0,.6); border: 0; color: #fff; cursor: pointer; position: absolute; z-index: 2; }
.vm-image-modal-close { border-radius: 50%; font-size: 2rem; height: 44px; right: 14px; top: 14px; width: 44px; }
.vm-image-modal-nav { font-size: 3rem; height: 64px; top: 50%; transform: translateY(-50%); width: 44px; }
.vm-image-modal-nav.is-prev { left: 0; }.vm-image-modal-nav.is-next { right: 0; }
.vm-vehicle-body { display: flex; flex: 1; flex-direction: column; padding: 1.25rem; }
.vm-vehicle h3 { color: var(--vm-blue-dark); font-size: 1.4rem; margin: .15rem 0 .75rem; }
.vm-facts { display: flex; flex-wrap: wrap; font-size: .84rem; gap: .5rem .8rem; margin-bottom: .8rem; }
.vm-card-price { color: var(--vm-blue-dark); font-size: 1.05rem; font-weight: 800; margin: 0 0 .8rem; }
.vm-card-price strong, .vm-card-price small { display: block; }
.vm-card-price strong { font-size: 1.2rem; line-height: 1.25; }
.vm-card-price small { color: var(--vm-muted); font-size: .78rem; font-weight: 600; margin-top: .15rem; }
.vm-promotion-ribbon { background: #e45516; border-radius: 999px; box-shadow: 0 3px 12px rgba(68,29,6,.28); color: #fff; font-size: .78rem; font-weight: 900; left: .8rem; letter-spacing: .08em; padding: .42rem .72rem; position: absolute; text-transform: uppercase; top: .8rem; z-index: 1; }
.vm-promotion-banner { background: linear-gradient(135deg,#fff3c4,#ffe3a1); border: 1px solid #e3a62f; border-radius: 11px; color: #613706; display: grid; gap: .18rem; margin: 0 0 .9rem; padding: .75rem .85rem; }
.vm-promotion-banner strong { color: #8f2f05; font-size: 1rem; }
.vm-promotion-banner span { font-size: .82rem; font-weight: 800; }
.vm-promotion-banner small { font-size: .8rem; line-height: 1.4; }
.vm-promotion-detail { box-shadow: 0 8px 24px rgba(143,47,5,.12); margin-bottom: 1rem; }
.vm-promotion-detail .vm-promotion-kicker { color: #b33d08; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.vm-card-description { line-height: 1.55; margin-bottom: 1rem; }
.vm-card-description > :first-child, .vm-rich-text > :first-child { margin-top: 0; }
.vm-card-description > :last-child, .vm-rich-text > :last-child { margin-bottom: 0; }
.vm-capacity { color: #14623b; font-weight: 800; }
.vm-features { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; margin: .8rem 0 1.2rem; padding: 0; }
.vm-features li { background: var(--vm-soft); border-radius: 999px; font-size: .78rem; padding: .35rem .6rem; }
.vm-features li span { margin-right: .25rem; }
.vm-primary { align-items: center; background: var(--vm-blue); border: 0; border-radius: 9px; color: #fff; cursor: pointer; display: inline-flex; font-weight: 800; justify-content: center; margin-top: auto; min-height: 46px; padding: .65rem 1rem; text-align: center; text-decoration: none; }
.vm-primary:hover { background: var(--vm-blue-dark); color: #fff; text-decoration: none; }
.vm-primary:disabled { cursor: not-allowed; opacity: .55; }
.vm-empty { background: var(--vm-soft); border-radius: 12px; padding: 1.5rem; text-align: center; }
.vm-request { margin-top: 2rem; scroll-margin-top: 1rem; }
.vm-request-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 1rem; }
.vm-request-grid label { grid-template-columns:auto minmax(0,1fr); }
.vm-request-grid label > input,.vm-request-grid label > select,.vm-request-grid label > textarea { grid-column:1 / -1; }
.vm-request-grid .vm-wide { grid-column: 1 / -1; }
.vm-request-grid .vm-span-2 { grid-column: span 2; }
.vm-birthdate { border: 0; margin: 0; min-width: 0; padding: 0; }
.vm-birthdate legend { color: var(--vm-blue-dark); font-size: .86rem; font-weight: 700; margin-bottom: .4rem; padding: 0; }
.vm-birthdate > div { display: grid; gap: .4rem; grid-template-columns: minmax(58px,.7fr) minmax(100px,1.35fr) minmax(76px,.9fr); }
.vm-birthdate select { min-width: 0; width: 100%; }
.vm-consents { border: 0; display: grid; gap: .75rem; margin: 1.25rem 0; padding: 0; }
.vm-consents legend { color: var(--vm-blue-dark); font-size: 1.05rem; font-weight: 800; margin-bottom: .65rem; }
.vm-consent-item { background: var(--vm-soft); border: 1px solid var(--vm-line); border-radius: 12px; padding: .9rem 1rem; }
.vm-consent-content { color: var(--vm-ink); font-size: .9rem; line-height: 1.55; margin-bottom: .65rem; }
.vm-consent-content > :first-child { margin-top: 0; }
.vm-consent-content > :last-child { margin-bottom: 0; }
.vm-consent-row { align-items: flex-start; display: flex; flex-wrap: wrap; gap: .45rem 1rem; justify-content: space-between; }
.vm-consent { align-items: flex-start; color: var(--vm-blue-dark); display: flex; font-weight: 700; gap: .7rem; margin: 0; }
.vm-consent input { flex: 0 0 auto; height: 1.15rem; margin-top: .15rem; min-height: auto; width: 1.15rem; }
.vm-consent-open { background: transparent; border: 0; color: var(--vm-blue); cursor: pointer; font: inherit; padding: 0; text-decoration: underline; text-underline-offset: .15em; }
.vm-rental-terms { border: 1px solid var(--vm-line); border-radius: 12px; margin: 1.25rem 0; overflow: hidden; }
.vm-rental-terms summary { align-items: center; background: var(--vm-soft); color: var(--vm-blue-dark); cursor: pointer; display: flex; font-weight: 800; gap: .75rem; justify-content: space-between; list-style: none; padding: .9rem 1rem; }
.vm-rental-terms summary::-webkit-details-marker { display: none; }
.vm-rental-terms summary::after { align-items: center; background: var(--vm-blue); border-radius: 50%; color: #fff; content: '+'; display: inline-flex; flex: 0 0 22px; height: 22px; justify-content: center; line-height: 1; width: 22px; }
.vm-rental-terms[open] summary::after { content: '−'; }
.vm-rental-terms-content { animation: vm-price-slide .2s ease-out; border-top: 1px solid var(--vm-line); line-height: 1.65; padding: 1rem; }
.vm-rental-terms-content > :first-child { margin-top: 0; }
.vm-rental-terms-content > :last-child { margin-bottom: 0; }
.vm-required { color: #b42318; }
.vm-required-hint { align-items:flex-start;background:#fff5f3;border-left:4px solid #b42318;border-radius:8px;color:#6f1d16;display:flex;flex-wrap:wrap;font-size:.86rem;gap:.35rem 1rem;margin:.4rem 0 1rem;padding:.7rem .85rem; }
.vm-required-hint strong { color:#6f1d16; }
.vm-required-hint strong.is-complete { color:#087958; }
.vm-required-missing input,.vm-required-missing select { background-color:#fff8f7!important;border-color:#b42318!important;box-shadow:0 0 0 2px rgba(180,35,24,.12)!important; }
.vm-required-missing legend,.vm-required-missing:not(fieldset) { color:#8f241b!important; }
.vm-consent-modal { background: #fff; border: 0; border-radius: 18px; box-shadow: 0 24px 80px rgba(2,55,83,.28); color: var(--vm-ink); height: min(86vh,900px); max-height: min(86vh,900px); max-width: min(760px,calc(100vw - 2rem)); overflow: hidden; padding: 0; width: 100%; }
.vm-consent-modal[open] { display: grid; grid-template-rows: auto minmax(0,1fr) auto; }
.vm-consent-modal::backdrop { background: rgba(1,34,51,.62); backdrop-filter: blur(3px); }
.vm-consent-modal-header { align-items: center; border-bottom: 1px solid var(--vm-line); display: flex; gap: 1rem; justify-content: space-between; padding: 1.1rem 1.35rem; }
.vm-consent-modal-header h2 { color: var(--vm-blue-dark); font-size: clamp(1.15rem,3vw,1.55rem); margin: 0; }
.vm-consent-modal-header button { background: var(--vm-soft); border: 0; border-radius: 50%; color: var(--vm-blue-dark); cursor: pointer; font-size: 1.6rem; height: 2.4rem; line-height: 1; width: 2.4rem; }
.vm-consent-modal-content { line-height: 1.65; min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 1.35rem; touch-action: pan-y; -webkit-overflow-scrolling: touch; }
.vm-consent-modal-footer { border-top: 1px solid var(--vm-line); display: flex; justify-content: flex-end; padding: .9rem 1.35rem; }
html.vm-modal-open, html.vm-modal-open body { overflow: hidden; }
.vm-small { color: var(--vm-muted); font-size: .78rem; }
.vm-honeypot { height: 1px !important; left: -10000px !important; overflow: hidden !important; position: absolute !important; width: 1px !important; }

.vm-back-link { color: var(--vm-blue); display: inline-block; font-weight: 700; margin: 0 0 1.25rem; text-decoration: none; }
.vm-back-link:hover { text-decoration: underline; }
.vm-detail-hero { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, .8fr); margin-bottom: 2rem; overflow: hidden; }
.vm-detail-gallery { background: var(--vm-soft); min-width: 0; }
.vm-detail-gallery.is-single { display: flex; }
.vm-detail-main-image { aspect-ratio: 16/10; background: var(--vm-soft); border: 0; cursor: zoom-in; display: block; padding: 0; width: 100%; }
.vm-detail-gallery.is-single .vm-detail-main-image { aspect-ratio: auto; flex: 1 1 auto; min-height: clamp(360px, 48vw, 700px); }
.vm-detail-main-image img { display: block; height: 100%; object-fit: contain; width: 100%; }
.vm-detail-thumbs { display: grid; gap: .45rem; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: .55rem; }
.vm-detail-thumbs button { aspect-ratio: 4/3; background: #fff; border: 2px solid transparent; cursor: zoom-in; overflow: hidden; padding: 0; }
.vm-detail-thumbs button:hover, .vm-detail-thumbs button:focus-visible { border-color: var(--vm-cyan); }
.vm-detail-thumbs img { display: block; height: 100%; object-fit: cover; width: 100%; }
.vm-detail-placeholder { align-items: center; aspect-ratio: 16/10; color: var(--vm-muted); display: flex; justify-content: center; }
.vm-detail-summary { display: flex; flex-direction: column; padding: clamp(1.25rem, 3vw, 2.25rem); }
.vm-detail-summary h1 { color: var(--vm-blue-dark); font-size: clamp(2rem, 4vw, 3rem); line-height: 1.05; margin: .25rem 0 1rem; max-width: 100%; }
.vm-detail-summary h1.vm-fit-title { overflow-wrap: normal; word-break: normal; }
.vm-detail-price { color: var(--vm-blue); font-size: 1.75rem; font-weight: 900; margin: 0 0 1rem; }
.vm-detail-price span, .vm-detail-price small { color: var(--vm-muted); font-size: .8rem; font-weight: 600; }
.vm-detail-price.is-request { font-size: 1.2rem; }
.vm-detail-price-control { align-items: center; display: flex; flex-wrap: wrap; gap: .7rem 1rem; margin-bottom: 1rem; }
.vm-detail-price-control .vm-detail-price { margin: 0; }
.vm-price-overview { min-width: 0; }
.vm-price-overview[open] { flex: 1 1 100%; }
.vm-price-overview summary { align-items: center; background: transparent; border: 1px solid var(--vm-blue); border-radius: 8px; color: var(--vm-blue); cursor: pointer; display: inline-flex; font-size: .86rem; font-weight: 800; gap: .55rem; list-style: none; min-height: 38px; padding: .45rem .75rem; }
.vm-price-overview summary::-webkit-details-marker { display: none; }
.vm-price-overview summary::after { align-items: center; background: var(--vm-blue); border-radius: 50%; color: #fff; content: '+'; display: inline-flex; height: 20px; justify-content: center; line-height: 1; width: 20px; }
.vm-price-overview[open] summary::after { content: '−'; }
.vm-price-overview-content { animation: vm-price-slide .2s ease-out; margin-top: .7rem; overflow-x: auto; }
.vm-price-overview table { border-collapse: collapse; font-size: .84rem; width: 100%; }
.vm-price-overview th, .vm-price-overview td { border-bottom: 1px solid var(--vm-line); padding: .55rem .65rem; text-align: left; vertical-align: top; }
.vm-price-overview th { background: var(--vm-soft); color: var(--vm-blue-dark); }
.vm-price-overview th:last-child, .vm-price-overview td:last-child { text-align: right; white-space: nowrap; }
.vm-price-overview td small { color: var(--vm-muted); display: block; margin-top: .15rem; }
.vm-price-overview tr.is-initial td { background: #fff8e8; font-weight: 800; }
.vm-price-overview tr.is-promotion td { background: #fff1ca; color: #713808; }
.vm-price-overview tr.is-base td { font-weight: 800; }
.vm-price-overview-content > p { color: var(--vm-muted); font-size: .74rem; margin: .6rem 0 0; }
.vm-detail .vm-day-capacity { font-size: .62rem; font-weight: 800; }
.vm-day.is-promotion:not(.is-range):not(.is-selected) { background: #fff1c7; border-color: #d99016; box-shadow: inset 0 4px 0 #e45516; }
.vm-day.is-promotion:not(.is-range):not(.is-selected) .vm-day-capacity { color: #9a3c08; font-weight: 900; }
.vm-day.is-promotion.is-range { box-shadow: inset 0 4px 0 #ffc34c, inset 0 0 0 1px rgba(255,255,255,.18); }
@keyframes vm-price-slide { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
.vm-detail-facts { display: grid; gap: .6rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 1rem; }
.vm-detail-facts > span { background: var(--vm-soft); border-radius: 10px; padding: .7rem; }
.vm-detail-facts b { color: var(--vm-blue-dark); font-size: 1.35rem; }
.vm-detail-feature-preview { display: grid; gap: .45rem; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 0 0 1.4rem; padding: 0; }
.vm-detail-feature-preview li { align-items: center; display: flex; font-size: .86rem; gap: .45rem; }
.vm-detail-description { margin: 0 0 2rem; }
.vm-detail-description h2 { color: var(--vm-blue-dark); font-size: 1.5rem; }
.vm-detail-description .vm-rich-text { line-height: 1.7; }
.vm-option-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vm-option-card { border: 1px solid var(--vm-line); border-radius: 13px; display: grid; grid-template-columns: 150px minmax(0, 1fr); min-width: 0; overflow: hidden; }
.vm-option-card.is-mandatory { border-color: var(--vm-cyan); }
.vm-option-card.is-unavailable { background: #f4f5f6; opacity: .72; }
.vm-option-card > img { background: var(--vm-soft); height: 100%; min-height: 160px; object-fit: contain; width: 100%; }
.vm-option-body { display: flex; flex-direction: column; gap: .65rem; padding: 1rem; }
.vm-option-body:only-child { grid-column: 1 / -1; }
.vm-option-body h3 { color: var(--vm-blue-dark); font-size: 1.1rem; margin: 0 0 .25rem; }
.vm-option-price { color: var(--vm-blue); font-size: .9rem; font-weight: 800; margin: 0; }
.vm-option-stock { color: var(--vm-muted); font-size: .82rem; font-weight: 700; margin: 0; }
.vm-option-card.is-unavailable .vm-option-stock { color: #9d2933; }
.vm-option-description { color: var(--vm-muted); font-size: .88rem; line-height: 1.5; }
.vm-option-description > :last-child { margin-bottom: 0; }
.vm-option-control { margin-top: auto; }
.vm-option-control label { align-items: center; color: var(--vm-blue-dark); display: flex; font-size: .88rem; font-weight: 800; gap: .55rem; }
.vm-option-control input[type="checkbox"] { flex: 0 0 auto; min-height: auto; }
.vm-option-control input[type="number"] { max-width: 90px; }
.vm-request-trigger { margin-top: 1.25rem; }
.vm-price-summary { background: #edf8f4; border: 1px solid #b9ddcc; border-radius: 12px; margin-top: 1.25rem; padding: 1rem; }
.vm-price-summary.is-error { background: #fff0f0; border-color: #e3b4b4; color: #8d2020; }
.vm-price-summary h3 { color: var(--vm-blue-dark); font-size: 1.25rem; margin: 0 0 .45rem; }
.vm-price-summary p { color: var(--vm-muted); margin: 0; }
.vm-price-summary .vm-price-request-notice { color: var(--vm-ink); font-weight: 700; margin-top: .8rem; }
.vm-price-summary .vm-discount-hint,.vm-card-discount-hint { background: #edf8e8; border-left: 4px solid #4f8b2d; color: #31561f; font-weight: 700; margin-top: .8rem; padding: .7rem .9rem; }
.vm-price-summary ul { margin: .8rem 0 0; padding-left: 1.2rem; }
.vm-price-summary .vm-promotion-price-line { color: #8f2f05; font-weight: 700; }
.vm-price-summary .vm-promotion-saving { background: #fff1c7; border-radius: 8px; color: #8f2f05; font-weight: 900; list-style-position: inside; margin: .6rem 0 0 -1.2rem; padding: .55rem .7rem; }
.vm-portal-cost-rows > .is-promotion { background: #fff1ca; color: #713808; }
.vm-portal-cost-rows > .is-promotion-saving { background: #e45516; color: #fff; font-weight: 900; }
.vm-deposit-summary { background: #fff8e8; border: 1px solid #ead39a; border-radius: 10px; margin-top: 1rem; padding: .85rem 1rem; }
.vm-price-summary .vm-deposit-summary h4 { color: var(--vm-blue-dark); font-size: 1.05rem; margin: 0 0 .55rem; }
.vm-price-summary .vm-deposit-item > p { color: var(--vm-ink); font-weight: 800; }
.vm-deposit-item + .vm-deposit-item { border-top: 1px solid #eadcb8; margin-top: .65rem; padding-top: .65rem; }
.vm-deposit-description { color: var(--vm-muted); font-size: .88rem; line-height: 1.5; margin-top: .35rem; }
.vm-deposit-description > :first-child { margin-top: 0; }.vm-deposit-description > :last-child { margin-bottom: 0; }
.vm-price-summary .vm-deposit-note { color: var(--vm-muted); font-size: .78rem; margin-top: .65rem; }

@media (max-width: 960px) {
	.vm-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vm-calendars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vm-vehicles { grid-template-columns: 1fr; }
	.vm-detail-hero, .vm-option-grid { grid-template-columns: 1fr; }
	.vm-month { max-width: 520px; width: 100%; }
}

@media (max-width: 600px) {
	.vm-payment-layout,.vm-payment-schedule { grid-template-columns:1fr; }
	.vm-payment-qr { height:auto;margin:0 auto;width:min(220px,100%); }
	.vm-section-heading, .vm-results-heading { align-items: flex-start; flex-direction: column; }
	.vm-app .vm-section-heading h2, .vm-app .vm-results-heading h2 { font-size: clamp(.9rem, 4.2vw, 1.15rem); }
	.vm-results-tools { justify-content: flex-start; width: 100%; }
	.vm-filter-grid, .vm-request-grid { grid-template-columns: minmax(0, 1fr); }
	.vm-request-grid .vm-span-2 { grid-column: auto; }
	.vm-calendars { grid-template-columns: 1fr; }
	.vm-calendar-nav { align-self: flex-end; margin-top: -3rem; }
	.vm-time-row { align-items: stretch; flex-direction: column; }
	.vm-detail-facts, .vm-detail-feature-preview { grid-template-columns: 1fr; }
	.vm-option-card { grid-template-columns: 100px minmax(0, 1fr); }
	.vm-detail-gallery.is-single .vm-detail-main-image { min-height: 260px; }
}
.vm-option-subheading{color:#063f60;font-size:1.2rem;margin:1.75rem 0 .35rem}
