.vpn-mondial-guide,
.vpn-mondial-stock,
.vpn-mondial-infos {
  --vpn-navy:#0c2036;
  --vpn-orange:#dd5926;
  --vpn-orange-soft:#fff1eb;
  --vpn-cream:#f2eee7;
  --vpn-bg:#f7f8f9;
  --vpn-border:#dde3e8;
  --vpn-text:#1f2b36;
  --vpn-muted:#687581;
  box-sizing:border-box;
  color:var(--vpn-text);
}
.vpn-mondial-guide *,
.vpn-mondial-guide *::before,
.vpn-mondial-guide *::after,
.vpn-mondial-stock *,
.vpn-mondial-stock *::before,
.vpn-mondial-stock *::after,
.vpn-mondial-infos *,
.vpn-mondial-infos *::before,
.vpn-mondial-infos *::after { box-sizing:inherit; }

.vpn-mondial-guide {
  margin:34px 0;
  overflow:hidden;
  border:1px solid var(--vpn-border);
  border-radius:24px;
  background:#fff;
}
.vpn-mondial-guide__header { padding:30px 30px 8px; }
.vpn-mondial-guide__eyebrow,
.vpn-mondial-stock__eyebrow,
.vpn-mondial-infos__eyebrow,
.vpn-mondial-route__eyebrow {
  display:block;
  margin-bottom:7px;
  color:var(--vpn-orange);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.vpn-mondial-guide__title,
.vpn-mondial-stock__title,
.vpn-mondial-infos__title {
  margin:0 0 8px;
  color:var(--vpn-navy);
  font-size:clamp(1.55rem,2.6vw,2.15rem);
  line-height:1.15;
}
.vpn-mondial-guide__intro { margin:0; color:var(--vpn-muted); line-height:1.6; }
.vpn-mondial-guide__form { padding:20px 30px 8px; }
.vpn-mondial-guide__step { margin:0 0 24px; padding:0; border:0; }
.vpn-mondial-guide__step legend {
  display:flex;
  align-items:center;
  gap:11px;
  width:100%;
  margin:0 0 12px;
  padding:0;
  color:var(--vpn-navy);
}
.vpn-mondial-guide__step legend > span:last-child { display:flex; flex-direction:column; gap:1px; }
.vpn-mondial-guide__step legend strong { font-size:1rem; }
.vpn-mondial-guide__step legend small { color:var(--vpn-muted); font-size:.82rem; font-weight:500; }
.vpn-mondial-guide__step-number {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--vpn-navy);
  color:#fff;
  font-size:.84rem;
  font-weight:800;
  flex:0 0 auto;
}
.vpn-mondial-guide__profiles {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.vpn-mondial-choice { display:block; cursor:pointer; min-width:0; }
.vpn-mondial-choice input,
.vpn-duration input {
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.vpn-mondial-choice__content {
  display:flex;
  align-items:center;
  gap:12px;
  min-height:78px;
  padding:14px;
  border:1px solid var(--vpn-border);
  border-radius:14px;
  background:#fff;
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.vpn-mondial-choice__icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:11px;
  background:var(--vpn-bg);
  color:var(--vpn-navy);
  font-size:.75rem;
  font-weight:900;
}
.vpn-mondial-choice__content > span:last-child { min-width:0; display:flex; flex-direction:column; gap:3px; }
.vpn-mondial-choice strong { color:var(--vpn-navy); font-size:.95rem; line-height:1.25; }
.vpn-mondial-choice small { color:var(--vpn-muted); font-size:.8rem; line-height:1.35; }
.vpn-mondial-choice input:checked + .vpn-mondial-choice__content {
  border-color:var(--vpn-orange);
  background:var(--vpn-orange-soft);
  box-shadow:0 0 0 2px rgba(221,89,38,.08);
}
.vpn-mondial-choice input:checked + .vpn-mondial-choice__content .vpn-mondial-choice__icon {
  background:var(--vpn-orange);
  color:#fff;
}
.vpn-mondial-choice input:focus-visible + .vpn-mondial-choice__content,
.vpn-duration input:focus-visible + span { outline:3px solid rgba(221,89,38,.2); outline-offset:2px; }

.vpn-mondial-guide__durations {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  max-width:650px;
}
.vpn-duration { cursor:pointer; }
.vpn-duration > span {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:68px;
  padding:10px;
  border:1px solid var(--vpn-border);
  border-radius:12px;
  background:#fff;
  text-align:center;
}
.vpn-duration strong { color:var(--vpn-navy); font-size:1rem; }
.vpn-duration small { margin-top:2px; color:var(--vpn-muted); font-size:.78rem; }
.vpn-duration input:checked + span { border-color:var(--vpn-navy); background:var(--vpn-navy); }
.vpn-duration input:checked + span strong,
.vpn-duration input:checked + span small { color:#fff; }

.vpn-mondial-guide__result {
  margin-top:8px;
  padding:26px 30px 30px;
  border-top:1px solid var(--vpn-border);
  background:var(--vpn-bg);
}
.vpn-mondial-route__top {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin-bottom:18px;
}
.vpn-mondial-route__top h3 { margin:0; color:var(--vpn-navy); font-size:1.35rem; }
.vpn-mondial-route__summary { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.vpn-mondial-route__summary span {
  padding:8px 10px;
  border:1px solid var(--vpn-border);
  border-radius:999px;
  background:#fff;
  color:var(--vpn-muted);
  font-size:.8rem;
  white-space:nowrap;
}
.vpn-mondial-route__summary strong { color:var(--vpn-navy); }
.vpn-mondial-route__timeline { display:grid; gap:0; }
.vpn-mondial-stop {
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:13px;
  min-width:0;
}
.vpn-mondial-stop__rail { position:relative; display:flex; justify-content:center; }
.vpn-mondial-stop__rail::after {
  content:"";
  position:absolute;
  top:34px;
  bottom:-4px;
  width:2px;
  background:#d9e0e5;
}
.vpn-mondial-stop:last-child .vpn-mondial-stop__rail::after { display:none; }
.vpn-mondial-stop__rail span {
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--vpn-orange);
  color:#fff;
  font-size:.78rem;
  font-weight:900;
}
.vpn-mondial-stop__body {
  margin-bottom:12px;
  padding:15px 16px;
  border:1px solid var(--vpn-border);
  border-radius:14px;
  background:#fff;
}
.vpn-mondial-stop__meta { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:7px; }
.vpn-mondial-stop__meta span {
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 7px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:800;
}
.vpn-mondial-stop__hall { background:var(--vpn-navy); color:#fff; }
.vpn-mondial-stop__priority { background:var(--vpn-orange-soft); color:#9d3b17; }
.vpn-mondial-stop__time { background:#eef1f3; color:#5d6973; }
.vpn-mondial-stop h4 { margin:0 0 4px; color:var(--vpn-navy); font-size:1.05rem; }
.vpn-mondial-stop p { margin:0; color:var(--vpn-muted); line-height:1.5; }
.vpn-mondial-route__tip {
  margin:8px 0 0 51px;
  padding:12px 14px;
  border-left:4px solid var(--vpn-orange);
  border-radius:8px;
  background:#fff;
  color:var(--vpn-muted);
  font-size:.88rem;
  line-height:1.5;
}
.vpn-mondial-route__tip strong { color:var(--vpn-navy); }

.vpn-mondial-guide__footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:20px 30px;
  border-top:1px solid var(--vpn-border);
  background:#fff;
}
.vpn-mondial-guide__footer-text { display:flex; flex-direction:column; gap:2px; }
.vpn-mondial-guide__footer-text strong { color:var(--vpn-navy); }
.vpn-mondial-guide__footer-text span { color:var(--vpn-muted); font-size:.82rem; }
.vpn-mondial-guide__actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.vpn-mondial-guide__button,
.vpn-mondial-stock__button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 15px;
  border:1px solid var(--vpn-orange);
  border-radius:10px;
  background:var(--vpn-orange);
  color:#fff!important;
  font:inherit;
  font-weight:800;
  text-decoration:none!important;
}
.vpn-mondial-guide__link { color:var(--vpn-navy)!important; font-weight:800; text-decoration:none!important; }
.vpn-mondial-guide__link:hover { text-decoration:underline!important; }

.vpn-mondial-stock {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin:28px 0;
  padding:24px;
  border-radius:18px;
  background:var(--vpn-navy);
  color:#fff;
}
.vpn-mondial-stock__eyebrow { color:#ffc3aa; }
.vpn-mondial-stock__title { color:#fff; font-size:1.45rem; }
.vpn-mondial-stock p { margin:0; color:#dbe2e8; line-height:1.5; }
.vpn-mondial-stock__actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.vpn-mondial-stock__button { border-color:#fff; background:#fff; color:var(--vpn-navy)!important; white-space:nowrap; }
.vpn-mondial-stock__button--primary { border-color:var(--vpn-orange); background:var(--vpn-orange); color:#fff!important; }

.vpn-mondial-infos {
  margin:28px 0;
  padding:24px;
  border:1px solid var(--vpn-border);
  border-radius:18px;
  background:#fff;
}
.vpn-mondial-infos__title { font-size:1.45rem; }
.vpn-mondial-infos__facts {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:18px;
}
.vpn-mondial-infos__facts > div {
  min-width:0;
  padding:14px;
  border-radius:12px;
  background:var(--vpn-bg);
}
.vpn-mondial-infos__facts span,
.vpn-mondial-infos__facts small { display:block; color:var(--vpn-muted); font-size:.76rem; }
.vpn-mondial-infos__facts strong { display:block; margin:2px 0; color:var(--vpn-navy); font-size:1.08rem; }
.vpn-mondial-infos__hours { margin-top:14px; border-top:1px solid var(--vpn-border); border-bottom:1px solid var(--vpn-border); }
.vpn-mondial-infos__hours summary { padding:13px 0; color:var(--vpn-navy); font-weight:800; cursor:pointer; }
.vpn-mondial-infos__hours-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:0 0 14px; }
.vpn-mondial-infos__hours-grid > div { padding:10px 12px; border-radius:9px; background:var(--vpn-bg); }
.vpn-mondial-infos__hours-grid strong { display:block; color:var(--vpn-navy); font-size:.82rem; }
.vpn-mondial-infos__hours-grid span { color:var(--vpn-muted); font-size:.82rem; }
.vpn-mondial-infos__bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:16px; }
.vpn-mondial-infos__bottom p { margin:0; color:var(--vpn-muted); font-size:.86rem; }

@media (hover:hover) and (pointer:fine) {
  .vpn-mondial-choice__content:hover { border-color:#bfc9d1; background:#fbfbfc; }
  .vpn-mondial-choice input:checked + .vpn-mondial-choice__content:hover { border-color:var(--vpn-orange); background:var(--vpn-orange-soft); }
  .vpn-duration > span:hover { border-color:#aebac4; }
  .vpn-mondial-guide__button:hover,
  .vpn-mondial-stock__button--primary:hover { filter:brightness(.96); }
}

@media (max-width:760px) {
  .vpn-mondial-guide { border-radius:18px; }
  .vpn-mondial-guide__header { padding:22px 18px 6px; }
  .vpn-mondial-guide__form { padding:18px 18px 4px; }
  .vpn-mondial-guide__profiles { grid-template-columns:1fr; }
  .vpn-mondial-choice__content { min-height:70px; }
  .vpn-mondial-guide__durations { grid-template-columns:1fr; max-width:none; }
  .vpn-duration > span { min-height:58px; align-items:flex-start; text-align:left; }
  .vpn-mondial-guide__result { padding:22px 18px; }
  .vpn-mondial-route__top { flex-direction:column; gap:10px; }
  .vpn-mondial-route__summary { justify-content:flex-start; }
  .vpn-mondial-stop { grid-template-columns:32px minmax(0,1fr); gap:9px; }
  .vpn-mondial-stop__body { padding:13px; }
  .vpn-mondial-route__tip { margin-left:41px; }
  .vpn-mondial-guide__footer { align-items:flex-start; flex-direction:column; padding:18px; }
  .vpn-mondial-guide__actions { width:100%; }
  .vpn-mondial-guide__button { width:100%; }
  .vpn-mondial-guide__link { min-height:44px; display:inline-flex; align-items:center; }
  .vpn-mondial-stock { align-items:flex-start; flex-direction:column; padding:20px; }
  .vpn-mondial-stock__actions { width:100%; justify-content:flex-start; }
  .vpn-mondial-stock__button { width:100%; }
  .vpn-mondial-infos { padding:20px; }
  .vpn-mondial-infos__facts,
  .vpn-mondial-infos__hours-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vpn-mondial-infos__bottom { align-items:flex-start; flex-direction:column; }
  .vpn-mondial-infos__bottom .vpn-mondial-guide__button { width:100%; }
}

@media (max-width:420px) {
  .vpn-mondial-infos__facts,
  .vpn-mondial-infos__hours-grid { grid-template-columns:1fr; }
}
