/* Generic opt-in parity layer for a legacy full-review candidate. */
@import url("./review-components-v49.2.10.css");

.pt-legacy-full-review-eyebrow {
  display:block;
  margin:0 0 .55rem;
  color:var(--pt-orange,#d57539);
  font-family:var(--pt-sans,system-ui,sans-serif);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.11em;
  line-height:1.2;
  text-transform:uppercase;
}

/* Current full-review Hero fact boxes.  This is the same rectangular
   metadata treatment used by the shared site shell; legacy candidates opt
   in with semantic classes rather than carrying a product-specific override. */
.pt-current-hero-facts { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0; }
.review-header .pt-current-hero-fact-box { padding:7px 11px; border:1px solid rgba(255,255,255,.35); border-radius:0; background:rgba(24,50,74,.38); color:#f4f0e6; font-size:.82rem; }

/* The Epic candidate ends its article at Last Run. Tighten only the
   following candidate-owned gateway transition after Household Math was
   removed; legacy and protected review section rhythm is untouched. */
[data-legacy-full-review-parity="epic"] .pt-legacy-last-run-review-layout,
[data-legacy-full-review-parity="ikon"] .pt-legacy-last-run-review-layout { padding-bottom:2rem; }
[data-legacy-full-review-parity="epic"] .pt-legacy-last-run-review-layout + .gateway-guide-links { margin-top:1.5rem; }
.pt-final-alert-referral { margin-bottom:3rem; }
@media(max-width:780px) {
  [data-legacy-full-review-parity="epic"] .pt-legacy-last-run-review-layout,
  [data-legacy-full-review-parity="ikon"] .pt-legacy-last-run-review-layout { padding-bottom:1.5rem; }
  [data-legacy-full-review-parity="epic"] .pt-legacy-last-run-review-layout + .gateway-guide-links { margin-top:1.25rem; }
  .pt-final-alert-referral { margin-bottom:2.5rem; }
}

.side-card .pt-legacy-alternative { display:block; margin:9px 0; color:var(--brick,#a94438); font-weight:700; }

.pt-legacy-editorial-flow { position:relative!important; display:block!important; min-height:0!important; height:auto!important; margin:2rem 0!important; overflow:visible!important; isolation:auto!important; background:transparent!important; }
.pt-legacy-editorial-flow::after { content:none!important; display:none!important; }
.pt-legacy-editorial-flow .pt-photo-media,
.pt-legacy-editorial-flow .pt-photo-v18-panorama-media { position:relative!important; width:100%!important; min-height:0!important; height:auto!important; overflow:visible!important; }
.pt-legacy-editorial-flow .pt-photo-media img,
.pt-legacy-editorial-flow .pt-photo-v18-panorama-media img { display:block; width:100%; height:auto!important; max-height:none!important; object-fit:contain!important; }
.pt-legacy-editorial-flow figcaption { position:static!important; inset:auto!important; z-index:auto!important; display:block!important; width:min(100%,48rem)!important; max-width:48rem!important; margin:1rem 0 0!important; padding:0!important; transform:none!important; color:inherit!important; background:transparent!important; column-count:1!important; columns:1!important; }
.pt-legacy-editorial-flow figcaption .pt-photo-kicker { position:static!important; display:block!important; margin:0 0 .55rem!important; color:var(--pt-orange,#d57539)!important; }
.pt-legacy-editorial-flow figcaption strong,
.pt-legacy-editorial-flow figcaption h2 { display:block!important; margin:0 0 .6rem!important; color:var(--navy,#18324a)!important; font-family:var(--display,Georgia,serif)!important; font-size:clamp(1.65rem,3vw,2.4rem)!important; line-height:1.08!important; }
.pt-legacy-editorial-flow figcaption p { max-width:42rem!important; margin:0!important; color:var(--ink,#263946)!important; column-count:1!important; columns:1!important; }

/* Declarative, candidate-package photo presentation. The variables are set
   on a review package, so each legacy candidate can opt into a focal point
   without changing another review's Hero. */
[data-legacy-photo-set] .review-hero-media img { object-position:var(--pt-legacy-hero-object-position,72% 50%)!important; transform:scale(var(--pt-legacy-hero-scale,1)); transform-origin:var(--pt-legacy-hero-object-position,72% 50%); }
[data-legacy-photo-set] .review-header .review-hero-overlay { background:linear-gradient(90deg,rgba(8,24,38,.88) 0%,rgba(8,24,38,.76) 34%,rgba(8,24,38,.43) 58%,rgba(8,24,38,.13) 77%,rgba(8,24,38,.03) 100%)!important; }
[data-legacy-photo-set] .pt-official-vail-photo { display:block; }
[data-legacy-photo-set] .pt-official-vail-photo img { display:block; width:100%; height:100%; object-fit:cover; }
[data-legacy-photo-set] .pt-official-vail-credit { margin:.6rem 0 0; font-size:.76rem; font-weight:800; line-height:1.35; }
[data-legacy-photo-set] .pt-official-vail-credit--light { color:var(--pt-copy,#5a6670)!important; }
[data-legacy-photo-set] .rating-hero { grid-template-columns:minmax(154px,18vw) minmax(0,740px)!important; }
[data-legacy-full-review-parity="epic"] .rating-hero { grid-template-columns:154px minmax(0,740px)!important; gap:28px!important; justify-content:start!important; }
[data-legacy-full-review-parity="epic"] .rating-hero > div:last-child,
[data-legacy-full-review-parity="epic"] .rating-hero > div:last-child h2,
[data-legacy-full-review-parity="epic"] .rating-hero > div:last-child p { text-align:left!important; }
[data-legacy-photo-set] .pt-official-vail-credit--on-hero { color:#fff9ef!important; text-shadow:0 2px 8px rgba(0,0,0,.82); }
[data-legacy-photo-set] .pt-legacy-post-decision-credit { width:auto; margin:.75rem 0 1.1rem; text-align:left; }
[data-legacy-photo-set] .pt-photo-full-uncropped .pt-photo-media { width:100%!important; height:auto!important; min-height:0!important; overflow:visible!important; }
[data-legacy-photo-set] .pt-photo-full-uncropped .pt-official-vail-photo img { display:block; width:100%; height:auto!important; min-height:0!important; max-height:none!important; object-fit:contain!important; }
[data-legacy-photo-set] .pt-photo-utility-split > .pt-official-vail-credit { grid-column:1 / -1; justify-self:end; margin:-.7rem 0 .3rem; text-align:right; }
[data-legacy-photo-set] .pt-legacy-editorial-flow > .pt-official-vail-credit { margin:.6rem 0 0; text-align:right; }
[data-legacy-photo-set] .pt-photo-v18-mosaic > .pt-official-vail-credit--light { text-align:right; text-shadow:none!important; }
[data-legacy-photo-set] .pt-photo-v18-mosaic .pt-official-vail-photo img { object-position:center 45%; }
[data-legacy-photo-set] .pt-photo-v18-panorama .pt-official-vail-photo img,
[data-legacy-photo-set] .pt-photo-immersive .pt-official-vail-photo img { height:auto!important; object-fit:contain!important; }
@media(max-width:760px) {
  [data-legacy-photo-set] .review-hero-media img { object-position:var(--pt-legacy-hero-mobile-object-position,64% 50%)!important; }
  [data-legacy-photo-set] .rating-hero { grid-template-columns:1fr!important; }
}

/* The legacy review markup uses a score marker rather than the current score
   component. This opt-in bridge keeps its existing shield and aligns the
   label, value and unit as one grid-based score unit. */
[data-legacy-full-review-parity="ikon"] .rating-hero .pt-legacy-score-shield,
[data-legacy-full-review-parity="epic"] .rating-hero .pt-legacy-score-shield { position:relative!important; display:grid!important; grid-template-columns:1fr!important; grid-template-rows:auto auto auto!important; align-content:center!important; align-items:center!important; justify-content:center!important; gap:.35rem!important; width:139px!important; height:150px!important; min-width:139px!important; padding:20px 15px 22px!important; box-sizing:border-box!important; text-align:center!important; transform:none!important; }
[data-legacy-full-review-parity="ikon"] .rating-hero .pt-legacy-score-shield > *,
[data-legacy-full-review-parity="epic"] .rating-hero .pt-legacy-score-shield > * { position:relative!important; z-index:1!important; margin:0!important; }
[data-legacy-full-review-parity="ikon"] .rating-hero .pt-legacy-score-shield .rating-editorial-label,
[data-legacy-full-review-parity="epic"] .rating-hero .pt-legacy-score-shield .rating-editorial-label { grid-column:1 / -1!important; grid-row:1!important; align-self:end!important; color:#dcae2b!important; font-size:9px!important; line-height:1!important; font-weight:700!important; letter-spacing:.10em!important; white-space:nowrap!important; }
[data-legacy-full-review-parity="ikon"] .rating-hero .pt-legacy-score-shield strong,
[data-legacy-full-review-parity="epic"] .rating-hero .pt-legacy-score-shield strong { grid-column:1!important; grid-row:2!important; color:#dcae2b!important; font-size:42px!important; line-height:.9!important; font-weight:700!important; }
[data-legacy-full-review-parity="ikon"] .rating-hero .pt-legacy-score-shield span,
[data-legacy-full-review-parity="epic"] .rating-hero .pt-legacy-score-shield span { grid-column:1!important; grid-row:3!important; align-self:start!important; color:#fff!important; font-size:13px!important; font-weight:700!important; line-height:1!important; }
[data-legacy-full-review-parity="ikon"] .proximity-purchase-step,
[data-legacy-full-review-parity="epic"] .proximity-purchase-step { margin-bottom:1.75rem!important; }
@media(max-width:760px) {
  [data-legacy-full-review-parity="ikon"] .rating-hero .pt-legacy-score-shield,
  [data-legacy-full-review-parity="epic"] .rating-hero .pt-legacy-score-shield { width:108px!important; height:120px!important; min-width:108px!important; padding:16px 10px 18px!important; gap:.26rem!important; }
  [data-legacy-full-review-parity="ikon"] .rating-hero .pt-legacy-score-shield .rating-editorial-label,
  [data-legacy-full-review-parity="epic"] .rating-hero .pt-legacy-score-shield .rating-editorial-label { font-size:8px!important; }
  [data-legacy-full-review-parity="ikon"] .rating-hero .pt-legacy-score-shield strong,
  [data-legacy-full-review-parity="epic"] .rating-hero .pt-legacy-score-shield strong { font-size:34px!important; }
  [data-legacy-full-review-parity="ikon"] .rating-hero .pt-legacy-score-shield span,
  [data-legacy-full-review-parity="epic"] .rating-hero .pt-legacy-score-shield span { font-size:11px!important; }
}

[data-legacy-current-table] { overflow-x:auto!important; overflow-y:visible!important; -webkit-overflow-scrolling:touch; }
[data-legacy-current-table] .proximity-table { min-width:720px; }
[data-legacy-current-table] .resort-name-with-badge { display:flex; align-items:center; flex-wrap:wrap; gap:.28rem .35rem; }
[data-legacy-current-table] .pt-epic-resort-badge { display:inline-flex; align-items:center; gap:.26rem; width:max-content; max-width:100%; margin:0; border:1px solid #92babc; border-radius:999px; padding:.28rem .36rem .28rem .32rem; background:#edf5f5; color:#1f5661; font:800 .62rem/1 var(--pt-sans,system-ui,sans-serif); letter-spacing:.05em; text-transform:uppercase; white-space:nowrap; }
[data-legacy-current-table] .pt-epic-resort-badge.psia::before { content:""; width:.38rem; height:.38rem; flex:0 0 .38rem; background:#d57539; transform:rotate(45deg); }
[data-legacy-current-table] .pt-epic-resort-badge.kids { border-color:#df9d76; background:#fff2e8; color:#8b4425; }
[data-legacy-current-table] .pt-resort-badge-info { display:inline-grid; place-items:center; width:.9rem; height:.9rem; margin:0 0 0 .06rem; padding:0; border:0; border-radius:50%; background:#197d88; color:#fff; font:800 .63rem/1 Arial,sans-serif; cursor:pointer; }
[data-legacy-current-table] .pt-resort-badge-popover { position:fixed; z-index:80; width:min(320px,calc(100vw - 24px)); padding:.85rem .92rem; border:1px solid #8eb4b7; border-radius:8px; background:#fff; color:#213447; box-shadow:0 10px 24px rgba(20,45,65,.2); font-size:.78rem; font-weight:400; line-height:1.42; letter-spacing:normal; text-align:left; text-transform:none; white-space:normal; }
[data-legacy-current-table] .pt-resort-badge-popover[hidden] { display:none; }
[data-legacy-current-table] .pt-resort-badge-popover strong { display:block; margin-bottom:.38rem; color:#173a51; font-size:.72rem; letter-spacing:.055em; }
[data-legacy-current-table] .pt-resort-badge-popover p { margin:.4rem 0; }
[data-legacy-current-table] .pt-resort-badge-popover a { display:inline-block; margin-top:.3rem; color:#197d88; font-weight:800; }
[data-legacy-current-table] .pt-epic-trip-badge { display:inline-flex; border-radius:999px; padding:.25rem .42rem; background:#edf1f3; color:#445d6c; font:800 .65rem/1 var(--pt-sans,system-ui,sans-serif); letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }
[data-legacy-current-table] .pt-epic-trip-badge.day { background:#e5f1ec; color:#185d50; }
[data-legacy-current-table] .pt-epic-trip-badge.long { background:#fff4df; color:#70420f; }
[data-legacy-current-table] .pt-epic-trip-badge.overnight { background:#eef0fa; color:#47517c; }
[data-legacy-current-table] .pt-epic-trip-badge.destination { background:#edf1f3; color:#445d6c; }
[data-legacy-current-table] .pt-epic-drive-time,
[data-legacy-current-table] .pt-epic-distance { color:var(--navy,#18324a); font-weight:800; font-variant-numeric:tabular-nums; }
@media(max-width:760px) { [data-legacy-current-table] .pt-epic-resort-badge{font-size:.58rem} }
