/* Nomad Camper - VikRentCar booking views (fleet, results, vehicle, extras, checkout, order).
   Brand: YOOtheme Trek white-orange, Oswald (display) + Roboto (text). Loaded only on these views.
   System: DESIGN.md in the site root. */

/* ===== Tokens ===== */
:root {
	--nmd-ink: #1c1c1a;          /* site header charcoal: shell blocks, text */
	--nmd-ink-2: #4f4d48;        /* secondary text, 8:1 on white */
	--nmd-ink-3: #75726b;        /* tertiary text, 4.7:1 on white */
	--nmd-ink-4: #b9b6af;        /* disabled / past days */
	--nmd-on-dark-2: #c9c6bf;    /* secondary text on charcoal */
	--nmd-line: #e3e1dc;
	--nmd-line-strong: #cfccc5;  /* input borders, hover rules */
	--nmd-ground: #f4f3f0;
	--nmd-brand: #f9591e;        /* brand orange: marks only (dots, mountain, current step, focus) */
	--nmd-cta: #cf4510;          /* action fill, 4.6:1 with white */
	--nmd-cta-hover: #b03a0c;
	--nmd-warn-bg: #fbd9c9;      /* partially reserved day */
	--nmd-warn-line: #f2b79c;
	--nmd-warn-ink: #6e2406;
	--nmd-promo-bg: #fff1ea;
	--nmd-promo-ink: #8a2d07;
	--nmd-ok: #1d6b3a;           /* order status */
	--nmd-ok-bg: #f1f8f3;
	--nmd-ok-line: #b7d8c2;
	--nmd-pending: #b45309;
	--nmd-pending-bg: #fdf6ec;
	--nmd-pending-line: #f1d3a8;
	--nmd-cancel: #a1261b;
	--nmd-cancel-bg: #fbf0ef;
	--nmd-cancel-line: #ecc0bb;
	--nmd-display: Oswald, "Arial Narrow", sans-serif;
	--nmd-text: Roboto, "Helvetica Neue", Arial, sans-serif;
	--nmd-ease: cubic-bezier(.16, 1, .3, 1);
	--nmd-shadow-float: 0 18px 40px -26px rgba(28, 28, 26, .4);
	--nmd-shadow-hover: 0 10px 28px -14px rgba(28, 28, 26, .28);
	--nmd-shadow-bar: 0 -10px 30px -12px rgba(28, 28, 26, .45);
	--nmd-sticky-top: 120px;     /* below the sticky site header */
	--nmd-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%231c1c1a' stroke-width='1.5'/%3E%3C/svg%3E");
}

/* the theme sets body { overflow: hidden }, which makes body the scroll box and breaks
   position: sticky; clip keeps the horizontal cut without creating a scroll container */
body:has(.nmd) { overflow: visible !important; overflow-x: clip !important; }

