:root {
	--gear-ink: #123b35;
	--gear-moss: #2f6b52;
	--gear-sand: #f2ead8;
	--gear-gold: #d89b2b;
}

.uptrail-gear-picker {
	border: 1px solid rgba(18, 59, 53, .18);
	border-radius: 20px;
	margin: 18px 0;
	padding: 18px;
	background: linear-gradient(145deg, #fbfaf4, #f0eadc);
}

.uptrail-gear-picker legend { padding: 0 8px; color: var(--gear-ink); font-weight: 800; }
.uptrail-gear-picker legend small { margin-left: 7px; color: #66766d; font-weight: 500; }
.uptrail-gear-picker > p { margin: 0 0 14px; color: #52665d; font-size: 13px; }
.uptrail-gear-picker > div { display: grid; gap: 10px; }
.uptrail-gear-picker article { padding: 13px; border: 1px solid transparent; border-radius: 14px; background: rgba(255,255,255,.82); transition: border-color .2s, transform .2s; }
.uptrail-gear-picker article.has-selection { border-color: var(--gear-gold); transform: translateY(-1px); }
.uptrail-gear-picker article header { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.uptrail-gear-picker article header strong { display: block; color: var(--gear-ink); }
.uptrail-gear-picker article header span { white-space: nowrap; color: var(--gear-moss); font-weight: 800; }
.uptrail-gear-picker article em { display: inline-block; margin-top: 4px; border-radius: 999px; padding: 3px 7px; background: #e3efe6; color: var(--gear-moss); font-size: 10px; font-style: normal; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.uptrail-gear-picker article > p { margin: 8px 0; color: #65736c; font-size: 12px; }
.uptrail-gear-quickview { margin: 0 0 10px; border: 0; border-bottom: 1px solid currentColor; padding: 2px 0; background: transparent; color: var(--gear-moss); font: 800 11px/1.4 inherit; cursor: pointer; }
.uptrail-gear-picker article > div { display: grid; grid-template-columns: minmax(110px, .7fr) 1.3fr; gap: 10px; }
.uptrail-gear-picker article label { margin: 0; font-size: 11px; font-weight: 700; }
.uptrail-gear-picker article input, .uptrail-gear-picker article select { width: 100%; min-height: 42px; box-sizing: border-box; margin-top: 4px; border: 1px solid rgba(18,59,53,.18); border-radius: 9px; background: #fff; color: var(--gear-ink); }
.uptrail-gear-picker article input:focus-visible, .uptrail-gear-picker article select:focus-visible { outline: 3px solid rgba(216,155,43,.28); outline-offset: 1px; }
.uptrail-gear-picker > footer { display: flex; justify-content: space-between; align-items: center; margin-top: 15px; padding-top: 14px; border-top: 1px dashed rgba(18,59,53,.22); color: var(--gear-ink); }
.uptrail-gear-picker > footer strong { font-size: 22px; }

.uptrail-gear-dialog { width: min(920px, calc(100% - 28px)); max-height: min(760px, calc(100dvh - 28px)); border: 0; border-radius: 26px; padding: 0; background: #f7f2e7; color: var(--gear-ink); box-shadow: 0 30px 100px rgba(4,31,26,.42); }
.uptrail-gear-dialog::backdrop { background: rgba(4,25,21,.72); backdrop-filter: blur(8px); }
.uptrail-gear-dialog__shell { display: grid; grid-template-columns: minmax(300px,.9fr) minmax(400px,1.1fr); min-height: 530px; }
.uptrail-gear-dialog__shell > button { position: absolute; z-index: 2; top: 16px; right: 16px; width: 42px; height: 42px; border: 1px solid rgba(18,59,53,.12); border-radius: 50%; background: rgba(255,255,255,.9); color: var(--gear-ink); font-size: 28px; cursor: pointer; }
.uptrail-gear-dialog__media { display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 28% 18%,rgba(238,188,94,.34),transparent 24%),linear-gradient(145deg,#316c55,#123b35); }
.uptrail-gear-dialog__media img { width: 100%; height: 100%; object-fit: cover; }
.uptrail-gear-dialog__media span { color: rgba(255,255,255,.74); font: 800 64px/1 Georgia,serif; }
.uptrail-gear-dialog__shell > section { align-self: start; padding: clamp(32px,5vw,56px); }
.uptrail-gear-dialog__shell > section > header { display: flex; justify-content: space-between; gap: 18px; color: var(--gear-moss); font-size: 10px; font-weight: 900; letter-spacing: .11em; }
.uptrail-gear-dialog__shell > section > header small { color: #77847d; }
.uptrail-gear-dialog h3 { margin: 10px 46px 14px 0; color: var(--gear-ink); font: 700 clamp(32px,5vw,52px)/1 Georgia,serif; }
.uptrail-gear-dialog__price { display: flex; align-items: center; gap: 14px; margin: 18px 0; }
.uptrail-gear-dialog__price strong { font-size: 25px; }.uptrail-gear-dialog__price b { border-radius: 999px; padding: 7px 10px; background: #e1ede4; color: var(--gear-moss); font-size: 11px; }
.uptrail-gear-dialog__description { border-top: 1px solid rgba(18,59,53,.12); padding-top: 18px; color: #52665d; line-height: 1.7; }
.uptrail-gear-dialog dl { display: grid; grid-template-columns: 130px 1fr; gap: 8px 14px; margin: 20px 0; padding: 16px; border-radius: 15px; background: #eee7d8; }.uptrail-gear-dialog dt { font-weight: 900; }.uptrail-gear-dialog dd { margin: 0; color: #617069; white-space: pre-line; }
.uptrail-gear-dialog footer { display: grid; grid-template-columns: minmax(180px,220px) 1fr; align-items: center; gap: 14px; }.uptrail-gear-dialog footer button { border: 0; border-radius: 13px; padding: 14px 18px; background: var(--gear-ink); color: #fff; font-weight: 900; cursor: pointer; }.uptrail-gear-dialog footer button:disabled { opacity: .45; }.uptrail-gear-dialog footer small { color: #738079; line-height: 1.45; }

.uptrail-rental-summary,
.uptrail-rental-account { margin: 24px 0; border-radius: 22px; padding: 22px; background: var(--gear-ink); color: #fff; }
.uptrail-rental-summary > span,
.uptrail-rental-account > div:first-child > span { color: #eebc5e; font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.uptrail-rental-summary h3,
.uptrail-rental-account h2 { margin: 4px 0 14px; color: #fff; }
.uptrail-rental-summary article,
.uptrail-rental-account article { display: grid; grid-template-columns: 1fr auto; gap: 4px 16px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.13); }
.uptrail-rental-summary article small,
.uptrail-rental-account article span { grid-column: 1; color: rgba(255,255,255,.72); }
.uptrail-rental-summary article b,
.uptrail-rental-account article b { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: #eebc5e; }
.uptrail-rental-summary footer { display: flex; justify-content: space-between; gap: 14px; padding-top: 16px; }
.uptrail-rental-summary footer span { color: rgba(255,255,255,.74); font-size: 12px; }
.uptrail-rental-summary footer strong { white-space: nowrap; color: #eebc5e; font-size: 20px; }
.uptrail-rental-account { background: linear-gradient(135deg, #123b35, #285d48); }
.uptrail-rental-account > div:first-child p { color: rgba(255,255,255,.72); }

@media (max-width: 600px) {
	.uptrail-gear-picker { margin-inline: -2px; padding: 14px; border-radius: 16px; }
	.uptrail-gear-picker article header { display: grid; }
	.uptrail-gear-picker article > div { grid-template-columns: 1fr; }
	.uptrail-gear-picker > footer,
	.uptrail-rental-summary footer { align-items: flex-start; }
	.uptrail-rental-summary,
	.uptrail-rental-account { padding: 18px; border-radius: 18px; }
	.uptrail-rental-summary article,
	.uptrail-rental-account article { grid-template-columns: 1fr; }
	.uptrail-rental-summary article b,
	.uptrail-rental-account article b { grid-column: 1; grid-row: auto; }
	.uptrail-gear-dialog { width: 100%; max-width: none; max-height: 92dvh; margin: auto 0 0; border-radius: 23px 23px 0 0; }
	.uptrail-gear-dialog__shell { display: block; min-height: 0; }
	.uptrail-gear-dialog__media { height: 30dvh; min-height: 220px; }
	.uptrail-gear-dialog__shell > section { padding: 24px 17px 28px; }
	.uptrail-gear-dialog h3 { font-size: 35px; }
	.uptrail-gear-dialog dl,.uptrail-gear-dialog footer { grid-template-columns: 1fr; }
	.uptrail-gear-dialog dd { padding-bottom: 7px; }
	.uptrail-gear-dialog footer button { width: 100%; }
}
