/* Machu Picchu route picker, tour booking box */
.mpc{--mpc-acc:#8f682c;margin:2px 0 20px;padding:0 0 18px;border-bottom:1px solid var(--line)}
html[data-theme="dark"] .mpc{--mpc-acc:var(--gold-400)}
.mpc__title{font-size:16px;line-height:1.3;font-weight:700;color:var(--ink);letter-spacing:-.005em}
#mpcBody{min-height:330px}
.mpc__intro{margin:5px 0 13px;font-size:12.5px;line-height:1.45;color:var(--ink-soft)}

.mpc__tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line-2);border-radius:var(--radius-lg);overflow:hidden}
.mpc__tab{appearance:none;background:var(--surface);border:0;border-left:1px solid var(--line-2);padding:8px 3px 9px;min-height:50px;font:inherit;font-size:13px;line-height:1.2;font-weight:700;color:var(--ink);cursor:pointer;text-align:center;transition:background-color .15s,color .15s}
.mpc__tab:first-child{border-left:0}
.mpc__tab small{display:block;margin-bottom:2px;font-size:10.5px;font-weight:500;color:var(--ink-faint)}
.mpc__tab:hover{background:var(--bone)}
.mpc__tab.is-on{background:var(--navy-800);color:#fff}
.mpc__tab.is-on small{color:var(--gold-300)}
.mpc__tab:focus-visible{outline:2px solid var(--gold-500);outline-offset:-2px}

.mpc__grp{margin:10px 0 9px;font-size:12.5px;line-height:1.4;color:var(--ink-soft)}

.mpc__list{display:grid;gap:6px}
.mpc__row{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:10px;align-items:start;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);cursor:pointer;transition:border-color .15s}
.mpc__row:hover{border-color:var(--gold-400)}
.mpc__row.is-on{border-color:var(--gold-500);box-shadow:inset 0 0 0 1px var(--gold-500)}
.mpc__row.is-off{cursor:not-allowed;opacity:.55}
.mpc__row.is-off:hover{border-color:var(--line)}
.mpc__row input{position:absolute;width:1px;height:1px;opacity:0;margin:0}
.mpc__mark{width:16px;height:16px;margin-top:2px;border:1.5px solid var(--line-2);border-radius:50%;background:var(--surface);box-sizing:border-box}
.mpc__row.is-on .mpc__mark{border:5px solid var(--gold-500)}
.mpc__row input:focus-visible~.mpc__mark{outline:2px solid var(--gold-500);outline-offset:2px}
.mpc__main{min-width:0}
.mpc__name{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;font-size:13.5px;line-height:1.35;font-weight:600;color:var(--ink)}
.mpc__name b{font-weight:700;color:var(--mpc-acc);margin-right:3px}
.mpc__name em{font-style:normal;font-size:11px;font-weight:600;color:var(--mpc-acc);white-space:nowrap}
.mpc__next{display:block;margin-top:1px;font-size:12px;line-height:1.35;color:var(--ink-faint)}

.mpc__detail{grid-column:2;margin-top:7px}
.mpc__desc{display:block;font-size:12.5px;line-height:1.45;color:var(--ink-soft)}
.mpc__facts{display:flex;flex-wrap:wrap;gap:5px 13px;margin-top:8px}
.mpc__facts>span{display:inline-flex;align-items:center;gap:5px;font-size:12px;line-height:1.3;font-weight:500;color:var(--ink)}
.mpc__facts>span.is-no{color:var(--ink-faint)}
.mpc__facts svg{width:14px;height:14px;flex:none;fill:none;stroke:var(--mpc-acc);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mpc__facts>span.is-no svg{stroke:var(--ink-faint)}

.mpc__status{margin-top:11px}
.mpc__line{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 7px;margin:0;font-size:12.5px;line-height:1.45;color:var(--ink-soft)}
.mpc__line strong{font-weight:700;color:var(--ink)}
.mpc__line a{margin-left:auto;font-weight:600;color:var(--mpc-acc);text-decoration:none;white-space:nowrap}
.mpc__line a:hover{text-decoration:underline}
.mpc__dot{flex:none;align-self:center;width:7px;height:7px;border-radius:50%;background:#16a34a}
.mpc__dot--off{background:var(--line-2)}
.mpc__note{margin:4px 0 0;font-size:11.5px;line-height:1.45;color:var(--ink-faint)}

html[data-theme="dark"] .mpc__tab.is-on{background:var(--gold-500);color:#14233a}
html[data-theme="dark"] .mpc__tab.is-on small{color:#14233a}

.mpc__status>.mpc__note:first-child{margin:0 0 10px}
.mpc__check{padding:13px 14px 14px;background:var(--bone);border-radius:var(--radius-lg)}
.mpc__check strong{display:block;font-size:13.5px;line-height:1.35;font-weight:700;color:var(--ink)}
.mpc__check p{margin:4px 0 11px;font-size:12.5px;line-height:1.45;color:var(--ink-soft)}
.mpc__wa{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 14px;background:#157a42;border-radius:var(--radius-lg);color:#fff!important;font-size:13.5px;font-weight:700;text-decoration:none;transition:background-color .15s}
.mpc__wa:hover{background:#106336}
.mpc__wa:focus-visible{outline:2px solid var(--gold-500);outline-offset:2px}
.mpc__wa svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.mpc__or{display:block;margin-top:8px;font-size:12px;line-height:1.4;text-align:center;color:var(--ink-soft);overflow-wrap:anywhere}
.mpc__or a{font-weight:600;color:var(--mpc-acc);text-decoration:none}
.mpc__or a:hover{text-decoration:underline}

.mpc-gate{--mpc-acc:#8f682c;box-sizing:border-box;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:24px;border:0;border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-xl)}
html[data-theme="dark"] .mpc-gate{--mpc-acc:var(--gold-400)}
.mpc-gate:focus{outline:none}
.mpc-gate::backdrop{background:rgba(14,27,46,.6)}
.mpc-gate__x{position:absolute;top:10px;right:10px;width:36px;height:36px;border:0;background:none;font:inherit;font-size:24px;line-height:1;color:var(--ink-soft);cursor:pointer}
.mpc-gate__t{padding-right:28px;font-size:19px;line-height:1.25;font-weight:700;color:var(--ink)}
.mpc-gate__b{margin:8px 0 14px;font-size:14px;line-height:1.5;color:var(--ink-soft)}
.mpc-gate__sum{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 14px;margin:0 0 16px;padding:12px 14px;background:var(--bone);border-radius:var(--radius-lg);font-size:13px;line-height:1.4}
.mpc-gate__sum dt{color:var(--ink-soft)}
.mpc-gate__sum dd{margin:0;font-weight:600;color:var(--ink)}
.mpc-gate__go{display:block;width:100%;min-height:44px;margin-top:10px;padding:8px 12px;border:1px solid var(--line-2);border-radius:var(--radius-lg);background:none;font:inherit;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer}
.mpc-gate__go:hover{background:var(--bone)}

@media(max-width:380px){.mpc__tab{font-size:11px;padding-left:0;padding-right:0;letter-spacing:-.01em}.mpc__tab small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.mpc__tab,.mpc__row{transition:none}}

.tour-cal__day--avail::after{content:"";display:block;width:4px;height:4px;border-radius:50%;background:#16a34a;margin-top:3px}
.tour-cal__day--avail.tour-cal__day--selected::after{background:#fff}
.tour-cal__day--avail.tour-cal__day--today::after{background:#c99e5c}