.nmd {
	color: var(--nmd-ink);
	font-family: var(--nmd-text);
	font-weight: 300;
}
.nmd *, .nmd *::before, .nmd *::after { box-sizing: border-box; }
.nmd ::selection { background: var(--nmd-brand); color: #fff; }
.nmd a { color: inherit; }
.nmd :focus-visible { outline: 2px solid var(--nmd-brand); outline-offset: 3px; }
.nmd-icon { display: block; width: 20px; height: 20px; }

/* ===== Shared type and controls ===== */
.nmd-card-title {
	margin: 0;
	font-family: var(--nmd-display);
	font-weight: 500;
	font-size: 24px;
	line-height: 1.15;
	letter-spacing: .03em;
	text-transform: uppercase;
}
.nmd-card-title a { text-decoration: none; }
.nmd-card-title a:hover { color: var(--nmd-cta); }
.nmd-cd-h {
	margin: 0 0 16px;
	font-family: var(--nmd-display);
	font-weight: 500;
	font-size: 22px;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.nmd-price-lines { display: flex; flex-direction: column; gap: 2px; }
.nmd-price-label { font-size: 13px; color: var(--nmd-ink-3); }
.nmd-price-was { font-size: 15px; color: var(--nmd-ink-3); }
.nmd-price-total {
	font-family: var(--nmd-display);
	font-weight: 500;
	font-size: 32px;
	line-height: 1.1;
	letter-spacing: -.01em;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.nmd-price-total .vrc_currency { margin-right: 2px; font-size: .6em; font-weight: 400; letter-spacing: .04em; }
.nmd-price-day { font-size: 14px; color: var(--nmd-ink-2); font-variant-numeric: tabular-nums; }
.nmd-price-day .vrc_price { font-weight: 500; color: var(--nmd-ink); }

.nmd .nmd-btn {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0 18px;
	border: 0;
	border-radius: 0;
	background: var(--nmd-cta);
	color: #fff;
	font-family: var(--nmd-display);
	font-weight: 500;
	font-size: 15px;
	line-height: 48px;
	letter-spacing: .16em;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s, transform .1s ease-out;
}
.nmd .nmd-btn:hover { background: var(--nmd-cta-hover); color: #fff; }
.nmd .nmd-btn:active { transform: scale(.98); }
.nmd .nmd-btn:disabled { opacity: .55; cursor: progress; }
.nmd-link {
	font-size: 14px;
	text-align: center;
	color: var(--nmd-ink-2) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: var(--nmd-line);
}
.nmd-link:hover { color: var(--nmd-ink) !important; text-decoration-color: var(--nmd-brand); }

/* outlined select: availability month */
.nmd-cd .vrcselectm {
	appearance: none;
	-webkit-appearance: none;
	height: 40px;
	min-width: 96px;
	padding: 0 36px 0 12px;
	border: 1px solid var(--nmd-ink);
	border-radius: 0;
	background: #fff var(--nmd-chevron) no-repeat right 12px center;
	font-family: var(--nmd-display);
	font-size: 15px;
	letter-spacing: .06em;
	color: var(--nmd-ink);
	cursor: pointer;
}

/* ===== Steps ===== */
.nmd-steps {
	display: flex;
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
	font-family: var(--nmd-display);
	font-weight: 400;
	font-size: 13px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--nmd-ink-3);
}
.nmd-steps li { flex: 1; display: flex; align-items: center; gap: 10px; margin: 0; padding: 12px 0; border-bottom: 2px solid var(--nmd-line); }
.nmd-steps li > a { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.nmd-steps li > a:hover { color: var(--nmd-ink); }
.nmd-step-n { display: inline-grid; place-items: center; width: 24px; height: 24px; border: 1px solid currentColor; border-radius: 50%; font-size: 12px; letter-spacing: 0; }
.nmd-steps .is-done { color: var(--nmd-ink-2); border-bottom-color: var(--nmd-ink); }
.nmd-steps .is-current { color: var(--nmd-ink); border-bottom-color: var(--nmd-brand); }
.nmd-steps .is-current .nmd-step-n { background: var(--nmd-brand); border-color: var(--nmd-brand); color: #fff; }

/* ===== Trip bar: pick-up - road - drop-off ===== */
.nmd-trip {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(140px, 1.1fr) minmax(0, 1fr) auto;
	align-items: center;
	gap: 28px;
	margin-bottom: 28px;
	padding: 22px 28px;
	background: var(--nmd-ink);
	color: #fff;
}
.nmd-trip-end { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.nmd-trip-end--drop { text-align: right; }
.nmd-trip-label { font-family: var(--nmd-display); font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--nmd-brand); }
.nmd-trip-place { font-family: var(--nmd-display); font-weight: 400; font-size: 20px; line-height: 1.2; letter-spacing: .02em; color: #fff; text-wrap: balance; }
.nmd-trip-place small { display: block; margin-top: 2px; font-family: var(--nmd-text); font-weight: 300; font-size: 13px; letter-spacing: 0; color: var(--nmd-on-dark-2); }
.nmd-trip-when { font-size: 15px; color: var(--nmd-on-dark-2); font-variant-numeric: tabular-nums; }
.nmd-trip-road { position: relative; display: grid; place-items: center; height: 44px; }
.nmd-trip-line {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 0;
	border-top: 2px dashed rgba(255, 255, 255, .35);
	transform-origin: left center;
	animation: nmd-road 1.1s var(--nmd-ease) both;
}
.nmd-trip-line::before,
.nmd-trip-line::after { content: ""; position: absolute; top: -6px; width: 10px; height: 10px; border-radius: 50%; background: var(--nmd-brand); }
.nmd-trip-line::before { left: -5px; }
.nmd-trip-line::after { right: -5px; }
.nmd-trip-days {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px;
	background: var(--nmd-ink);
	font-family: var(--nmd-display);
	font-size: 14px;
	letter-spacing: .14em;
	text-transform: uppercase;
	white-space: nowrap;
	animation: nmd-rise .7s .45s var(--nmd-ease) both;
}
.nmd-mountain { width: 22px; height: 18px; fill: var(--nmd-brand); }
.nmd-trip-change {
	padding: 10px 16px;
	border: 1px solid rgba(255, 255, 255, .45);
	font-family: var(--nmd-display);
	font-size: 13px;
	letter-spacing: .16em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	color: #fff !important;
	transition: border-color .2s, background-color .2s, transform .1s ease-out;
}
.nmd-trip-change:hover { border-color: #fff; background: rgba(255, 255, 255, .08); }
.nmd-trip-change:active { transform: scale(.98); }
@keyframes nmd-road { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes nmd-rise { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* ===== Toolbar + currency converter (browse pages only) ===== */
.nmd-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	margin-bottom: 20px;
	padding: 18px 0;
	border-bottom: 1px solid var(--nmd-line);
}
.nmd-count { margin: 0; font-size: 15px; color: var(--nmd-ink-2); }
.nmd-count strong { font-weight: 500; color: var(--nmd-ink); }
.nmd-list-title { margin: 0; font-family: var(--nmd-display); font-weight: 400; font-size: 28px; letter-spacing: .04em; text-transform: uppercase; }
.nmd-list-descr { max-width: 70ch; margin: -8px 0 20px; color: var(--nmd-ink-2); }
.nmd-currency { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px 12px; margin-left: auto; }
/* the label stays for assistive tech (aria-labelledby); the currency codes + note carry the meaning */
.nmd-currency-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
/* segmented switch: every option visible, the active one filled */
.nmd-currency-seg { display: inline-flex; border: 1px solid var(--nmd-ink); background: #fff; }
.nmd-currency-seg button {
	min-width: 52px;
	height: 36px;
	margin: 0;
	padding: 0 12px;
	border: 0;
	border-left: 1px solid var(--nmd-line-strong);
	border-radius: 0;
	background: #fff;
	font-family: var(--nmd-display);
	font-weight: 500;
	font-size: 13px;
	letter-spacing: .12em;
	color: var(--nmd-ink-2);
	cursor: pointer;
	transition: background-color .15s, color .15s;
}
.nmd-currency-seg button:first-child { border-left: 0; }
.nmd-currency-seg button:hover { background: var(--nmd-ground); color: var(--nmd-ink); }
.nmd-currency-seg button[aria-pressed="true"] { background: var(--nmd-ink); color: #fff; cursor: default; }
.nmd-currency-seg button:focus-visible { outline: 2px solid var(--nmd-brand); outline-offset: -2px; }
/* the stock converter stays in the DOM (its script does the conversion) but is not shown */
.nmd-currency-module { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.nmd-currency-note { flex-basis: 100%; margin: 0; text-align: right; font-size: 12px; color: var(--nmd-ink-3); }
.nmd.is-converted .nmd-currency-note { color: var(--nmd-warn-ink); }
/* converted amounts are estimates: mark every one of them */
.nmd.is-converted .vrc_currency::before { content: "\2248\00a0"; }
.nmd .vrc_converting { display: inline-block; min-width: 3ch; opacity: .35; }

/* ===== Result cards (fleet, search): photo | details | price ===== */
.nmd-results { display: flex; flex-direction: column; gap: 16px; }
.nmd-card {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr) 240px;
	background: #fff;
	border: 1px solid var(--nmd-line);
	transition: border-color .25s, box-shadow .25s var(--nmd-ease);
}
.nmd-card:hover { border-color: var(--nmd-line-strong); box-shadow: var(--nmd-shadow-hover); }
.nmd-card-media { display: block; overflow: hidden; background: var(--nmd-ground); }
.nmd-card-media img { display: block; width: 100%; height: 100%; min-height: 220px; object-fit: cover; transition: transform .6s var(--nmd-ease); }
.nmd-card:hover .nmd-card-media img { transform: scale(1.03); }
.nmd-card-body { container-type: inline-size; display: flex; flex-direction: column; gap: 12px; min-width: 0; padding: 22px 26px; }
.nmd-card-desc {
	display: -webkit-box;
	max-width: 70ch;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	font-size: 15px;
	line-height: 1.6;
	color: var(--nmd-ink-2);
}
.nmd-card-desc p { margin: 0; }
.nmd-features {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 8px 20px;
	margin: 4px 0 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
	line-height: 1.35;
	color: var(--nmd-ink);
}
@container (max-width: 420px) {
	.nmd-card .nmd-features { grid-template-columns: 1fr; }
}
.nmd-features li { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 0; }
.nmd-feature-icon { flex: 0 0 18px; display: inline-grid; place-items: center; height: 18px; color: var(--nmd-ink-2); }
.nmd-feature-icon i { font-size: 14px; }
.nmd-feature-icon img { max-width: 18px; max-height: 18px; }
.nmd-features-more { font-size: 13px; color: var(--nmd-ink-3); }
.nmd-promo { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; background: var(--nmd-promo-bg); color: var(--nmd-promo-ink); font-size: 14px; }
.nmd-card-price {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 18px;
	padding: 22px 24px;
	border-left: 1px solid var(--nmd-line);
	background: var(--nmd-ground);
	text-align: right;
}
.nmd-card-actions { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
.nmd-card-actions form { margin: 0; }

/* ===== Vehicle (cardetails) ===== */
.nmd-cd { display: flex; flex-direction: column; gap: 28px; padding-bottom: 24px; }
.nmd-cd-main { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
.nmd-cd-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 24px; }
.nmd-cd-title { margin: 0; font-family: var(--nmd-display); font-weight: 500; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.05; letter-spacing: .01em; text-transform: uppercase; }
.nmd-cd-head .nmd-currency { max-width: 420px; }

/* gallery: one large photo + up to four tiles */
.nmd-gallery { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: repeat(2, 230px); gap: 8px; }
.nmd-gallery a { position: relative; display: block; overflow: hidden; background: var(--nmd-ground); }
.nmd-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--nmd-ease); }
.nmd-gallery a:hover img { transform: scale(1.04); }
.nmd-gallery-main { grid-row: 1 / -1; }
.nmd-gallery .is-hidden { display: none; }
.nmd-gallery--0 { grid-template-columns: 1fr; grid-template-rows: 460px; }
.nmd-gallery--1,
.nmd-gallery--2 { grid-template-columns: 2fr 1fr; }
.nmd-gallery--1 .nmd-gallery-thumb,
.nmd-gallery--3 .nmd-gallery-thumb:first-of-type { grid-row: 1 / -1; }
.nmd-gallery-more { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(28, 28, 26, .55); color: #fff; font-family: var(--nmd-display); font-size: 28px; letter-spacing: .04em; }

.nmd-cd-section { padding-top: 28px; border-top: 1px solid var(--nmd-line); }
.nmd-cd-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 380px); align-items: start; gap: 28px 64px; }
.nmd-cd-feats { padding: 24px; background: var(--nmd-ground); }
.nmd-cd-feats .nmd-cd-h { margin-bottom: 14px; font-size: 20px; }
.nmd-cd .nmd-features { grid-template-columns: 1fr; gap: 12px; margin: 0; font-size: 15px; }
.nmd-cd-desc { font-size: 16px; line-height: 1.7; color: var(--nmd-ink-2); }
.nmd-cd-desc p { max-width: 70ch; margin: 0 0 1em; }
.nmd-cd-desc p:last-child { margin-bottom: 0; }

/* availability: stock VikRentCar calendars, restyled */
.nmd-cd .vrc-cardetails-legend { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin: 0 0 16px; padding: 0; background: none; border: 0; }
.nmd-cd .vrc-cardetails-legend form { margin: 0; }
.nmd-cd .vrclegendediv { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0; font-size: 14px; color: var(--nmd-ink-2); }
.nmd-cd .vrclegenda { display: inline-flex; align-items: center; gap: 8px; margin: 0; white-space: nowrap; }
/* swatches are squares like the day cells (the stock sheet draws circles) */
.nmd-cd .vrclegenda > span:first-child { display: inline-block; width: 16px; height: 16px; border: 1px solid transparent; border-radius: 0 !important; }
.nmd-cd .vrclegfree { background: var(--nmd-ground) !important; border-color: var(--nmd-line-strong) !important; }
.nmd-cd .vrclegwarning { background: var(--nmd-warn-bg) !important; border-color: var(--nmd-warn-line) !important; }
.nmd-cd .vrclegbusy { background: var(--nmd-ink) !important; border-color: var(--nmd-ink) !important; }
.nmd-cd .vrc-avcals-container { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; margin: 0; overflow: visible; }
/* each month is a framed panel, so the three read as separate sheets, not one field of boxes */
.nmd-cd .vrccaldivcont { width: auto !important; margin: 0; padding: 18px 14px 14px; float: none; background: #fff; border: 1px solid var(--nmd-line) !important; }
.nmd-cd table.vrccal { width: 100%; margin: 0; border: 0; border-collapse: separate; border-spacing: 2px; background: none; table-layout: fixed; }
.nmd-cd .vrccal td { padding: 0; border: 0 !important; font-size: 14px; line-height: 1; font-variant-numeric: tabular-nums; vertical-align: middle; }
.nmd-cd .vrccal tr:first-child td { padding: 0 0 12px; background: none !important; font-family: var(--nmd-display); font-size: 17px; letter-spacing: .08em; text-transform: uppercase; color: var(--nmd-ink); }
.nmd-cd .vrccal tr:first-child strong { font-weight: 500; }
.nmd-cd .vrccaldays td { padding: 0 0 8px; background: none !important; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--nmd-ink-3); }
.nmd-cd .vrccal td.vrctdfree,
.nmd-cd .vrccal td.vrctdwarning,
.nmd-cd .vrccal td.vrctdbusy { height: 38px; }
/* free = solid Camp Ground tile, partial = warm tile, busy = charcoal tile, past = bare grey number */
.nmd-cd .vrccal td.vrctdfree:not(.vrctdpast) { background: var(--nmd-ground) !important; color: var(--nmd-ink) !important; font-weight: 500; box-shadow: none; }
.nmd-cd .vrccal td.vrctdwarning { background: var(--nmd-warn-bg) !important; color: var(--nmd-warn-ink) !important; font-weight: 500; box-shadow: none !important; }
.nmd-cd .vrccal td.vrctdbusy,
.nmd-cd .vrccal td.vrctdbusy.vrctdbusyforcheckin,
.nmd-cd .vrccal td.vrctdbusy.vrctdbusycheckout { background: var(--nmd-ink) !important; color: #fff !important; box-shadow: none !important; }
.nmd-cd .vrccal td.vrctdbusy span,
.nmd-cd .vrccal td.vrctdbusy a { color: #fff !important; }
.nmd-cd .vrccal td.vrctdpast { background: transparent !important; color: var(--nmd-ink-4) !important; font-weight: 300; box-shadow: none !important; }
.nmd-cd .vrccal td .vrc-cdetails-cal-pickday { display: grid; place-items: center; width: 100%; height: 38px; cursor: pointer; transition: background-color .15s, color .15s, transform .1s ease-out; }
.nmd-cd td:not(.vrctdpast):not(.vrctdbusy) > .vrc-cdetails-cal-pickday:hover { background: var(--nmd-brand); color: #fff; }
.nmd-cd td:not(.vrctdpast):not(.vrctdbusy) > .vrc-cdetails-cal-pickday:active { transform: scale(.94); }

/* ===== Booking bar (vehicle page): fixed to the bottom, Nomad Search inside ===== */
body:has(.nmd-bar) { --nmd-bar-h: 112px; padding-bottom: var(--nmd-bar-h); }
/* third-party floating buttons (Crisp chat, iubenda cookie preferences) sit above any fixed bottom bar
   of the funnel (vehicle bar here; extras and checkout bars in the 960px block), and step aside
   while the phone booking sheet or a date picker is open. iubenda ships !important rules at (0,4,0),
   hence the doubled selectors. */
body:has(.nmd-bar) #crisp-chatbox [data-maximized="false"] { bottom: calc(var(--nmd-bar-h) + 14px) !important; }
body:has(.nmd-bar) .iubenda-tp-btn.iubenda-tp-btn[data-tp-float][data-tp-float] { bottom: calc(var(--nmd-bar-h) + 16px) !important; }
body:has(.nmd-bar.is-open, .litepicker[style*="display: block"]) .crisp-client,
body:has(.nmd-bar.is-open, .litepicker[style*="display: block"]) .iubenda-tp-btn.iubenda-tp-btn[data-tp-float][data-tp-float] { display: none !important; }
.nmd-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 980;
	padding: 14px 24px;
	background: var(--nmd-ink);
	box-shadow: var(--nmd-shadow-bar);
	animation: nmd-bar-in .5s var(--nmd-ease) both;
}
@keyframes nmd-bar-in { from { transform: translateY(100%); } to { transform: none; } }
.nmd-bar-inner { display: flex; align-items: center; gap: 22px; max-width: 1200px; margin: 0 auto; } /* = theme container content width */
/* sits on the field row (58px), not centred on fields + drop-off option */
.nmd-bar-price { flex: 0 0 auto; align-self: flex-start; display: flex; flex-direction: column; justify-content: center; min-height: 58px; line-height: 1.15; color: #fff; }
.nmd-bar-price .nmd-price-label,
.nmd-bar-price .nmd-price-day { font-size: 12px; color: var(--nmd-on-dark-2); }
.nmd-bar-price .nmd-price-total { font-size: 28px; }
.nmd .nmd-bar-open,
.nmd .nmd-bar-close { display: none; }
.nmd-bar-form { flex: 1 1 auto; min-width: 0; }

/* Nomad Search, recoloured: white segments on the charcoal band, ember button */
:is(.nmd-bar, .nmd-nores-search) .nomad-rental-container { margin: 0; padding: 0; background: none; border: 0; box-shadow: none; }
:is(.nmd-bar, .nmd-nores-search) .nomad-search-bar { margin: 0; padding: 0; gap: 0; background: none; border-radius: 0; box-shadow: none; font-family: var(--nmd-text); }
:is(.nmd-bar, .nmd-nores-search) .nomad-search-fields { gap: 1px; background: var(--nmd-line); }
:is(.nmd-bar, .nmd-nores-search) .nomad-search-field { border-radius: 0; background: #fff; }
:is(.nmd-bar, .nmd-nores-search) .nomad-search-field:hover,
:is(.nmd-bar, .nmd-nores-search) .nomad-search-field:focus-within { background: var(--nmd-ground); outline: 0; }
:is(.nmd-bar, .nmd-nores-search) .nomad-field-trigger { min-height: 58px; padding: 8px 14px; }
:is(.nmd-bar, .nmd-nores-search) .nomad-search-fields { min-width: 0; }
:is(.nmd-bar, .nmd-nores-search) .nomad-search-fields.single-location .nomad-pickup-location { flex: 1.3 1 170px; min-width: 0; }
/* "drop off at different location": Nomad's flex: 1 (zero basis) crushed both places next to the date fields */
:is(.nmd-bar, .nmd-nores-search) .nomad-search-fields:not(.single-location) :is(.nomad-pickup-location, .nomad-dropoff-location) { flex: 1 1 150px; min-width: 0; }
:is(.nmd-bar, .nmd-nores-search) .nomad-date-field { flex: 1 1 150px; min-width: 0; }
:is(.nmd-bar, .nmd-nores-search) .nomad-time-field { flex: 1 1 128px; min-width: 0; }
:is(.nmd-bar, .nmd-nores-search) .nomad-field-icon,
:is(.nmd-bar, .nmd-nores-search) .nomad-field-icon [uk-icon],
:is(.nmd-bar, .nmd-nores-search) .nomad-field-trigger:hover .nomad-field-icon { color: var(--nmd-brand); }
:is(.nmd-bar, .nmd-nores-search) .nomad-field-icon svg { width: 20px; height: 20px; }
:is(.nmd-bar, .nmd-nores-search) .nomad-field-label { margin: 0 0 2px; font-size: 11px; font-weight: 400; line-height: 14px; letter-spacing: .08em; text-transform: uppercase; color: var(--nmd-ink-3); }
:is(.nmd-bar, .nmd-nores-search) .nomad-field-value { font-size: 16px; font-weight: 500; line-height: 20px; color: var(--nmd-ink); font-variant-numeric: tabular-nums; }
:is(.nmd-bar, .nmd-nores-search) .nomad-search-btn {
	flex: 0 0 auto;
	padding: 0 30px;
	border-radius: 0;
	background: var(--nmd-cta) !important;
	font-family: var(--nmd-display);
	font-weight: 500;
	font-size: 16px;
	letter-spacing: .16em;
	text-transform: uppercase;
}
:is(.nmd-bar, .nmd-nores-search) .nomad-search-btn:hover { background: var(--nmd-cta-hover) !important; }
:is(.nmd-bar, .nmd-nores-search) .nomad-options-row { margin-top: 8px; padding: 0; font-family: var(--nmd-text); }
:is(.nmd-bar, .nmd-nores-search) .nomad-checkbox-option { gap: 10px; font-size: 15px; font-weight: 400; color: #fff; }
/* drawn checkbox: the native white square read as a hole in the charcoal bar */
:is(.nmd-bar, .nmd-nores-search) .nomad-checkbox-option input[type="checkbox"] {
	flex: 0 0 auto;
	appearance: none;
	width: 20px;
	height: 20px;
	border: 2px solid var(--nmd-on-dark-2);
	border-radius: 0;
	background: transparent center / 14px no-repeat;
	transition: border-color .15s, background-color .15s;
}
:is(.nmd-bar, .nmd-nores-search) .nomad-checkbox-option:hover input[type="checkbox"] { border-color: #fff; }
:is(.nmd-bar, .nmd-nores-search) .nomad-checkbox-option input[type="checkbox"]:checked {
	border-color: var(--nmd-brand);
	background-color: var(--nmd-brand);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='square'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
:is(.nmd-bar, .nmd-nores-search) .nomad-checkbox-option input[type="checkbox"]:focus-visible { outline: 2px solid var(--nmd-brand); outline-offset: 2px; }
:is(.nmd-bar, .nmd-nores-search) .nomad-form-error { color: var(--nmd-warn-bg); }

/* ===== Extras (showprc) ===== */
.nmd-xp-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; align-items: start; gap: 36px; margin: 0; }
.nmd-xp-main { display: flex; flex-direction: column; gap: 32px; min-width: 0; }
.nmd-xp-car,
.nmd-oc-car,
.nmd-od-car { display: flex; align-items: center; gap: 18px; }
.nmd-xp-car img { display: block; width: 160px; aspect-ratio: 3 / 2; object-fit: cover; }
.nmd-xp-section .nmd-cd-h { margin-bottom: 14px; }
.nmd-xp-rates,
.nmd-xp-opts { display: flex; flex-direction: column; gap: 10px; }

/* selectable cards: rate plan, toggle extra */
.nmd-xp-rate,
.nmd-xp-opt {
	position: relative;
	display: flex;
	gap: 14px;
	margin: 0;
	padding: 16px 18px;
	background: #fff;
	border: 1px solid var(--nmd-line);
	transition: border-color .15s, box-shadow .15s;
}
.nmd-xp-rate { align-items: center; cursor: pointer; }
.nmd-xp-opt { align-items: flex-start; gap: 16px; }
.nmd-xp-rate input,
.nmd-xp-opt.is-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.nmd-xp-opt.is-toggle { cursor: pointer; }
.nmd-xp-opt.is-toggle:hover { border-color: var(--nmd-line-strong); }
.nmd-xp-rate:has(input:checked),
.nmd-xp-opt.is-toggle:has(input:checked) { border-color: var(--nmd-ink); box-shadow: inset 0 0 0 1px var(--nmd-ink); }
.nmd-xp-rate:has(input:focus-visible),
.nmd-xp-opt.is-toggle:has(input:focus-visible) { outline: 2px solid var(--nmd-brand); outline-offset: 2px; }
.nmd-xp-opt.is-forced { background: var(--nmd-ground); }
.nmd-xp-radio { flex: 0 0 20px; display: grid; place-items: center; width: 20px; height: 20px; border: 1.5px solid var(--nmd-ink-3); border-radius: 50%; }
.nmd-xp-radio::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--nmd-brand); transform: scale(0); transition: transform .15s var(--nmd-ease); }
.nmd-xp-rate:has(input:checked) .nmd-xp-radio { border-color: var(--nmd-brand); }
.nmd-xp-rate:has(input:checked) .nmd-xp-radio::after { transform: scale(1); }
.nmd-xp-rate-name { flex: 1 1 auto; font-size: 16px; font-weight: 400; }
.nmd-xp-rate-name small { display: block; font-size: 13px; color: var(--nmd-ink-3); }
.nmd-xp-cost { font-family: var(--nmd-display); font-weight: 500; font-size: 20px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.nmd-xp-cost .vrc_currency { font-size: .7em; font-weight: 400; }
.nmd-xp-opt-img { flex: 0 0 64px; }
.nmd-xp-opt-img img { display: block; width: 64px; height: 64px; object-fit: cover; }
.nmd-xp-opt-text { flex: 1 1 auto; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.nmd-xp-opt-name { font-size: 16px; font-weight: 500; line-height: 1.35; }
.nmd-xp-opt-descr {
	display: -webkit-box;
	max-width: 68ch;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	font-size: 14px;
	line-height: 1.55;
	color: var(--nmd-ink-2);
}
.nmd-xp-opt-descr p { margin: 0; }
.nmd-xp-opt-side { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.nmd-xp-add {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 92px;
	height: 36px;
	padding: 0 14px;
	border: 1px solid var(--nmd-ink);
	font-family: var(--nmd-display);
	font-size: 13px;
	letter-spacing: .14em;
	text-transform: uppercase;
	transition: background-color .15s, color .15s, transform .1s ease-out;
}
.nmd-xp-add .on { display: none; }
.nmd-xp-opt.is-toggle:active .nmd-xp-add { transform: scale(.97); }
.nmd-xp-opt.is-toggle:has(input:checked) .nmd-xp-add { background: var(--nmd-ink); color: #fff; }
.nmd-xp-opt.is-toggle:has(input:checked) .nmd-xp-add .on { display: inline; }
.nmd-xp-opt.is-toggle:has(input:checked) .nmd-xp-add .off { display: none; }
.nmd-xp-opt.is-toggle:has(input:checked) .nmd-xp-add .on::before {
	content: "";
	display: inline-block;
	width: 13px;
	height: 13px;
	margin: 0 7px -1px 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10.5l4 4 8-9' fill='none' stroke='%23f9591e' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E") no-repeat center / contain;
}
.nmd-xp-tag { font-size: 13px; color: var(--nmd-ink-2); }
.nmd-xp-stepper { display: inline-flex; align-items: stretch; height: 36px; border: 1px solid var(--nmd-ink); }
.nmd-xp-stepper button { width: 34px; border: 0; background: #fff; font-size: 20px; line-height: 1; color: var(--nmd-ink); cursor: pointer; }
.nmd-xp-stepper button:hover { background: var(--nmd-ground); }
.nmd-xp-stepper input { width: 44px; height: 34px; margin: 0; padding: 0; border: 0; border-left: 1px solid var(--nmd-line); border-right: 1px solid var(--nmd-line); border-radius: 0; text-align: center; font-size: 15px; -moz-appearance: textfield; }
.nmd-xp-stepper input::-webkit-outer-spin-button,
.nmd-xp-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.nmd-xp-discl { padding: 16px 18px; background: var(--nmd-ground); font-size: 14px; line-height: 1.6; color: var(--nmd-ink-2); }

/* sticky summaries: extras, checkout, order */
.nmd-xp-summary,
.nmd-oc-sum,
.nmd-od .vrc-order-details-costs-wrap { background: #fff; border: 1px solid var(--nmd-line); box-shadow: var(--nmd-shadow-float); }
.nmd-xp-summary,
.nmd-oc-sum,
.nmd-od-aside { position: sticky; top: var(--nmd-sticky-top); }
.nmd-xp-summary { display: flex; flex-direction: column; gap: 14px; padding: 22px 22px 18px; }
.nmd-xp-summary .nmd-cd-h { margin: 0; font-size: 20px; }
.nmd-xp-sum-dates { margin: -6px 0 0; font-size: 14px; color: var(--nmd-ink-2); font-variant-numeric: tabular-nums; }
.nmd-xp-lines { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 12px 0 0; border-top: 1px solid var(--nmd-line); list-style: none; font-size: 14px; }
.nmd-xp-lines li { display: flex; justify-content: space-between; gap: 12px; margin: 0; }
.nmd-xp-lines li span:first-child { color: var(--nmd-ink-2); }
.nmd-xp-lines li span:last-child { white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--nmd-ink); }
.nmd-xp-total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 12px; border-top: 1px solid var(--nmd-ink); }
.nmd-xp-total span { font-family: var(--nmd-display); font-size: 15px; letter-spacing: .12em; text-transform: uppercase; }
.nmd-xp-total strong { font-family: var(--nmd-display); font-weight: 500; font-size: 28px; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.nmd-xp-note { margin: -4px 0 4px; font-size: 12px; color: var(--nmd-ink-3); }

/* ===== Checkout (oconfirm) ===== */
.nmd-oc-grid,
.nmd-od-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: start; gap: 36px; }
.nmd-oc-sum { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; gap: 16px; padding: 22px; }
.nmd-oc-main { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.nmd-oc-car { gap: 14px; }
.nmd-oc-car img { display: block; width: 96px; aspect-ratio: 3 / 2; object-fit: cover; }
.nmd-oc-car .nmd-card-title { margin: 2px 0 0; font-size: 20px; }

/* stock summary rows, compacted to description | total */
.nmd-oc .vrc-oconfirm-summary-container,
.nmd-oc .vrc-oconfirm-summary-car-wrapper,
.nmd-oc .vrc-oconfirm-summary-total-wrapper { margin: 0; padding: 0; background: none; border: 0; border-radius: 0 !important; box-shadow: none; }
.nmd-oc .vrc-oconfirm-summary-car-head { display: none; }
.nmd-oc .vrc-oconfirm-summary-car-wrapper { padding-top: 12px; border-top: 1px solid var(--nmd-line); }
.nmd-oc .vrc-oconfirm-summary-car-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; margin: 0; padding: 6px 0; background: none; border: 0; border-radius: 0 !important; font-size: 14px; }
.nmd-oc .vrc-oconfirm-summary-car-row > div { width: auto !important; margin: 0; padding: 0; float: none; text-align: left; }
.nmd-oc .vrc-oconfirm-summary-car-cell-days,
.nmd-oc .vrc-oconfirm-summary-car-cell-net,
.nmd-oc .vrc-oconfirm-summary-car-cell-tax,
.nmd-oc .vrc-oconfirm-summary-car-head-cell-responsive { display: none !important; }
.nmd-oc .vrc-oconfirm-summary-car-cell-tot { text-align: right !important; white-space: nowrap; font-variant-numeric: tabular-nums; }
.nmd-oc .vrc-oconfirm-carname { font-size: 15px; font-weight: 500; color: var(--nmd-ink) !important; }
.nmd-oc .vrc-oconfirm-priceinfo,
.nmd-oc .vrc-oconfirm-optname,
.nmd-oc .vrc-oconfirm-feename { font-size: 14px; line-height: 1.4; color: var(--nmd-ink-2); }
.nmd-oc .vrc-oconfirm-summary-total-wrapper { margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--nmd-ink); }
.nmd-oc .vrc-oconfirm-summary-total-row { padding: 4px 0; font-size: 15px; }
.nmd-oc .vrc-oconfirm-summary-total-row .vrc-oconfirm-summary-car-cell-tax { display: block !important; grid-column: 1 / -1; grid-row: 2; font-size: 12px; color: var(--nmd-ink-3); }
.nmd-oc .vrc-oconfirm-summary-total-row .vrc-oconfirm-summary-car-cell-tax .vrc-oconfirm-summary-car-head-cell { display: inline !important; }
.nmd-oc .vrc-oconfirm-summary-total-row .vrc-oconfirm-summary-car-cell-tax .vrc-oconfirm-summary-car-head-cell::after { content: " "; }
.nmd-oc .vrc-oconfirm-summary-total-row .vrc-oconfirm-summary-car-cell-tot { grid-column: 2; grid-row: 1; align-self: center; font-family: var(--nmd-display); font-weight: 500; font-size: 22px; }
.nmd-oc .vrc-oconfirm-summary-total-row .vrc-oconfirm-summary-car-cell-tot .vrc-oconfirm-summary-car-head-cell { display: none !important; }
.nmd-oc .vrc-oconfirm-total-block { font-family: var(--nmd-display); font-size: 15px; letter-spacing: .12em; text-transform: uppercase; }
.nmd-oc .vrc-oconfirm-summary-coupon-row { color: var(--nmd-ok); }
.nmd-oc-cta { display: flex; flex-direction: column; gap: 12px; padding-top: 4px; }
.nmd-oc-cta-total { display: none; }

/* coupon + returning customer */
.nmd-oc .vrc-oconfirm-middlep { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; margin: 0; padding: 0; }
.nmd-oc .vrc-coupon-outer,
.nmd-oc .vrc-enterpin-block { width: auto; margin: 0; padding: 14px 16px; float: none; background: var(--nmd-ground); border: 0; border-radius: 0; box-shadow: none; }
.nmd-oc .vrc-coupon-outer form { margin: 0; }
.nmd-oc .vrcentercoupon,
.nmd-oc .vrc-enterpin-top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; }
.nmd-oc .vrchaveacoupon,
.nmd-oc .vrc-enterpin-top > span { flex-basis: 100%; font-size: 14px; color: var(--nmd-ink-2); }
.nmd-oc .vrc-enterpin-top > span > span { margin-right: 4px; font-weight: 500; color: var(--nmd-ink); }

/* text fields: coupon, PIN, driver details, cancellation request */
.nmd-oc .vrcinputcoupon,
.nmd-oc #vrc-pincode-inp,
.nmd-oc .vrc-customfield-input input[type="text"],
.nmd-oc .vrc-customfield-input input[type="email"],
.nmd-oc .vrc-customfield-input input[type="tel"],
.nmd-oc .vrc-customfield-input select,
.nmd-oc .vrc-customfield-input textarea,
.nmd-od .vrcordcancform-entry input,
.nmd-od .vrcordcancform-entry textarea {
	margin: 0;
	padding: 0 12px;
	border: 1px solid var(--nmd-line-strong);
	border-radius: 0;
	background-color: #fff;
	box-shadow: none;
	font-family: var(--nmd-text);
	font-size: 16px;
	font-weight: 400;
	color: var(--nmd-ink);
}
.nmd-oc .vrcinputcoupon,
.nmd-oc #vrc-pincode-inp { flex: 1 1 120px; width: auto !important; min-width: 0; height: 40px; font-size: 15px; }
.nmd-oc .vrc-customfield-input input:focus,
.nmd-oc .vrc-customfield-input select:focus,
.nmd-oc .vrc-customfield-input textarea:focus { border-color: var(--nmd-ink); outline: none; box-shadow: inset 0 0 0 1px var(--nmd-ink); }
.nmd-oc .vrc-customfield-input select { appearance: none; -webkit-appearance: none; padding-right: 36px; background: #fff var(--nmd-chevron) no-repeat right 14px center !important; }

/* outline buttons: coupon/PIN apply, PDF, cancellation opener */
.nmd-oc .vrcsubmitcoupon,
.nmd-oc .vrc-pincode-sbmt,
.nmd-od .vrcdownloadpdf a,
.nmd-od #vrcopencancform {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0 16px;
	border: 1px solid var(--nmd-ink) !important;
	border-radius: 0;
	background: #fff !important;
	color: var(--nmd-ink) !important;
	font-family: var(--nmd-display);
	font-size: 13px;
	line-height: 1.2;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .15s, color .15s;
}
.nmd-oc .vrcsubmitcoupon,
.nmd-oc .vrc-pincode-sbmt { height: 40px; }
.nmd-oc .vrcsubmitcoupon:hover,
.nmd-oc .vrc-pincode-sbmt:hover,
.nmd-od .vrcdownloadpdf a:hover,
.nmd-od #vrcopencancform:hover { background: var(--nmd-ink) !important; color: #fff !important; }

/* driver details */
.nmd-oc form[name="vrc"] { display: flex; flex-direction: column; gap: 24px; margin: 0; }
.nmd-oc .vrccustomfields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; margin: 0; padding: 24px; background: #fff; border: 1px solid var(--nmd-line); border-radius: 0; box-shadow: none; }
.nmd-oc .vrcdivcustomfield { display: flex; flex-direction: column; gap: 6px; width: auto !important; margin: 0 !important; padding: 0; float: none; }
.nmd-oc .vrccustomfldinfo,
.nmd-oc .vrcdivcustomfield:has(textarea),
.nmd-oc .vrc-oconfirm-cfield-entry-checkbox { grid-column: 1 / -1; }
.nmd-oc .vrcseparatorcf,
.nmd-oc .vrc-oconfirm-paym-block h4,
.nmd-oc .vrc-oconfirm-choosedeposit h4 { margin: 0; padding: 0; border: 0; font-family: var(--nmd-display); font-weight: 500; font-size: 22px; letter-spacing: .06em; text-transform: uppercase; color: var(--nmd-ink); }
.nmd-oc .vrc-customfield-label { display: flex; gap: 2px; width: auto !important; margin: 0; padding: 0; float: none; font-size: 13px; color: var(--nmd-ink-2); }
.nmd-oc .vrc-customfield-label label { margin: 0; font-size: 13px; font-weight: 400; }
.nmd-oc .vrc-customfield-label a { color: var(--nmd-ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--nmd-brand); }
.nmd-oc .vrcrequired { color: var(--nmd-cta); }
.nmd-oc .vrcrequired sup { top: 0; font-size: 13px; }
.nmd-oc .vrc-customfield-input { width: auto !important; margin: 0; padding: 0; float: none; }
.nmd-oc .vrc-customfield-input input[type="text"],
.nmd-oc .vrc-customfield-input input[type="email"],
.nmd-oc .vrc-customfield-input input[type="tel"],
.nmd-oc .vrc-customfield-input select { width: 100% !important; height: 46px; }
.nmd-oc .vrc-customfield-input textarea { width: 100% !important; height: 110px; padding: 10px 12px; resize: vertical; }
.nmd-oc .iti { display: block; width: 100%; }
.nmd-oc .iti input[type="tel"],
.nmd-oc .iti input[type="text"] { padding-left: 52px !important; }
.nmd-oc .vrc-oconfirm-cfield-entry-checkbox { flex-direction: row-reverse; justify-content: flex-end; align-items: center; gap: 10px; }
.nmd-oc .vrc-oconfirm-cfield-entry-checkbox .vrc-customfield-label,
.nmd-oc .vrc-oconfirm-cfield-entry-checkbox label { font-size: 15px; color: var(--nmd-ink); }
.nmd-oc .vrc-oconfirm-cfield-entry-checkbox input[type="checkbox"] { width: 20px; height: 20px; margin: 0; accent-color: var(--nmd-cta); }

/* payment */
.nmd-oc .vrc-oconfirm-paym-block,
.nmd-oc .vrc-oconfirm-choosedeposit { margin: 0; padding: 24px; background: #fff; border: 1px solid var(--nmd-line); border-radius: 0; box-shadow: none; }
.nmd-oc .vrc-oconfirm-paym-block h4,
.nmd-oc .vrc-oconfirm-choosedeposit h4 { margin-bottom: 14px; }
.nmd-oc .vrc-oconfirm-paym-block ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.nmd-oc .vrc-gpay-licont { position: relative; display: flex; align-items: center; gap: 12px; margin: 0; padding: 14px 16px; background: #fff !important; border: 1px solid var(--nmd-line) !important; border-radius: 0 !important; box-shadow: none !important; cursor: pointer; }
.nmd-oc .vrc-gpay-licont::before,
.nmd-oc .vrc-gpay-licont::after { display: none !important; }
.nmd-oc .vrc-gpay-licont:has(input:checked) { border-color: var(--nmd-ink) !important; box-shadow: inset 0 0 0 1px var(--nmd-ink) !important; }
.nmd-oc .vrc-gpay-licont input[type="radio"] { width: 18px; height: 18px; margin: 0; accent-color: var(--nmd-brand); }
.nmd-oc .vrc-gpay-licont label { flex: 1; margin: 0; font-size: 16px; cursor: pointer; }
.nmd-oc .vrc-gpay-licont label::after { content: ""; position: absolute; inset: 0; }

/* footer: back link + confirm */
.nmd-oc .vrc-oconfirm-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0; padding: 0; }
.nmd-oc .vrc-oconfirm-footer .vrc-goback-block a {
	margin: 0;
	padding: 0;
	border: 0;
	background: none !important;
	font-family: var(--nmd-text);
	font-size: 15px;
	line-height: 1.4;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: var(--nmd-line);
	color: var(--nmd-ink-2) !important;
}
.nmd-oc .vrc-oconfirm-footer .vrc-goback-block a:hover { color: var(--nmd-ink) !important; text-decoration-color: var(--nmd-brand); }

/* stock submit buttons dressed as the primary button */
.nmd-oc .vrc-save-order-block input[type="submit"],
.nmd-od .vrcvordpaybutton input[type="submit"],
.nmd-od .vrcvordpaybutton button,
.nmd-od .vrcordcancform-entry-submit input {
	height: 50px;
	margin: 0;
	padding: 0 32px;
	border: 0;
	border-radius: 0;
	background: var(--nmd-cta) !important;
	color: #fff !important;
	font-family: var(--nmd-display);
	font-weight: 500;
	font-size: 15px;
	line-height: 50px;
	letter-spacing: .16em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .2s, transform .1s ease-out;
}
.nmd-oc .vrc-save-order-block input[type="submit"]:hover,
.nmd-od .vrcvordpaybutton input[type="submit"]:hover,
.nmd-od .vrcvordpaybutton button:hover { background: var(--nmd-cta-hover) !important; }
.nmd-oc .vrc-save-order-block input[type="submit"]:active { transform: scale(.98); }
.nmd-oc .vrc-save-order-block input[type="submit"]:disabled { opacity: .55; cursor: progress; }
.nmd-od .vrcordcancform-entry-submit input { background: var(--nmd-ink) !important; }
.nmd-oc .vrc-alert-container-confirm { border-radius: 0; }
.nmd-oc .vrc-alert-close { display: inline-grid; place-items: center; width: 28px; height: 28px; margin-right: 8px; vertical-align: middle; cursor: pointer; }
.nmd-oc .vrc-alert-close .nmd-icon { width: 16px; height: 16px; }

/* ===== Order (order) ===== */
.nmd-od-status { display: flex; align-items: center; gap: 18px; margin: 0 0 20px; padding: 22px 24px; background: #fff; border: 1px solid var(--nmd-line); }
.nmd-od-status-icon { flex: 0 0 auto; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; color: #fff; }
.nmd-od-status-icon .nmd-icon { width: 24px; height: 24px; stroke-width: 2.2; }
.nmd-od-status.is-confirmed { background: var(--nmd-ok-bg); border-color: var(--nmd-ok-line); }
.nmd-od-status.is-standby { background: var(--nmd-pending-bg); border-color: var(--nmd-pending-line); }
.nmd-od-status.is-cancelled { background: var(--nmd-cancel-bg); border-color: var(--nmd-cancel-line); }
.nmd-od-status.is-confirmed .nmd-od-status-icon { background: var(--nmd-ok); }
.nmd-od-status.is-standby .nmd-od-status-icon { background: var(--nmd-pending); }
.nmd-od-status.is-cancelled .nmd-od-status-icon { background: var(--nmd-cancel); }
.nmd-od-status-text { flex: 1 1 auto; min-width: 0; }
.nmd-od-status-text h2 { margin: 0; font-family: var(--nmd-display); font-weight: 500; font-size: clamp(22px, 2.4vw, 30px); line-height: 1.15; letter-spacing: .02em; text-transform: uppercase; color: var(--nmd-ink); }
.nmd-od-status-text p { display: flex; flex-wrap: wrap; gap: 4px 24px; margin: 8px 0 0; font-size: 15px; color: var(--nmd-ink-2); }
.nmd-od-status-text strong { font-weight: 500; color: var(--nmd-ink); font-variant-numeric: tabular-nums; }
.nmd-od-print { flex: 0 0 auto; display: grid; place-items: center; width: 44px; height: 44px; margin: 0; float: none; border: 1px solid var(--nmd-ink); color: var(--nmd-ink) !important; }
.nmd-od-print:hover { background: var(--nmd-ink); color: #fff !important; }
.nmd-od-main { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.nmd-od-aside { display: flex; flex-direction: column; gap: 12px; }
.nmd-od-card { padding: 24px; background: #fff; border: 1px solid var(--nmd-line); }
.nmd-od-car { margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--nmd-line); }
.nmd-od-car img { display: block; width: 150px; aspect-ratio: 3 / 2; object-fit: cover; }
.nmd-od-car .nmd-card-title { margin: 4px 0 0; }
.nmd-od-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.nmd-od-h { margin: 0 0 10px; font-family: var(--nmd-display); font-weight: 500; font-size: 14px; letter-spacing: .14em; text-transform: uppercase; color: var(--nmd-ink-2); }
.nmd-od-cust { margin: 0; font-size: 15px; line-height: 1.7; overflow-wrap: anywhere; }
.nmd-od-dl { display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; margin: 0; font-size: 15px; }
.nmd-od-dl dt { margin: 0; font-weight: 400; color: var(--nmd-ink-3); }
.nmd-od-dl dd { margin: 0; color: var(--nmd-ink); font-variant-numeric: tabular-nums; }

/* stock payment output and notes */
.nmd-od .vrc-paycontainer-pos { margin: 0; }
.nmd-od .vrcvordpaybutton,
.nmd-od .vrcvordpaynote { margin: 0; padding: 24px; background: #fff; border: 1px solid var(--nmd-line); border-radius: 0; box-shadow: none; font-size: 15px; line-height: 1.65; text-align: left; color: var(--nmd-ink); }
.nmd-od .vrcvordpaybutton > :first-child,
.nmd-od .vrcvordpaynote > :first-child { margin-top: 0; }
.nmd-od .vrcvordpaybutton > :last-child,
.nmd-od .vrcvordpaynote > :last-child { margin-bottom: 0; }
.nmd-od .vrcvordpaybutton ul,
.nmd-od .vrcvordpaynote ul { margin: 6px 0 14px; padding-left: 20px; }
.nmd-od .vrcvordpaybutton a,
.nmd-od .vrcvordpaynote a { color: var(--nmd-ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--nmd-brand); }
.nmd-od .vrcpaymentchangetot { margin: 0 0 12px; font-size: 14px; color: var(--nmd-ink-2); }

/* costs (aside) */
.nmd-od .vrc-order-details-costs-wrap { margin: 0; padding: 22px; border-radius: 0; }
.nmd-od .vrc-order-details-costs-inner { display: flex; flex-direction: column; margin: 0; padding: 0; background: none; border: 0; }
.nmd-od .vrc-order-details-costs-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 0; padding: 7px 0; background: none; border: 0; font-size: 14px; }
.nmd-od .vrc-order-details-costs-name { color: var(--nmd-ink-2); }
.nmd-od .vrc-order-details-costs-price { white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--nmd-ink); }
.nmd-od .vrc-order-details-costs-row-total { margin-top: 6px; padding-top: 12px; border-top: 1px solid var(--nmd-ink); }
.nmd-od .vrc-order-details-costs-row-total .vrc-order-details-costs-name { font-family: var(--nmd-display); font-size: 15px; letter-spacing: .12em; text-transform: uppercase; color: var(--nmd-ink); }
.nmd-od .vrc-order-details-costs-row-total .vrc-order-details-costs-price { font-family: var(--nmd-display); font-weight: 500; font-size: 24px; }
.nmd-od .vrc-order-details-costs-row-total ~ .vrc-order-details-costs-row-total { margin-top: 0; padding-top: 6px; border-top: 0; }
.nmd-od .vrc-order-details-costs-row-total ~ .vrc-order-details-costs-row-total .vrc-order-details-costs-price { font-size: 20px; }
.nmd-od .vrc-order-details-costs-row-remainingbalance .vrc-order-details-costs-price { color: var(--nmd-pending); }
.nmd-od .nmd-od-docs { display: flex; align-items: center; justify-content: center; gap: 10px; }
.nmd-od .vrcdownloadpdf { margin: 0; }
.nmd-od .vrcdownloadpdf a { display: flex; gap: 10px; height: 48px; font-size: 14px; }

/* cancellation request */
.nmd-od .vrcordcancbox { margin: 0; padding: 24px; background: var(--nmd-ground); border: 0; border-radius: 0; box-shadow: none; }
.nmd-od .vrcordcancbox h3 { margin: 0 0 12px; font-family: var(--nmd-display); font-weight: 500; font-size: 20px; letter-spacing: .06em; text-transform: uppercase; }
.nmd-od #vrcopencancform { height: 44px; padding: 0 20px; white-space: normal; }
.nmd-od .vrcordcancform-inner { display: flex; flex-direction: column; gap: 14px; margin-top: 4px; }
.nmd-od .vrcordcancform-entry { display: flex; flex-direction: column; gap: 6px; }
.nmd-od .vrcordcancform-entry label { font-size: 13px; color: var(--nmd-ink-2); }
.nmd-od .vrcordcancform-entry input { width: 100%; height: 44px; }
.nmd-od .vrcordcancform-entry textarea { width: 100%; padding: 10px 12px; }

/* ===== Date pickers: jQuery UI (checkout date fields) and Litepicker (Nomad Search) ===== */
.ui-datepicker {
	z-index: 990 !important;
	padding: 12px !important;
	background: #fff !important;
	border: 1px solid var(--nmd-line) !important;
	border-radius: 0 !important;
	box-shadow: var(--nmd-shadow-float) !important;
	font-family: inherit;
}
.ui-datepicker .ui-datepicker-header { padding: 4px 0 10px !important; background: none !important; border: 0 !important; border-radius: 0 !important; }
.ui-datepicker .ui-datepicker-title,
.litepicker .month-item-name,
.litepicker .month-item-year { font-family: var(--nmd-display) !important; font-weight: 500 !important; font-size: 16px !important; letter-spacing: .08em; text-transform: uppercase; color: var(--nmd-ink) !important; }
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
	top: 2px !important;
	width: 32px !important;
	height: 32px !important;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='12' viewBox='0 0 8 12'%3E%3Cpath d='M6.5 1L1.5 6l5 5' fill='none' stroke='%231c1c1a' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center !important;
	border: 1px solid var(--nmd-line) !important;
	border-radius: 0 !important;
	cursor: pointer;
}
.ui-datepicker .ui-datepicker-next { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='12' viewBox='0 0 8 12'%3E%3Cpath d='M1.5 1l5 5-5 5' fill='none' stroke='%231c1c1a' stroke-width='1.5'/%3E%3C/svg%3E") !important; }
.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover { border-color: var(--nmd-ink) !important; }
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span { display: none !important; }
.ui-datepicker .ui-datepicker-prev.ui-state-disabled,
.ui-datepicker .ui-datepicker-next.ui-state-disabled { opacity: .35; cursor: default; }
.ui-datepicker table { margin: 0 !important; border-collapse: separate !important; border-spacing: 3px !important; }
.ui-datepicker th { padding: 2px 0 6px !important; font-size: 11px !important; font-weight: 400 !important; letter-spacing: .08em; text-transform: uppercase; color: var(--nmd-ink-3) !important; }
.ui-datepicker td { padding: 0 !important; border: 0 !important; }
.ui-datepicker td a,
.ui-datepicker td span {
	display: grid !important;
	place-items: center;
	height: 38px;
	padding: 0 !important;
	background: #fff !important;
	border: 1px solid var(--nmd-line) !important;
	border-radius: 0 !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	text-align: center !important;
	color: var(--nmd-ink) !important;
	font-variant-numeric: tabular-nums;
}
.ui-datepicker td a:hover { background: var(--nmd-brand) !important; border-color: var(--nmd-brand) !important; color: #fff !important; }
.ui-datepicker td.ui-datepicker-today a { box-shadow: inset 0 -2px 0 var(--nmd-brand); }
.ui-datepicker td.ui-datepicker-current-day a,
.ui-datepicker td a.ui-state-active { background: var(--nmd-ink) !important; border-color: var(--nmd-ink) !important; color: #fff !important; }
.ui-datepicker td.ui-datepicker-unselectable span,
.ui-datepicker td.ui-state-disabled span { background: transparent !important; border-color: transparent !important; color: var(--nmd-ink-4) !important; }

.litepicker { font-family: var(--nmd-text) !important; }
.litepicker .container__main { border-radius: 0 !important; box-shadow: var(--nmd-shadow-float) !important; border: 1px solid var(--nmd-line); }
.litepicker .container__months { border-radius: 0 !important; box-shadow: none !important; }
.litepicker .month-item-weekdays-row > div { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--nmd-ink-3) !important; }
.litepicker .container__days .day-item { border-radius: 0 !important; color: var(--nmd-ink); font-variant-numeric: tabular-nums; }
.litepicker .container__days .day-item:hover { box-shadow: inset 0 0 0 1px var(--nmd-brand) !important; color: var(--nmd-ink) !important; }
.litepicker .container__days .day-item.is-today { color: var(--nmd-cta) !important; font-weight: 500; }
.litepicker .container__days .day-item.is-start-date,
.litepicker .container__days .day-item.is-end-date { background-color: var(--nmd-ink) !important; color: #fff !important; border-radius: 0 !important; }
.litepicker .container__days .day-item.is-in-range { background-color: rgba(249, 89, 30, .12) !important; color: var(--nmd-ink) !important; }
.litepicker .container__days .day-item.is-locked { color: var(--nmd-ink-4) !important; }
.litepicker .button-previous-month,
.litepicker .button-next-month { color: var(--nmd-ink) !important; }

/* ===== No availability: VikRentCar message, closest dates, search again ===== */
.nmd-nores { display: flex; flex-direction: column; gap: 32px; padding-bottom: 24px; }
.nmd-nores .nmd-steps,
.nmd-nores .nmd-trip,
.nmd-nores .nmd-od-status { margin: 0; }
.nmd-nores .nmd-cd-h { margin-bottom: 16px; }

.nmd-alts { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.nmd-alts > li { margin: 0; padding: 0; }
.nmd-alt {
	display: flex;
	flex-direction: column;
	gap: 18px;
	height: 100%;
	padding: 18px 20px 20px;
	background: #fff;
	border: 1px solid var(--nmd-line);
	color: var(--nmd-ink);
	text-decoration: none;
	transition: border-color .2s, box-shadow .2s var(--nmd-ease), transform .1s ease-out;
}
.nmd-alt:hover { border-color: var(--nmd-ink); box-shadow: var(--nmd-shadow-hover); color: var(--nmd-ink); }
.nmd-alt:active { transform: scale(.99); }
.nmd-alt:focus-visible { outline: 2px solid var(--nmd-brand); outline-offset: 2px; }
.nmd-alt.is-closest { border-color: var(--nmd-ink); box-shadow: inset 0 0 0 1px var(--nmd-ink); }
.nmd-alt-shift {
	align-self: flex-start;
	padding: 3px 8px;
	background: var(--nmd-ground);
	font-family: var(--nmd-display);
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--nmd-ink-2);
	font-variant-numeric: tabular-nums;
}
.nmd-alt.is-closest .nmd-alt-shift { background: var(--nmd-ink); color: #fff; }
.nmd-alt-dates { display: grid; grid-template-columns: auto minmax(40px, 1fr) auto; align-items: center; gap: 14px; }
.nmd-alt-end { display: flex; flex-direction: column; gap: 2px; }
.nmd-alt-end:last-child { text-align: right; }
.nmd-alt-wday { font-family: var(--nmd-display); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--nmd-ink-3); }
.nmd-alt-date { font-family: var(--nmd-display); font-weight: 500; font-size: 28px; line-height: 1.05; letter-spacing: .01em; text-transform: uppercase; white-space: nowrap; font-variant-numeric: tabular-nums; }
.nmd-alt-time { font-size: 14px; color: var(--nmd-ink-2); font-variant-numeric: tabular-nums; }
/* the trip bar's road, small: dashed line with the logo mountain in the middle */
.nmd-alt-road { position: relative; display: grid; place-items: center; height: 18px; }
.nmd-alt-road::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; border-top: 2px dashed var(--nmd-line-strong); }
.nmd-alt-road .nmd-mountain { position: relative; width: 26px; height: 18px; padding: 0 6px; background: #fff; box-sizing: content-box; }
.nmd-alt-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--nmd-line); }
.nmd-alt-meta { min-width: 0; font-size: 14px; color: var(--nmd-ink-2); }
.nmd-alt-cta {
	flex: 0 0 auto;
	padding: 0 16px;
	background: var(--nmd-cta);
	color: #fff;
	font-family: var(--nmd-display);
	font-weight: 500;
	font-size: 13px;
	line-height: 38px;
	letter-spacing: .16em;
	text-transform: uppercase;
	transition: background-color .2s;
}
.nmd-alt:hover .nmd-alt-cta { background: var(--nmd-cta-hover); }

/* placeholder while VikRentCar computes the closest dates (AJAX) */
.nmd-alts-loading { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.nmd-alts-loading span { height: 196px; background: var(--nmd-ground); animation: nmd-pulse 1.2s ease-in-out infinite alternate; }
.nmd-alts-loading span:nth-child(2) { animation-delay: .15s; }
.nmd-alts-loading span:nth-child(3) { animation-delay: .3s; }
@keyframes nmd-pulse { to { opacity: .45; } }

/* search again: the vehicle page's charcoal booking band, in the page flow */
.nmd-nores-search { padding: 24px; background: var(--nmd-ink); scroll-margin-top: var(--nmd-sticky-top); }
.nmd-nores-search .nmd-cd-h { color: #fff; }

/* ===== Responsive ===== */
@media (max-width: 1180px) {
	.nmd-bar-inner { gap: 16px; }
	.nmd-bar-price .nmd-price-label,
	.nmd-bar-price .nmd-price-day { display: none; }
	:is(.nmd-bar, .nmd-nores-search) .nomad-field-trigger { gap: 8px; padding: 8px 10px; }
	:is(.nmd-bar, .nmd-nores-search) .nomad-search-btn { padding: 0 20px; }
}

@media (max-width: 1080px) {
	.nmd-card { grid-template-columns: 240px minmax(0, 1fr); }
	.nmd-card-price { grid-column: 1 / -1; flex-direction: row; align-items: center; border-left: 0; border-top: 1px solid var(--nmd-line); text-align: left; }
	.nmd-card-actions { flex-direction: row; align-items: center; gap: 18px; }
	.nmd-card-actions .nmd-btn { width: auto; padding: 0 28px; }
	.nmd-cd-body { grid-template-columns: minmax(0, 1fr) 300px; gap: 28px 40px; }
}

/* below Nomad Search's own two-column breakpoint: price + button, form opens as a sheet */
@media (max-width: 1020px) {
	body:has(.nmd-bar) { --nmd-bar-h: 84px; }
	.nmd-bar { padding: 12px 16px; }
	.nmd-bar-inner { flex-wrap: wrap; gap: 12px; }
	.nmd-bar-price { align-self: center; min-height: 0; }
	.nmd-bar-price .nmd-price-total { font-size: 24px; }
	.nmd .nmd-bar-open { display: block; flex: 1 1 auto; width: auto; font-size: 14px; line-height: 46px; letter-spacing: .1em; }
	.nmd-bar-form { display: none; flex-basis: 100%; }
	.nmd-bar.is-open { top: auto; max-height: 92vh; overflow-y: auto; padding: 20px 16px 24px; background: #fff; }
	.nmd-bar.is-open .nmd-bar-price { color: var(--nmd-ink); }
	.nmd-bar.is-open .nmd-bar-price .nmd-price-label,
	.nmd-bar.is-open .nmd-bar-price .nmd-price-day { color: var(--nmd-ink-3); }
	.nmd-bar.is-open .nmd-bar-open { display: none; }
	.nmd-bar.is-open .nmd-bar-close { display: grid; place-items: center; width: 44px; height: 44px; margin-left: auto; background: #fff; border: 1px solid var(--nmd-line); color: var(--nmd-ink); cursor: pointer; }
	.nmd-bar.is-open .nmd-bar-form { display: block; }
	.nmd-bar.is-open .nomad-search-fields { gap: 8px; background: none; }
	.nmd-bar.is-open .nomad-search-field { border: 1px solid var(--nmd-line-strong); }
	.nmd-bar.is-open .nomad-date-field,
	.nmd-bar.is-open .nomad-time-field { flex: 1 1 calc(50% - 4px) !important; }
	.nmd-bar.is-open .nomad-search-btn,
	.nmd-nores-search .nomad-search-btn { flex: 1 1 100%; min-height: 52px; }
	.nmd-bar.is-open .nomad-checkbox-option { color: var(--nmd-ink); }
	.nmd-bar.is-open .nomad-checkbox-option input[type="checkbox"]:not(:checked) { border-color: var(--nmd-ink-3); }
	.nmd-bar.is-open .nomad-checkbox-option:hover input[type="checkbox"]:not(:checked) { border-color: var(--nmd-ink); }
	.nmd-bar.is-open .nomad-form-error { color: var(--nmd-cancel); }
	/* date picker from the sheet: Litepicker anchors to the input and opened above the sheet,
	   half over the page, in a 420px frame around a 280px month. Pin it to the bottom, centred,
	   and let the days fill the width (one month below 640px, Nomad Search's own switch). */
	body:has(.nmd-bar.is-open) .litepicker {
		position: fixed !important;
		top: auto !important;
		bottom: calc(12px + env(safe-area-inset-bottom)) !important;
		left: 50% !important;
		width: auto !important;
		max-width: none;
		margin: 0;
		transform: translateX(-50%);
		animation: nmd-lp-arm .4s steps(1, end); /* restarts each time Litepicker shows it (display none -> block) */
	}
	body:has(.nmd-bar.is-open) .litepicker .container__main { box-shadow: 0 -10px 40px -10px rgba(28, 28, 26, .5) !important; }
}

@media (max-width: 960px) {
	.nmd-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 260px 120px; }
	.nmd-gallery-main { grid-column: 1 / -1; grid-row: 1 !important; }
	.nmd-gallery-thumb { grid-row: 2 !important; }
	.nmd-gallery-thumb:nth-of-type(n + 4) { display: none; }
	.nmd-gallery--0 { grid-template-rows: 280px; }

	.nmd-xp-grid,
	.nmd-oc-grid,
	.nmd-od-grid { grid-template-columns: 1fr; gap: 24px; }
	.nmd-oc-sum { grid-column: 1; grid-row: 1; position: static; box-shadow: none; }
	.nmd-oc-main { grid-row: 2; }
	.nmd-od-aside { position: static; order: -1; }

	/* extras + checkout: total and action move to a fixed charcoal bar */
	body:has(.nmd-xp-summary),
	body:has(.nmd-oc-cta) { --nmd-bar-h: 96px; padding-bottom: var(--nmd-bar-h); }
	body:has(.nmd-xp-summary, .nmd-oc-cta) #crisp-chatbox [data-maximized="false"] { bottom: calc(var(--nmd-bar-h) + 14px) !important; }
	body:has(.nmd-xp-summary, .nmd-oc-cta) .iubenda-tp-btn.iubenda-tp-btn[data-tp-float][data-tp-float] { bottom: calc(var(--nmd-bar-h) + 16px) !important; }
	.nmd-xp-summary,
	.nmd-oc-cta {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		top: auto;
		z-index: 980;
		padding: 12px 16px;
		background: var(--nmd-ink);
		border: 0;
		box-shadow: var(--nmd-shadow-bar);
		color: #fff;
	}
	.nmd-xp-summary { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 16px; }
	.nmd-xp-summary > .nmd-cd-h,
	.nmd-xp-sum-dates,
	.nmd-xp-lines,
	.nmd-xp-note,
	.nmd-xp-summary .nmd-link { display: none; }
	.nmd-xp-total { grid-column: 1; grid-row: 1; flex-direction: column; align-items: flex-start; gap: 0; padding: 0; border: 0; }
	.nmd-xp-total span,
	.nmd-oc-cta-total span { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--nmd-on-dark-2); }
	.nmd-xp-total strong { font-size: 24px; color: #fff; }
	.nmd-xp-summary .nmd-btn { grid-column: 2; grid-row: 1; width: auto; padding: 0 26px; }
	.nmd-oc-cta { flex-direction: row; align-items: center; justify-content: space-between; gap: 16px; }
	.nmd-oc-cta-total { display: flex; flex-direction: column; color: #fff; }
	.nmd-oc-cta-total strong { font-family: var(--nmd-display); font-weight: 500; font-size: 22px; font-variant-numeric: tabular-nums; }
	.nmd-oc-cta-total .vrc_currency { font-size: .7em; font-weight: 400; }
	.nmd-oc-cta .nmd-btn { width: auto; padding: 0 22px; }

	/* checkout footer: full-width confirm on the card edges, back link centred below */
	.nmd-oc .vrc-oconfirm-footer { flex-direction: column-reverse; align-items: stretch; }
	.nmd-oc .vrc-oconfirm-footer .vrc-goback-block { text-align: center; }
	.nmd-oc .vrc-save-order-block,
	.nmd-oc .vrc-save-order-block input[type="submit"] { width: 100% !important; margin: 0 !important; }
}

@media (max-width: 720px) {
	.nmd-steps { font-size: 11px; letter-spacing: .08em; }
	.nmd-steps li,
	.nmd-steps li > a { flex-direction: column; gap: 6px; text-align: center; }
	.nmd-trip { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px 16px; padding: 18px 16px; }
	.nmd-trip-road { grid-column: 1 / -1; grid-row: 2; height: 34px; }
	.nmd-trip-end--drop { grid-column: 2; grid-row: 1; }
	.nmd-trip-place { font-size: 16px; }
	.nmd-trip-when { font-size: 14px; }
	.nmd-trip-change { grid-column: 1 / -1; text-align: center; }
	/* phone: title (or count) left, currency switch right; it wraps under the title, still right-aligned, when both do not fit */
	.nmd-cd-head,
	.nmd-toolbar { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 12px; }
	/* switch beside the title, note on its own row (the note would otherwise widen the group) */
	.nmd-cd-head .nmd-currency,
	.nmd-toolbar .nmd-currency { display: contents; }
	.nmd-currency-note { flex-basis: 100%; margin-top: -4px; }
	.nmd-currency-seg { margin-left: auto; } /* stays right-aligned when it wraps under a long title */
	.nmd-currency-seg button { min-width: 42px; height: 34px; padding: 0 7px; letter-spacing: .06em; }
	.nmd-card { grid-template-columns: 1fr; }
	.nmd-card-media img { height: auto; min-height: 0; aspect-ratio: 3 / 2; }
	.nmd-card-body { padding: 18px 16px; }
	.nmd-card-title { font-size: 22px; }
	.nmd-features { grid-template-columns: 1fr; }
	.nmd-cd-body { grid-template-columns: 1fr; }
	.nmd-cd-feats { padding: 18px 16px; }
	.nmd-card-price { flex-wrap: wrap; gap: 14px; padding: 16px; }
	.nmd-price-total { font-size: 28px; }
	.nmd-card-actions { flex: 1 1 100%; flex-direction: column; align-items: stretch; }
	.nmd-card-actions .nmd-btn { width: 100%; }
	.nmd-cd .vrc-avcals-container { grid-template-columns: 1fr; }
	.nmd-cd .vrccaldivcont { padding: 14px 8px 8px; }
	.nmd-cd .vrclegendediv { gap: 8px 16px; font-size: 13px; }
}

@media (max-width: 600px) {
	.nmd-xp-opt { flex-wrap: wrap; gap: 12px; padding: 14px; }
	.nmd-xp-opt-img { display: none; }
	.nmd-xp-opt-side { flex: 1 1 100%; flex-direction: row; justify-content: space-between; align-items: center; }
	.nmd-xp-car img,
	.nmd-od-car img { width: 110px; }
	.nmd-oc .vrccustomfields,
	.nmd-oc .vrc-oconfirm-paym-block,
	.nmd-od-card,
	.nmd-od .vrcvordpaybutton,
	.nmd-od .vrcvordpaynote,
	.nmd-od .vrcordcancbox { padding: 18px 16px; }
	.nmd-oc .vrccustomfields { grid-template-columns: 1fr; }
	.nmd-od-status { flex-wrap: wrap; gap: 14px; padding: 18px 16px; }
	.nmd-od-status-icon { width: 42px; height: 42px; }
	.nmd-od-print { margin-left: auto; }
	.nmd-od-cols { grid-template-columns: 1fr; }
}

/* the pinned picker opens on pointerdown right under the finger; if it took the pointerup, the click would
   land on <body> and Litepicker would close again. It ignores the pointer until the tap is over. */
@keyframes nmd-lp-arm { from { pointer-events: none; } to { pointer-events: auto; } }

/* single-month picker from the sheet: days sized so the month fills the frame (22px = frame border + month and container padding) */
@media (max-width: 639px) {
	/* the month width is derived on :root, so it is restated here to pick up the new day width */
	body:has(.nmd-bar.is-open) .litepicker {
		--litepicker-day-width: calc((min(100vw - 32px, 440px) - 22px) / 7);
		--litepicker-month-width: calc(var(--litepicker-day-width) * 7);
	}
	body:has(.nmd-bar.is-open) .litepicker .container__days .day-item { height: 42px; padding: 0; line-height: 42px; }
}

@media (prefers-reduced-motion: reduce) {
	.nmd-trip-line,
	.nmd-trip-days,
	.nmd-bar,
	.nmd-alts-loading span { animation: none; }
	.nmd-card,
	.nmd-card-media img,
	.nmd-gallery img,
	.nmd .nmd-btn { transition: none; }
	.nmd-card:hover .nmd-card-media img,
	.nmd-gallery a:hover img,
	.nmd .nmd-btn:active,
	.nmd-cd .vrc-cdetails-cal-pickday:active { transform: none; }
}

@media print {
	.nmd-od-grid { grid-template-columns: 1fr; }
	.nmd-od-aside { position: static; }
	.nmd-trip-line,
	.nmd-trip-days { animation: none !important; }
	.nmd-od .vrcordcancbox,
	.nmd-od .vrcdownloadpdf,
	.nmd-od .nmd-od-docs,
	.nmd-od-print { display: none; }
	.nmd-trip { background: #fff; color: var(--nmd-ink); border: 1px solid var(--nmd-line); }
	.nmd-trip-place { color: var(--nmd-ink); }
}
