/* Batch 1 R6 refinements, scoped to the four new reviews. Published pages retain
 * their existing shared styles and behavior. */
.pt-batch1-hero-intro p {margin:0;color:inherit}
.pt-batch1-hero-intro p+p {margin-top:.6rem}
.pt-batch1-map {scroll-margin-top:145px}
.pt-batch1-map [hidden] {display:none!important}
.pt-batch1-map .proximity-heading,
.pt-batch1-map .pt-batch1-location-form,
.pt-batch1-map .pt-batch1-location-status,
.pt-batch1-map .privacy-note {width:min(var(--max),calc(100% - 42px));margin-left:auto;margin-right:auto}
.pt-batch1-map .proximity-heading {margin-bottom:1rem}
.pt-batch1-map .proximity-heading p:last-child {max-width:760px;color:var(--muted)}
.pt-batch1-map .pt-batch1-location-form {margin-top:1.2rem;margin-bottom:.3rem}
.pt-batch1-map .pt-batch1-location-controls {display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1rem}
.pt-batch1-map .pt-batch1-location-controls {width:min(var(--max),calc(100% - 42px));margin-left:auto;margin-right:auto;padding-top:.85rem;border-top:1px solid rgba(23,52,77,.16)}
.pt-batch1-map .pt-batch1-location-controls strong {color:var(--navy);font-size:.92rem}
.pt-batch1-map .pt-batch1-location-status {margin-top:.25rem;margin-bottom:1.1rem;color:#53616c;font-size:.9rem}
.pt-batch1-map .pt-editorial-map-card {margin-top:1rem}
.pt-batch1-map .pt-editorial-map-head p {margin:.45rem 0 .8rem;color:#53616c}
.pt-batch1-map .pt-map-option-c-map {height:clamp(360px,42vw,525px)}
.pt-batch1-map .pt-map-option-c-note {justify-content:flex-start}
.pt-batch1-map .pt-batch1-comparison-note {margin:.8rem 0;padding:.75rem;border-left:3px solid #b54839;color:#405466;font-size:.85rem;line-height:1.5}
.pt-batch1-map .pt-v38-competitor-key {margin-top:.8rem}
.pt-batch1-map .pt-batch1-map-groups {max-height:250px;overflow:auto;margin-top:1rem;border-top:1px solid rgba(23,52,77,.16)}
.pt-batch1-map .pt-batch1-map-groups details {border-bottom:1px solid rgba(23,52,77,.16)}
.pt-batch1-map .pt-batch1-map-groups summary {padding:.5rem 0;cursor:pointer;font-size:.82rem;font-weight:800}
.pt-batch1-map .pt-batch1-map-groups ul {margin:0 0 .5rem;padding:0;list-style:none}
.pt-batch1-map .pt-batch1-map-groups li {margin:.1rem 0}
.pt-batch1-map .pt-batch1-map-groups button {width:100%;padding:.25rem .4rem;border:0;background:transparent;color:#17344d;text-align:left;font-size:.8rem;cursor:pointer}
.pt-batch1-map .pt-batch1-map-groups button[aria-pressed="true"] {background:#dceae5;font-weight:800}
.pt-batch1-map .pt-map-svg-primary .pt-map-svg-dot {fill:#2f716c;stroke:#fff;stroke-width:1.5}
.pt-batch1-map .pt-map-svg-competitor .pt-map-svg-dot {fill:#b54839;stroke:#fff;stroke-width:1.5}
.pt-batch1-map .pt-map-svg-home .pt-map-svg-dot {fill:#e56635;stroke:#fff;stroke-width:2}
.pt-batch1-map .pt-map-svg-primary,.pt-batch1-map .pt-map-svg-competitor {cursor:pointer}
.pt-batch1-map .pt-map-svg-primary:focus-visible .pt-map-svg-dot,
.pt-batch1-map .pt-map-svg-competitor:focus-visible .pt-map-svg-dot,
.pt-batch1-map .pt-map-svg-point.pt-batch1-selected .pt-map-svg-dot {fill:#c75132;stroke:#fff;stroke-width:3}
.pt-batch1-map .pt-map-svg-home .pt-map-svg-label rect {fill:#fffaf1}
.pt-batch1-map .pt-map-svg-home .pt-map-svg-label text {fill:#17344d;font-weight:700;font-size:11px}
.pt-batch1-map .pt-map-svg-point[role="button"]:focus-visible {outline:2px solid #17344d;outline-offset:4px}
.pt-batch1-map .pt-map-svg-primary:focus .pt-map-svg-label,
.pt-batch1-map .pt-map-svg-primary:hover .pt-map-svg-label {visibility:visible!important}
.pt-batch1-map .pt-map-svg-primary .pt-map-svg-label rect {fill:rgba(248,244,235,.96);stroke:rgba(23,52,77,.25);stroke-width:.5}
.pt-batch1-map .pt-map-svg-primary .pt-map-svg-label text {font-size:11px;font-weight:700}
.pt-batch1-map .pt-map-svg-primary .pt-map-svg-label text {fill:#17344d;font-family:Arial,sans-serif}
.pt-batch1-access-block {width:min(var(--max),calc(100% - 42px));margin:1.4rem auto}
.pt-batch1-access-head {margin-bottom:.8rem}
.pt-batch1-access-head h2 {margin:.25rem 0 .4rem}
.pt-batch1-access-head p:last-child {max-width:760px;color:#53616c}
.pt-batch1-access-table {width:100%}
.pt-batch1-access-table .pt-epic-resort-cell {display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}
.pt-batch1-access-table .pt-epic-access-label {font-size:.92rem;line-height:1.4}
.pt-batch1-access-table .pt-v34-map-actions {white-space:nowrap}
.pt-batch1-access-block .pt-batch1-route-summary {margin:.8rem 0;padding:.8rem;background:#e9f2ee;color:#17344d}
.pt-batch1-save-status {display:block;max-width:240px;color:#17344d;font-size:.78rem;line-height:1.35}
#last-run-photo .pt-batch1-last-run-heading {display:block;margin:.12rem 0 .65rem}
#last-run-photo .pt-photo-final-line {display:block;margin-top:1rem;color:#17344d;font-weight:800;font-size:1rem;line-height:1.55}
@media(max-width:760px){
  .pt-batch1-map .pt-map-option-c-grid {display:block}
  .pt-batch1-map .pt-map-option-c-map {height:390px}
  .pt-batch1-map .pt-map-option-c-note {margin-top:.8rem}
  .pt-batch1-map .pt-batch1-location-form {grid-template-columns:1fr;gap:.6rem}
  .pt-batch1-map .pt-batch1-map-groups {max-height:230px}
  .pt-batch1-access-block .table-scroll {overflow:visible}
  .pt-batch1-access-table thead {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .pt-batch1-access-table tbody {display:grid;gap:.55rem}
  .pt-batch1-access-table tbody tr {display:block;padding:.8rem 1rem;background:#f2f5f3;border-left:3px solid #3e7774}
  .pt-batch1-access-table tbody td {display:block;padding:.15rem 0;border:0}
  .pt-batch1-access-table tbody td::before {content:attr(data-label);display:block;margin:.15rem 0;color:#53616c;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
  .pt-batch1-access-table tbody td:first-child::before {display:none}
  .pt-batch1-access-table .pt-epic-resort-cell strong {font-size:1rem}
  #last-run-photo .pt-photo-final-line {font-size:1rem}
}

/* R6 uses the existing review-proximity tint as one outer access section.
 * The table remains outside the inner map mount so the published mobile
 * directory enhancer cannot clone its rows or badge-popover IDs. */
body.pt-batch1-r7 .pt-batch1-access-experience{margin:4rem 0;scroll-margin-top:2rem}
body.pt-batch1-r7 .pt-batch1-access-experience [hidden]{display:none!important}
body.pt-batch1-r7 .pt-batch1-access-experience>.proximity-heading{margin-bottom:1rem}
body.pt-batch1-r7 .pt-batch1-access-experience>.proximity-heading p:last-child{max-width:760px;color:var(--muted)}
body.pt-batch1-r7 .pt-batch1-access-experience>.pt-batch1-location-form{margin:1.2rem 0 .3rem}
body.pt-batch1-r7 .pt-batch1-access-experience>.pt-batch1-location-status{margin:.25rem 0 1rem;color:#53616c;font-size:.9rem}
body.pt-batch1-r7 .pt-batch1-access-experience>.pt-batch1-access-block{width:100%;margin:1.1rem 0 1.35rem}
body.pt-batch1-r7 .pt-batch1-access-experience>.pt-batch1-map{margin:0;scroll-margin-top:145px}
body.pt-batch1-r7 .pt-batch1-map .pt-editorial-map-card{margin-top:0}
body.pt-batch1-r7 .pt-batch1-map .pt-batch1-location-controls{width:100%;margin:1rem 0 0}
body.pt-batch1-r7 .pt-batch1-score .pt-v34-score-presentation{display:grid;gap:.55rem;align-content:start}
body.pt-batch1-r7 .pt-batch1-score .dual-score{width:max-content;max-width:100%}
body.pt-batch1-r7 .pt-batch1-score .pt-v34-score-status{max-width:18rem;margin:0;color:var(--muted);font-size:.78rem;font-weight:700;line-height:1.35}

/* Reuse the published Epic/Boyne table grammar: navy header, generous rows,
 * a two-level destination cell, and the existing verified-pill treatment. */
body.pt-batch1-r7 .pt-batch1-access-block .pt-v3-table-wrap{width:100%;overflow-x:auto;overflow-y:visible!important}
body.pt-batch1-r7 .pt-batch1-access-table{width:100%;border-collapse:collapse}
body.pt-batch1-r7 .pt-batch1-access-table th{padding:.8rem .72rem;background:var(--pt-navy,#18324a);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-align:left;text-transform:uppercase}
body.pt-batch1-r7 .pt-batch1-access-table td{padding:.8rem .72rem;border-bottom:1px solid rgba(24,50,74,.12);vertical-align:top}
body.pt-batch1-r7 .pt-batch1-access-table .pt-epic-resort-cell{display:grid;gap:.22rem}
body.pt-batch1-r7 .pt-batch1-access-table .pt-epic-resort-cell>div{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem .4rem}
body.pt-batch1-r7 .pt-batch1-access-table .pt-epic-resort-cell strong{color:var(--pt-navy,#18324a);font-family:var(--pt-serif,Georgia,serif);font-size:1rem;line-height:1.25}
body.pt-batch1-r7 .pt-batch1-access-table .pt-epic-resort-cell small{display:block;color:var(--muted);font-size:.72rem;font-weight:700}
body.pt-batch1-r7 .pt-batch1-access-table .pt-epic-access-label{display:block;max-width:24rem;line-height:1.45}
body.pt-batch1-r7 .pt-batch1-access-table .pt-v34-map-actions{white-space:nowrap}

/* The save handler and My Winter dock are the unchanged published Epic
 * behavior.js. These page-scoped component rules copy its approved quiet/saved
 * button and dock/modal treatments without importing its entire page CSS. */
body.pt-batch1-r7 .review-decision-actions .button-quiet{min-height:48px;padding:11px 18px;border:1px solid var(--line-dark);border-radius:3px;background:transparent;color:var(--navy);font-family:var(--display);font-size:.93rem;font-weight:700;letter-spacing:.045em;text-transform:uppercase}
body.pt-batch1-r7 .review-decision-actions .button-quiet:hover,
body.pt-batch1-r7 .review-decision-actions .button-quiet[aria-pressed="true"]{border-color:var(--teal);background:var(--teal);color:var(--snow)}
body.pt-batch1-r7 .shortlist-dock{position:fixed;z-index:95;right:18px;bottom:92px}
body.pt-batch1-r7 .shortlist-dock button{display:grid;min-width:150px;padding:10px 14px;border:0;background:var(--teal);color:var(--snow);box-shadow:0 8px 24px rgba(24,50,74,.24);text-align:left;cursor:pointer}
body.pt-batch1-r7 .shortlist-dock span{font-family:var(--display);font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
body.pt-batch1-r7 .shortlist-dock strong{font-size:.83rem}
body.pt-batch1-r7 .shortlist-modal-backdrop{position:fixed;inset:0;z-index:210;display:grid;place-items:center;padding:20px;background:rgba(9,25,36,.78)}
body.pt-batch1-r7 .shortlist-modal{position:relative;width:min(760px,100%);max-height:88vh;overflow:auto;padding:32px;border-top:7px solid var(--teal);background:var(--snow-soft);box-shadow:0 25px 80px rgba(0,0,0,.35)}
body.pt-batch1-r7 .shortlist-modal .modal-close{position:absolute;right:13px;top:10px;width:38px;height:38px;border:1px solid var(--line-dark);background:transparent;color:var(--navy);font-size:1.5rem;cursor:pointer}
body.pt-batch1-r7 .shortlist-items{display:grid;gap:10px;margin:20px 0}
body.pt-batch1-r7 .shortlist-items article{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:14px;border:1px solid var(--line);background:var(--paper)}
body.pt-batch1-r7 .shortlist-items article>div:first-child{display:grid}
body.pt-batch1-r7 .shortlist-items span{color:var(--muted);font-size:.78rem}
body.pt-batch1-r7 .shortlist-items article>div:last-child{display:flex;gap:7px;align-items:center}
body.pt-batch1-r7 .shortlist-items .button{min-height:38px;padding:8px 11px}
body.pt-batch1-r7 .shortlist-principle{padding:13px;border-left:4px solid var(--teal);background:#e5ece8;color:var(--navy)}
@media(max-width:760px){
  body.pt-batch1-r7 .pt-batch1-access-experience{margin:2rem 0;padding:1rem}
  body.pt-batch1-r7 .pt-batch1-access-experience>.proximity-heading{grid-template-columns:1fr;gap:.8rem}
  body.pt-batch1-r7 .pt-batch1-access-experience>.pt-batch1-location-form{grid-template-columns:1fr;gap:.6rem}
  body.pt-batch1-r7 .pt-batch1-score .dual-score{width:100%}
  body.pt-batch1-r7 .pt-batch1-score .dual-score>div{flex:1}
  body.pt-batch1-r7 .pt-batch1-access-block .pt-v3-table-wrap{overflow:visible}
  body.pt-batch1-r7 .pt-batch1-access-table{min-width:0}
  body.pt-batch1-r7 .pt-batch1-access-table tbody td{padding:.15rem 0;border:0}
  body.pt-batch1-r7 .shortlist-dock{right:10px;bottom:76px}
  body.pt-batch1-r7 .shortlist-dock button{min-width:125px}
  body.pt-batch1-r7 .shortlist-modal{padding:26px 18px}
  body.pt-batch1-r7 .shortlist-items article{grid-template-columns:1fr}
  body.pt-batch1-r7 .shortlist-items article>div:last-child{flex-wrap:wrap}
}

/* R7: page-scoped alignment only; existing shared review CSS is untouched. */
body.pt-batch1-r7 .pt-batch1-access-experience > .proximity-heading {
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: center;
  gap: clamp(1rem, 3vw, 2.5rem);
}
body.pt-batch1-r7 .pt-batch1-editorial-only {
  width: max-content;
  max-width: 100%;
  justify-self: end;
}
body.pt-batch1-r7 .pt-batch1-editorial-only .pt-v34-score-presentation,
body.pt-batch1-r7 .pt-batch1-editorial-only .dual-score {
  width: max-content;
  max-width: 100%;
}
body.pt-batch1-r7 .pt-batch1-editorial-only .dual-score > div {
  min-width: 125px;
  flex: none;
}
body.pt-batch1-r7 .pt-batch1-editorial-only .pt-v34-score-status {
  max-width: 150px;
}
body.pt-batch1-r7 .pt-batch1-access-experience > .pt-batch1-form-card {
  box-sizing: border-box;
  width: 100%;
  margin: 1.25rem 0 1.2rem;
  padding: clamp(1rem, 2.3vw, 1.55rem);
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 1rem;
  row-gap: 1.1rem;
  border: 1px solid rgba(23,52,77,.16);
  background: #fffdf8;
}
body.pt-batch1-r7 .pt-batch1-form-card > .zip-field {min-width:0}
body.pt-batch1-r7 .pt-batch1-form-card .zip-field small {margin-top:.55rem;line-height:1.45}
body.pt-batch1-r7 .pt-batch1-form-card .location-primary-action {min-width:190px}
body.pt-batch1-r7 .pt-batch1-form-card .location-refinements {
  margin-top:.2rem;
  padding-top:1rem;
}
body.pt-batch1-r7 .pt-batch1-form-card .location-refinement-grid {margin-top:1rem}
body.pt-batch1-r7 .pt-batch1-access-experience > .pt-batch1-access-block {margin-top:1.15rem}
body.pt-batch1-r7 .pt-batch1-location-status:not([hidden]) {margin:.1rem 0 1rem}
@media(max-width:760px){
  body.pt-batch1-r7 .pt-batch1-access-experience > .proximity-heading {grid-template-columns:minmax(0,1fr)}
  body.pt-batch1-r7 .pt-batch1-editorial-only {justify-self:start}
  body.pt-batch1-r7 .pt-batch1-editorial-only .dual-score,
  body.pt-batch1-r7 .pt-batch1-editorial-only .pt-v34-score-presentation {width:max-content}
  body.pt-batch1-r7 .pt-batch1-editorial-only .dual-score > div {min-width:125px;flex:none}
  body.pt-batch1-r7 .pt-batch1-access-experience > .pt-batch1-form-card {
    grid-template-columns:minmax(0,1fr);
    gap:1rem;
    margin:1.2rem 0;
    padding:1.1rem;
  }
  body.pt-batch1-r7 .pt-batch1-form-card .location-primary-action {width:100%;min-width:0}
  body.pt-batch1-r7 .pt-batch1-form-card .location-refinements summary {flex-wrap:wrap;line-height:1.35}
  body.pt-batch1-r7 .pt-batch1-form-card .location-refinement-grid {grid-template-columns:minmax(0,1fr)}
}
