.mcvri-wrap{
  --mcvri-accent:#e6782f;
  --mcvri-accent-dark:#b95317;
  --mcvri-accent-soft:#fff3ea;
  --mcvri-text:#232b2f;
  --mcvri-muted:#6c767c;
  --mcvri-border:#e6e8e9;
  --mcvri-panel:#f7f8f8;
  --mcvri-card:#ffffff;
  --mcvri-green:#46655d;
  max-width:1160px;
  margin:0 auto;
  padding:30px 20px 72px;
  color:var(--mcvri-text);
  font-family:inherit;
  box-sizing:border-box;
}
.mcvri-wrap *{box-sizing:border-box}
.mcvri-wrap img{max-width:100%}

/* Hero */
.mcvri-hero{
  position:relative;
  min-height:320px;
  border-radius:22px;
  overflow:hidden;
  background:linear-gradient(135deg,#26363a,#425b59 58%,#687767);
  display:flex;
  align-items:flex-end;
  box-shadow:0 14px 34px rgba(24,31,34,.10);
}
.mcvri-hero.has-image{
  background-image:linear-gradient(90deg,rgba(23,31,34,.76),rgba(23,31,34,.28) 62%,rgba(23,31,34,.14)),var(--mcvri-hero);
  background-size:cover;
  background-position:center;
}
.mcvri-hero__overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.28),transparent 64%);pointer-events:none}
.mcvri-hero__content{position:relative;z-index:1;padding:38px 42px;color:#fff;max-width:860px}
.mcvri-eyebrow{font-size:12px;font-weight:800;letter-spacing:.11em;opacity:.9;text-transform:uppercase}
.mcvri-hero h1{color:#fff!important;margin:8px 0 10px!important;font-size:clamp(29px,4vw,48px)!important;line-height:1.18!important;font-weight:800!important;letter-spacing:-.025em}
.mcvri-hero__route{margin:0!important;font-size:16px;line-height:1.5;opacity:.95}
.mcvri-hero__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.mcvri-hero__chips span{padding:7px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.13);backdrop-filter:blur(4px);font-size:13px;font-weight:600}

/* Overview */
.mcvri-intro{max-width:920px;margin:25px auto 0;font-size:16px;line-height:1.8;color:#475258}
.mcvri-intro p:last-child{margin-bottom:0}
.mcvri-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0}
.mcvri-summary__card{border:1px solid var(--mcvri-border);border-radius:13px;padding:15px 16px;background:var(--mcvri-card)}
.mcvri-summary__card span,.mcvri-section-kicker{display:block;color:var(--mcvri-muted);font-size:11px;font-weight:800;letter-spacing:.06em}
.mcvri-summary__card strong{display:block;margin-top:5px;font-size:15px;line-height:1.4;color:var(--mcvri-text)}
.mcvri-routebox{margin-top:25px;padding:20px 22px;border:1px solid var(--mcvri-border);border-radius:15px;background:linear-gradient(180deg,#fafbfb,#f5f7f7)}
.mcvri-routebox h2{font-size:20px!important;line-height:1.3!important;margin:4px 0 7px!important;color:var(--mcvri-text)!important}
.mcvri-routebox p{margin:0!important;line-height:1.7;color:#4f5b60}

/* Day navigation */
.mcvri-daynav{display:flex;gap:8px;overflow-x:auto;padding:24px 2px 11px;scrollbar-width:thin}
.mcvri-daynav a{flex:0 0 auto;text-decoration:none!important;color:var(--mcvri-text)!important;border:1px solid var(--mcvri-border);border-radius:10px;padding:9px 14px;background:#fff;font-size:13px;font-weight:750;transition:border-color .18s ease,box-shadow .18s ease,color .18s ease}
.mcvri-daynav a:hover,.mcvri-daynav a:focus{border-color:var(--mcvri-accent);color:var(--mcvri-accent-dark)!important;box-shadow:0 3px 10px rgba(28,35,38,.06);outline:none}

/* Day card */
.mcvri-days{display:grid;gap:20px;margin-top:6px}
.mcvri-day{border:1px solid #dde1e2;border-radius:18px;background:#fff;overflow:hidden;scroll-margin-top:22px;box-shadow:0 4px 18px rgba(20,27,30,.035)}
.mcvri-day__toggle{width:100%;border:0;background:linear-gradient(180deg,#fff,#fafbfb);display:grid;grid-template-columns:78px minmax(0,1fr) 24px;gap:15px;align-items:center;text-align:left;padding:19px 22px;cursor:pointer;color:inherit}
.mcvri-day__number{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border-radius:999px;background:var(--mcvri-accent-soft);color:var(--mcvri-accent-dark);font-size:11px;font-weight:900;letter-spacing:.05em}
.mcvri-day__heading{min-width:0}
.mcvri-day__title{display:block;font-size:21px;font-weight:800;line-height:1.3;letter-spacing:-.015em;color:var(--mcvri-text)}
.mcvri-day__meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}
.mcvri-day__meta em{font-style:normal;font-size:12px;color:var(--mcvri-muted);background:#f1f3f3;padding:4px 8px;border-radius:999px}
.mcvri-day__chevron{width:12px;height:12px;border-right:2px solid #7c8589;border-bottom:2px solid #7c8589;transform:rotate(45deg) translateY(-2px);transition:transform .2s ease;justify-self:center}
.mcvri-day__toggle[aria-expanded="false"] .mcvri-day__chevron{transform:rotate(-45deg)}
.mcvri-day__body{border-top:1px solid var(--mcvri-border);padding:8px 24px 26px}

/* Schedule list: no long vertical timeline line; each stop reads as a compact card/row. */
.mcvri-schedule-list{display:block}
.mcvri-item{display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;padding:20px 0;border-bottom:1px solid #edf0f1;align-items:start}
.mcvri-item:last-child{border-bottom:0;padding-bottom:4px}
.mcvri-item__aside{display:flex;align-items:flex-start;justify-content:flex-start;padding-top:1px;min-width:0}
.mcvri-item__time{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:7px 9px;border-radius:9px;background:var(--mcvri-accent);color:#fff;font-weight:850;font-size:12px;line-height:1;box-shadow:0 3px 9px rgba(230,120,47,.14)}
.mcvri-item__sidekind{display:inline-flex;align-items:center;justify-content:center;max-width:82px;min-height:25px;padding:5px 8px;border:1px solid #e4e8e8;border-radius:999px;background:#f4f6f6;color:#667277;font-size:10.5px;font-weight:750;line-height:1.25;text-align:center;word-break:keep-all}
.mcvri-item--drive .mcvri-item__sidekind{background:#eef3f3;border-color:#dfe7e7;color:#4f6266}
.mcvri-item--place .mcvri-item__sidekind{background:#f1f6f3;border-color:#e0e9e3;color:#4f675f}
.mcvri-item--activity .mcvri-item__sidekind{background:#fff5ed;border-color:#f1dfd0;color:#9a5426}
.mcvri-item--campervan .mcvri-item__sidekind{background:#eef7f2;border-color:#dce9e1;color:#46655d}
.mcvri-item__content{min-width:0;position:relative}
.mcvri-item__topline{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 8px}
.mcvri-item__kind{display:inline-flex;align-items:center;font-size:11px;line-height:1.2;color:#58656a;background:#f1f3f3;border:1px solid #e4e8e8;padding:5px 8px;border-radius:999px;font-weight:700}
.mcvri-item h3{font-size:19px!important;line-height:1.35!important;margin:0 0 8px!important;color:var(--mcvri-text)!important;font-weight:780!important;letter-spacing:-.01em!important}
.mcvri-item__body{font-size:15px;line-height:1.72;color:#48555a;overflow-wrap:anywhere}
.mcvri-item__body p{margin:0 0 9px!important}
.mcvri-item__body p:last-child{margin-bottom:0!important}
.mcvri-item__body ul,.mcvri-item__body ol{margin:7px 0 8px!important;padding-left:21px!important}
.mcvri-item__body li{margin:4px 0}
.mcvri-item__body a{color:var(--mcvri-accent-dark)}

/* Reusable library content becomes a visual content card. */
.mcvri-item--library .mcvri-item__content{border:1px solid #e1e5e5;border-radius:15px;padding:14px 16px 16px;background:#fff;box-shadow:0 4px 14px rgba(27,34,37,.035)}
.mcvri-item--library.mcvri-item--place .mcvri-item__content{background:linear-gradient(180deg,#fff,#fbfcfb)}
.mcvri-item--library.mcvri-item--activity .mcvri-item__content{background:linear-gradient(180deg,#fff,#fffdf9);border-color:#e9e5df}
.mcvri-item--library.mcvri-item--tip .mcvri-item__content{background:#fffaf6;border-color:#f0e3d8}
.mcvri-item--library.mcvri-item--campervan .mcvri-item__content{background:#f5faf7;border-color:#dfe9e3}
.mcvri-item--library.mcvri-item--stay .mcvri-item__content{background:#faf9f5;border-color:#e8e5da}

/* Compact operational items. */
.mcvri-item--drive .mcvri-item__content{padding:13px 16px;border-radius:12px;background:#f6f8f8;border:1px solid #e8ebec}
.mcvri-item--drive .mcvri-item__topline{margin-bottom:5px}
.mcvri-item--drive h3{font-size:16px!important;margin-bottom:4px!important}
.mcvri-item--drive .mcvri-item__body{font-size:14px;line-height:1.6;color:#4c595e}
.mcvri-item--arrival .mcvri-item__content,.mcvri-item--free .mcvri-item__content,.mcvri-item--shopping .mcvri-item__content{padding:12px 15px;border-radius:12px;background:#f8f9f9;border:1px solid #eceeef}
.mcvri-item--campervan:not(.mcvri-item--library) .mcvri-item__content{padding:13px 15px;border-radius:12px;background:#f1f7f4;border:1px solid #dce8e2}
.mcvri-item--stay:not(.mcvri-item--library) .mcvri-item__content{padding:13px 15px;border-radius:12px;background:#f7f6f2;border:1px solid #e7e3da}
.mcvri-item--tip:not(.mcvri-item--library) .mcvri-item__content{padding:13px 15px;border-radius:12px;background:#fff8f3;border:1px solid #f1dfd2}
.mcvri-item--note:not(.mcvri-item--library) .mcvri-item__content{padding:12px 15px;border-radius:12px;background:#fff;border:1px solid #eceeef}

/* Legacy warnings converted by renderer. */
.mcvri-inline-notice{position:relative;margin:10px 0 0;padding:11px 13px 11px 38px;border-radius:10px;background:#fff3ea;border:1px solid #f0d8c7;color:#8a431b;font-size:13px;line-height:1.55}
.mcvri-inline-notice:before{content:"!";position:absolute;left:13px;top:11px;width:17px;height:17px;border-radius:50%;background:var(--mcvri-accent);color:#fff;font-size:11px;font-weight:900;line-height:17px;text-align:center}
.mcvri-inline-notice strong,.mcvri-inline-notice span{color:inherit!important}

/* Gallery is compact so text remains the primary itinerary content. */
.mcvri-gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin:13px 0 0!important;max-width:880px;width:100%!important;float:none!important;clear:both}
.mcvri-gallery figure{display:block!important;float:none!important;width:100%!important;max-width:none!important;margin:0!important;aspect-ratio:16/9;border-radius:9px!important;overflow:hidden;background:#edf0f1}
.mcvri-gallery img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;display:block!important;float:none!important;margin:0!important;padding:0!important;border-radius:0!important;transition:transform .25s ease}
.mcvri-gallery figure:hover img{transform:scale(1.015)}

.mcvri-daynote{margin-top:19px;padding:13px 15px;border-radius:11px;background:var(--mcvri-panel);border:1px solid var(--mcvri-border);line-height:1.7;color:#536065}
.mcvri-empty{margin-top:20px;padding:30px;border:1px dashed var(--mcvri-border);border-radius:14px;text-align:center;color:var(--mcvri-muted)}

@media(max-width:800px){
  .mcvri-wrap{padding:18px 14px 54px}
  .mcvri-hero{min-height:285px;border-radius:17px}
  .mcvri-hero__content{padding:28px 24px}
  .mcvri-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .mcvri-summary__card{padding:13px}
  .mcvri-day__toggle{grid-template-columns:66px minmax(0,1fr) 20px;padding:16px;gap:11px}
  .mcvri-day__title{font-size:19px}
  .mcvri-day__body{padding:4px 16px 21px}
  .mcvri-item{padding:18px 0}
  .mcvri-item{grid-template-columns:76px minmax(0,1fr);gap:12px}
.mcvri-item__sidekind{max-width:74px;font-size:10px;padding:4px 6px}
  .mcvri-item__kind{font-size:10.5px;padding:4px 6px}
  .mcvri-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
}

@media(max-width:560px){
  .mcvri-hero{min-height:255px}
  .mcvri-hero__content{padding:24px 19px}
  .mcvri-hero h1{font-size:27px!important}
  .mcvri-routebox{padding:17px}
  .mcvri-day__toggle{grid-template-columns:58px minmax(0,1fr) 18px;padding:14px 13px}
  .mcvri-day__number{min-height:30px;font-size:10px}
  .mcvri-day__meta{margin-top:5px}
  .mcvri-day__body{padding:2px 13px 18px}
  .mcvri-item{display:block;padding:17px 0}
  .mcvri-item__aside{display:block;margin-bottom:8px;padding:0}
  .mcvri-item__time{min-width:0}
  .mcvri-item h3{font-size:18px!important}
  .mcvri-item__body{font-size:14.5px}
  .mcvri-item--library .mcvri-item__content{padding:14px}
  .mcvri-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:10px}
  .mcvri-gallery figure{aspect-ratio:1/1}
}

@media(max-width:390px){
  .mcvri-summary{grid-template-columns:1fr}
  .mcvri-gallery{grid-template-columns:1fr 1fr}
  .mcvri-gallery figure:first-child{grid-column:1/-1;aspect-ratio:16/9}
}

/* v0.1.7 Holiday Park linked stay cards */
.mcvri-item--holidayparks .mcvri-item__content{padding:15px 16px 16px!important;background:linear-gradient(180deg,#fbfcfa,#f6f8f5)!important;border:1px solid #dde5dd!important;border-radius:15px!important}
.mcvri-item--holidayparks h3{margin-bottom:11px!important}
.mcvri-stay-note{margin-bottom:12px}
.mcvri-park-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.mcvri-park-card{display:grid;grid-template-columns:116px minmax(0,1fr);min-width:0;overflow:hidden;border:1px solid #e0e5df;border-radius:12px;background:#fff;box-shadow:0 3px 10px rgba(31,43,36,.035)}
.mcvri-park-card__media{display:block;min-height:112px;background:#edf2ee;overflow:hidden;text-decoration:none!important}
.mcvri-park-card__media img{display:block;width:100%!important;height:100%!important;min-height:112px;object-fit:cover}
.mcvri-park-card__media.is-placeholder{display:grid;place-items:center;color:#6c7f74;font-size:20px;font-weight:800}
.mcvri-park-card__body{padding:12px 13px;min-width:0}
.mcvri-park-card__eyebrow{font-size:9px;letter-spacing:.09em;font-weight:850;color:#718179;margin-bottom:4px}
.mcvri-park-card h4{font-size:15px!important;line-height:1.35!important;margin:0 0 5px!important;color:var(--mcvri-text)!important}
.mcvri-park-card h4 a{color:inherit!important;text-decoration:none!important}
.mcvri-park-card p{margin:0 0 7px!important;font-size:12.5px;line-height:1.55;color:#647168}
.mcvri-park-card__link{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:750;color:var(--mcvri-accent-dark)!important;text-decoration:none!important}
.mcvri-park-card__link:hover{text-decoration:underline!important}
@media(max-width:760px){.mcvri-park-grid{grid-template-columns:1fr}}
@media(max-width:560px){.mcvri-park-card{grid-template-columns:92px minmax(0,1fr)}.mcvri-park-card__media,.mcvri-park-card__media img{min-height:100px}}
