/* Hela Lanka — multi-day tour planner + customer quotation page (builds on calculator.css). */
.hle-tour .hle-calc__body { grid-template-columns: minmax(0, 1fr) 300px; }
.hle-tour__main { display: grid; gap: 18px; min-width: 0; }
.hle-tour__section { margin: 0; padding: 0; border: 0; min-width: 0; }
.hle-tour__legend { padding: 0; margin: 0 0 10px; font-size: 16px; font-weight: 700; color: var(--c-ink); }
.hle-tour__help { margin: -4px 0 10px; font-size: 13px; color: var(--c-muted); }
.hle-tour__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px 16px; }
.hle-tour__grid .hle-field--wide { grid-column: span 2; }
.hle-tour__grid .hle-field--full { grid-column: 1 / -1; }
.hle-tour .hle-control > input[type="email"], .hle-tour .hle-control > input[type="tel"], .hle-tour .hle-field--notes textarea { padding-left: 12px; }
.hle-calc input[type="email"] { width: 100%; min-height: 46px; margin: 0; padding: 10px 12px; font: inherit; font-size: 14px; color: var(--c-ink); background: #fff; border: 1px solid var(--c-border); border-radius: 8px; }
.hle-tour__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.hle-chip { padding: 4px 10px; border: 1px solid var(--c-border); border-radius: 999px; background: #fff; color: var(--c-ink); font: inherit; font-size: 12.5px; cursor: pointer; }
.hle-chip:hover, .hle-chip:focus-visible { border-color: var(--c-green); color: var(--c-green-700); }
.hle-chip:focus-visible { outline: 3px solid var(--c-focus); outline-offset: 1px; }

.hle-tour__days { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.hle-day { padding: 14px 16px; border: 1px solid var(--c-line); border-radius: 10px; background: #fbfcfd; }
.hle-day[hidden] { display: none; }
.hle-day__head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.hle-day__title { margin: 0; font-size: 15px; font-weight: 700; color: var(--c-ink); }
.hle-day__distance { margin: 0; font-size: 13px; font-weight: 600; color: var(--c-green-700); }
.hle-day__distance.is-error { color: var(--c-amber); font-weight: 500; }
.hle-day__from, .hle-day__to { margin: 4px 0 10px; font-size: 13px; color: var(--c-text); }
.hle-day__to { margin: 10px 0 0; }
.hle-day__to[hidden], .hle-day__end[hidden] { display: none; }
.hle-day__stops { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; }
.hle-day__stop { position: relative; }
.hle-day__remove { position: absolute; top: -2px; right: 0; width: 28px; height: 24px; border: 0; background: none; color: var(--c-muted); font-size: 20px; line-height: 1; cursor: pointer; }
.hle-day__remove:hover { color: var(--c-red); }
.hle-day__add { display: inline-flex; align-items: center; gap: 6px; margin: 10px 0 0; padding: 6px 10px; border: 1px dashed var(--c-green); border-radius: 6px; background: #fff; color: var(--c-green-700); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.hle-day__add[hidden] { display: none; }
.hle-day__add .hle-i { width: 15px; height: 15px; }
.hle-day__end { margin-top: 12px; }
.hle-tour__map { height: 320px; margin-top: 14px; border-radius: 10px; overflow: hidden; border: 1px solid var(--c-line); background: #e8eef3; }
.hle-tour__map[hidden] { display: none; }
.hle-tour__total { margin: 0 0 10px; font-size: 13.5px; font-weight: 600; color: var(--c-ink); }
.hle-tour__total:empty { display: none; }
.hle-tour__consent { margin-top: 14px; font-size: 13.5px; color: var(--c-ink); }
.hle-tour__consent label { display: flex; gap: 8px; align-items: flex-start; }
.hle-tour__consent input { margin-top: 3px; width: 18px; height: 18px; flex: none; accent-color: var(--c-green); }
.hle-tour__panel { position: sticky; top: 100px; }
.hle-tour__done { padding: 18px 20px; border-radius: 10px; background: var(--c-green-50); border: 1px solid var(--c-green-100); color: var(--c-ink); }
.hle-tour__done[hidden] { display: none; }
.hle-tour__done-title { margin: 0 0 8px; font-size: 18px; }
.hle-tour__done-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.hle-tour__done-actions .hle-calc__send { width: auto; text-decoration: none; padding: 10px 18px; min-height: 0; }
.hle-calc__body[hidden] { display: none; }

/* Customer quotation page */
.hle-quote { max-width: 900px; margin: 0 auto; }
.hle-quote__head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.hle-quote__title { margin: 0; font-size: 26px; color: var(--c-ink); }
.hle-quote__status { padding: 3px 10px; border-radius: 999px; font-size: 13px; font-weight: 700; background: #eef2f6; color: var(--c-ink); }
.hle-quote__status--quoted { background: #dbeafe; color: #1e3a8a; }
.hle-quote__status--accepted { background: var(--c-green-100); color: var(--c-green-700); }
.hle-quote__status--rejected { background: var(--c-red-50); color: var(--c-red); }
.hle-quote__notice { padding: 10px 12px; border-radius: 8px; background: var(--c-green-50); border: 1px solid var(--c-green-100); color: var(--c-green-700); font-weight: 500; }
.hle-quote__price { margin-bottom: 20px; }
.hle-quote__price h2 { margin: 0; }
.hle-quote__price .hle-calc__breakdown { max-width: 520px; }
.hle-quote__valid { font-size: 13px; color: var(--c-text); }
.hle-quote__valid.is-expired { color: var(--c-red); font-weight: 600; }
.hle-quote__notes h3, .hle-quote__terms h3 { margin: 12px 0 4px; font-size: 14px; }
.hle-quote__notes, .hle-quote__terms { font-size: 13.5px; color: var(--c-text); }
.hle-quote__actions { display: flex; gap: 10px; flex-wrap: wrap; margin: 14px 0 6px; }
.hle-quote__actions .hle-calc__send { width: auto; padding: 10px 22px; }
.hle-quote__decline { padding: 10px 18px; border: 1px solid var(--c-border); border-radius: 8px; background: #fff; color: var(--c-ink); font: inherit; font-weight: 600; cursor: pointer; }
.hle-quote__price .hle-calc__open { margin-top: 10px; }
.hle-quote__trip h2 { font-size: 20px; color: var(--c-ink); }
.hle-quote__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 16px; margin: 0 0 14px; }
.hle-quote__facts dt { font-size: 12.5px; color: var(--c-muted); }
.hle-quote__facts dd { margin: 2px 0 0; font-weight: 600; color: var(--c-ink); }
.hle-quote__days { margin: 14px 0 0; padding-left: 0; list-style: none; display: grid; gap: 10px; }
.hle-quote__day { padding: 10px 14px; border: 1px solid var(--c-line); border-radius: 8px; background: #fff; }
.hle-quote__day-title { margin: 0; display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-size: 14px; color: var(--c-ink); }
.hle-quote__day-title span { color: var(--c-green-700); font-weight: 600; font-size: 13px; }
.hle-quote__route { margin: 4px 0 0; font-size: 13.5px; color: var(--c-text); }

@media (max-width: 1100px) {
	.hle-tour__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.hle-tour .hle-calc__body { grid-template-columns: 1fr; }
	.hle-tour__panel { position: static; }
}
@media (max-width: 560px) {
	.hle-tour__grid, .hle-day__stops, .hle-quote__facts { grid-template-columns: 1fr; }
	.hle-tour__grid .hle-field--wide { grid-column: 1 / -1; }
	.hle-tour__map { height: 240px; }
	.hle-quote__title { font-size: 21px; }
}
