:root{--resorts-blue:#0b69b0;--resorts-ink:#17212b;--resorts-muted:#66717d;--resorts-line:#dfe4e8;--resorts-soft:#f6f8fa}
.resorts-shell{max-width:1120px;margin:0 auto;padding:38px 20px 70px;color:var(--resorts-ink)}
.resorts-eyebrow{color:var(--resorts-blue);text-transform:uppercase;letter-spacing:.115em;font-size:.74rem;font-weight:800;margin-bottom:8px}
.resorts-hero{max-width:850px;padding:14px 0 38px;border-bottom:1px solid var(--resorts-line)}.resorts-hero h1{font-size:clamp(2.6rem,5vw,4.5rem);line-height:.99;letter-spacing:-.045em;margin:0 0 16px}.resorts-hero p{font-size:1.14rem;line-height:1.65;color:#53606b;margin:0}
.resorts-map-section{margin:38px 0}.resorts-section-heading{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:14px}.resorts-section-heading h2{font-size:1.75rem;letter-spacing:-.025em;margin:0}.resorts-section-heading p{margin:0;color:#77818a;font-size:.88rem}.resorts-map{height:500px;border:1px solid var(--resorts-line);border-radius:14px;overflow:hidden;background:#eef2f4}
.resorts-ad{margin:0 0 38px}
.resorts-toolbar{display:flex;gap:18px;align-items:end;margin:0 0 18px;padding:16px 18px;border:1px solid var(--resorts-line);border-radius:12px;background:var(--resorts-soft)}.resorts-search{flex:1}.resorts-search label{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.075em;font-weight:800;color:#68737e;margin-bottom:6px}.resorts-search input{width:100%;border:1px solid #cfd6dc;border-radius:8px;padding:10px 12px;font-size:1rem;background:#fff}
.resorts-table-wrap{border:1px solid var(--resorts-line);border-radius:12px;overflow:hidden;background:#fff}.resorts-table{width:100%;border-collapse:collapse;margin:0}.resorts-table thead th{background:#f4f6f8;color:#55616c;font-size:.73rem;text-transform:uppercase;letter-spacing:.075em;font-weight:800;text-align:left;border-bottom:1px solid #d9dfe4;padding:12px 14px}.resorts-table thead th.numeric{text-align:right}.resorts-table thead a{color:#48535d;text-decoration:none!important;display:inline-flex;align-items:center;gap:5px}.resorts-table thead a:hover,.resorts-table thead a.active-sort{color:var(--resorts-blue)}.sort-arrow{font-size:.7rem}
.resorts-row{cursor:pointer;transition:background-color .12s ease}.resorts-row:hover{background:#f7fbfe}.resorts-row td{padding:13px 14px;border-top:1px solid #edf0f2;vertical-align:middle}.resorts-name-cell a{font-weight:750;color:#176fb2;text-decoration:none;font-size:1rem}.resorts-name-cell a:hover{text-decoration:underline}.resorts-city{display:block;color:#7a848d;font-size:.8rem;margin-top:2px}.resorts-state-cell{color:#4e5963;font-weight:650}.resorts-number{text-align:right;color:#303840;white-space:nowrap}.resorts-number strong{font-weight:750}
.resorts-state-divider td{background:#edf5fb;color:#0a629f;font-size:.75rem;text-transform:uppercase;letter-spacing:.095em;font-weight:800;padding:9px 14px;border-top:1px solid #d5e6f3;border-bottom:1px solid #d5e6f3}.resorts-no-results{display:none}.resorts-no-results td{padding:30px 14px;text-align:center;color:#727c85}.resorts-table-note{text-align:center;color:#7a848d;font-size:.85rem;margin:15px 0 0}
@media(max-width:700px){.resorts-shell{padding-left:15px;padding-right:15px}.resorts-hero{padding-top:8px}.resorts-map{height:390px}.resorts-section-heading{display:block}.resorts-section-heading p{margin-top:4px}.resorts-table thead{display:none}.resorts-table,.resorts-table tbody,.resorts-table tr,.resorts-table td{display:block;width:100%}.resorts-state-divider td{display:block}.resorts-row{padding:12px 14px;border-top:1px solid #edf0f2}.resorts-row td{border:0;padding:2px 0;text-align:left}.resorts-name-cell{padding-bottom:4px!important}.resorts-state-cell{display:inline!important;margin-right:9px}.resorts-number{display:inline!important;margin-right:12px;font-size:.88rem}.resorts-vertical::after{content:" vertical";color:#7a848d;font-weight:400}.resorts-trails::after{content:" trails";color:#7a848d;font-weight:400}.resorts-acres::after{content:" acres";color:#7a848d;font-weight:400}}

/* 2026 Resorts landing-page discovery enhancements */
.resorts-at-a-glance{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:28px 0 42px}.resorts-metric{border:1px solid var(--resorts-line);border-radius:12px;background:#fff;padding:16px 17px;min-width:0}.resorts-metric strong{display:block;font-size:1.55rem;line-height:1.05;letter-spacing:-.025em;color:var(--resorts-ink)}.resorts-metric span{display:block;margin-top:7px;font-size:.72rem;text-transform:uppercase;letter-spacing:.075em;font-weight:800;color:#68747e}.resorts-metric small{display:block;margin-top:5px;color:#7d8790;font-size:.76rem;line-height:1.35;overflow-wrap:anywhere}
.resorts-featured-section{margin:0 0 44px}.resorts-featured-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.resorts-featured-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--resorts-line);border-radius:13px;overflow:hidden;background:#fff;color:var(--resorts-ink)!important;text-decoration:none!important;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.resorts-featured-card:hover{transform:translateY(-2px);border-color:#b9cedc;box-shadow:0 8px 22px rgba(34,62,80,.08)}.resorts-featured-image{aspect-ratio:4/3;background:#edf1f3;overflow:hidden}.resorts-featured-image img{display:block;width:100%;height:100%;object-fit:cover}.resorts-featured-copy{display:flex;flex-direction:column;flex:1;padding:15px 16px 16px}.resorts-featured-location{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.075em;color:#78838c;margin-bottom:5px}.resorts-featured-copy h3{font-size:1.08rem;line-height:1.18;letter-spacing:-.015em;margin:0 0 11px;color:var(--resorts-ink)}.resorts-featured-stats{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:.76rem;color:#6b7781;line-height:1.35}.resorts-featured-stats strong{color:#34414b}.resorts-featured-link{margin-top:auto;padding-top:13px;font-size:.78rem;font-weight:800;color:#176b9e}
.resorts-toolbar{align-items:flex-end;gap:16px}.resorts-state-filter{flex:0 0 auto}.resorts-filter-label{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.075em;font-weight:800;color:#68737e;margin-bottom:6px}.resorts-state-chips{display:flex;flex-wrap:wrap;gap:6px}.resorts-state-chip{appearance:none;border:1px solid #ccd6dc;border-radius:999px;background:#fff;color:#53616c;padding:8px 11px;font-size:.8rem;font-weight:750;line-height:1;cursor:pointer}.resorts-state-chip:hover{border-color:#a9c4d5;color:#17638f}.resorts-state-chip.is-active{background:#17577e;border-color:#17577e;color:#fff}.resorts-clear-filter{appearance:none;border:0;background:transparent;color:#64727d;font-size:.8rem;font-weight:750;padding:10px 3px;cursor:pointer}.resorts-clear-filter:hover{color:#17577e;text-decoration:underline}.resorts-filter-status{font-size:.78rem;color:#7a858e;margin:-8px 0 12px;text-align:right}
@media(max-width:950px){.resorts-at-a-glance{grid-template-columns:repeat(3,minmax(0,1fr))}.resorts-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resorts-toolbar{flex-wrap:wrap}.resorts-state-filter{flex:1 1 100%}.resorts-search{flex:1 1 75%}}
@media(max-width:700px){.resorts-at-a-glance{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:22px;margin-bottom:34px}.resorts-metric{padding:13px 14px}.resorts-metric strong{font-size:1.35rem}.resorts-metric:first-child{grid-column:1/-1}.resorts-featured-section{margin-bottom:36px}.resorts-featured-grid{grid-template-columns:1fr}.resorts-featured-card{display:grid;grid-template-columns:132px minmax(0,1fr)}.resorts-featured-image{aspect-ratio:auto;height:100%;min-height:145px}.resorts-featured-copy{padding:13px 14px}.resorts-featured-stats{font-size:.73rem}.resorts-featured-link{padding-top:9px}.resorts-toolbar{padding:14px}.resorts-state-chips{gap:5px}.resorts-state-chip{padding:8px 10px}.resorts-search{flex-basis:100%}.resorts-clear-filter{padding:3px 0}.resorts-filter-status{text-align:left;margin-top:-7px}}
@media(max-width:430px){.resorts-featured-card{grid-template-columns:112px minmax(0,1fr)}.resorts-featured-copy h3{font-size:1rem}.resorts-featured-stats span:nth-child(3){display:none}}

/* v3: map + resort discovery share the prime browsing area */
.resorts-discovery-section{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(360px,.88fr);gap:24px;align-items:start;margin:0 0 42px}.resorts-discovery-map,.resorts-discovery-featured{min-width:0}.resorts-discovery-heading{min-height:58px;align-items:end}.resorts-discovery-heading h2{font-size:1.6rem}.resorts-discovery-heading p{max-width:210px;text-align:right}.resorts-discovery-section .resorts-map{height:440px}.resorts-discovery-featured .resorts-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.resorts-discovery-featured .resorts-featured-card{border-radius:11px}.resorts-discovery-featured .resorts-featured-image{aspect-ratio:16/9}.resorts-discovery-featured .resorts-featured-copy{padding:10px 11px 11px}.resorts-discovery-featured .resorts-featured-location{font-size:.61rem;margin-bottom:3px}.resorts-discovery-featured .resorts-featured-copy h3{font-size:.9rem;line-height:1.15;margin-bottom:7px}.resorts-discovery-featured .resorts-featured-stats{gap:3px 8px;font-size:.67rem}.resorts-discovery-featured .resorts-featured-link{padding-top:8px;font-size:.7rem}.resorts-featured-note{margin:9px 2px 0;color:#7c8790;font-size:.72rem;line-height:1.35}
@media(max-width:980px){.resorts-discovery-section{grid-template-columns:1fr;gap:32px}.resorts-discovery-section .resorts-map{height:420px}.resorts-discovery-featured .resorts-featured-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.resorts-discovery-featured .resorts-featured-copy h3{font-size:.88rem}}
@media(max-width:820px){.resorts-discovery-featured .resorts-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resorts-discovery-featured .resorts-featured-copy{padding:13px 14px}.resorts-discovery-featured .resorts-featured-copy h3{font-size:1rem}.resorts-discovery-featured .resorts-featured-stats{font-size:.73rem}}
@media(max-width:700px){.resorts-discovery-section{margin-bottom:34px;gap:28px}.resorts-discovery-heading{min-height:0}.resorts-discovery-heading p{text-align:left;max-width:none}.resorts-discovery-section .resorts-map{height:360px}.resorts-discovery-featured .resorts-featured-grid{grid-template-columns:1fr}.resorts-discovery-featured .resorts-featured-card{display:grid;grid-template-columns:132px minmax(0,1fr)}.resorts-discovery-featured .resorts-featured-image{aspect-ratio:auto;height:100%;min-height:138px}.resorts-discovery-featured .resorts-featured-copy h3{font-size:1rem}}

/* v4: richer resort finder + recent resort news */
.resorts-toolbar-expanded{display:block;padding:17px 18px}.resorts-filter-row{display:flex;align-items:flex-end;gap:18px}.resorts-filter-row-secondary{margin-top:15px;padding-top:15px;border-top:1px solid #dfe5e9;align-items:flex-start}.resorts-filter-row-primary .resorts-search{flex:1}.resorts-option-filter{min-width:0}.resorts-filter-row-secondary .resorts-option-filter:first-child{flex:0 0 auto}.resorts-filter-row-secondary .resorts-option-filter:last-child{flex:1}.resorts-option-chips{display:flex;flex-wrap:wrap;gap:6px}.resorts-option-chip{appearance:none;border:1px solid #ccd6dc;border-radius:999px;background:#fff;color:#53616c;padding:8px 11px;font-size:.78rem;font-weight:750;line-height:1;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.resorts-option-chip:hover{border-color:#a9c4d5;color:#17638f}.resorts-option-chip.is-active{background:#e7f2f8;border-color:#8fbbd3;color:#145d87;box-shadow:inset 0 0 0 1px rgba(20,93,135,.04)}
.resorts-news-section{margin:0 0 38px}.resorts-news-section .resorts-section-heading p a{font-weight:750;text-decoration:none}.resorts-news-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.resorts-news-card{display:block;min-width:0;border-top:1px solid var(--resorts-line);padding-top:12px;color:var(--resorts-ink)!important;text-decoration:none!important}.resorts-news-image{aspect-ratio:4/3;border-radius:10px;background:#eef2f4;overflow:hidden;margin-bottom:10px}.resorts-news-image img{display:block;width:100%;height:100%;object-fit:contain}.resorts-news-date{font-size:.68rem;text-transform:uppercase;letter-spacing:.075em;font-weight:800;color:#7a858e;margin-bottom:5px}.resorts-news-copy h3{font-size:1rem;line-height:1.2;letter-spacing:-.015em;margin:0 0 7px}.resorts-news-copy p{font-size:.78rem;line-height:1.45;color:#67737e;margin:0}.resorts-news-card:hover h3{color:#0b69b0}
@media(max-width:980px){.resorts-filter-row-primary{flex-wrap:wrap}.resorts-filter-row-primary .resorts-state-filter{flex:1 1 100%}.resorts-filter-row-primary .resorts-search{flex:1 1 70%}.resorts-filter-row-secondary{flex-wrap:wrap}.resorts-filter-row-secondary .resorts-option-filter{flex:1 1 100%!important}.resorts-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.resorts-toolbar-expanded{padding:14px}.resorts-filter-row{display:block}.resorts-filter-row-primary .resorts-search{margin-top:14px}.resorts-filter-row-primary .resorts-clear-filter{margin-top:9px}.resorts-filter-row-secondary .resorts-option-filter+ .resorts-option-filter{margin-top:14px}.resorts-option-chip{padding:8px 10px}.resorts-news-section{margin-bottom:32px}.resorts-news-grid{grid-template-columns:1fr;gap:0}.resorts-news-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:13px;padding:12px 0}.resorts-news-image{margin:0;aspect-ratio:4/3}.resorts-news-copy p{display:none}}

/* v5: compact resort news + modern Leaflet resort popups */
.resorts-news-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px}
.resorts-news-card{display:grid;grid-template-columns:118px minmax(0,1fr);gap:13px;border:1px solid var(--resorts-line);border-radius:11px;padding:10px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.resorts-news-card:hover{border-color:#bdd2df;box-shadow:0 5px 16px rgba(24,61,82,.07);transform:translateY(-1px)}
.resorts-news-image{aspect-ratio:4/3;border-radius:8px;margin:0;align-self:start}.resorts-news-image img{object-fit:cover}
.resorts-news-date{font-size:.62rem;margin-bottom:3px}.resorts-news-copy h3{font-size:.94rem;line-height:1.18;margin-bottom:5px}.resorts-news-copy p{font-size:.72rem;line-height:1.38;color:#6d7881;margin:0}

.resorts-map .leaflet-popup-content-wrapper{border-radius:14px;box-shadow:0 12px 32px rgba(18,43,58,.2);padding:0;overflow:hidden}
.resorts-map .leaflet-popup-content{margin:0!important;width:auto!important;min-width:290px;max-width:340px}
.resorts-map .leaflet-popup-close-button{top:7px!important;right:8px!important;width:28px!important;height:28px!important;line-height:25px!important;border-radius:999px;background:rgba(255,255,255,.9)!important;color:#5e6b75!important;font-size:21px!important;box-shadow:0 1px 5px rgba(0,0,0,.12)}
.resorts-map .leaflet-popup-tip{box-shadow:3px 3px 8px rgba(18,43,58,.12)}
.resort-map-popup{padding:15px 15px 14px;color:var(--resorts-ink);font-family:inherit}
.resort-map-popup-title{display:block;padding-right:30px;color:#173f59!important;text-decoration:none!important;font-size:1.08rem;font-weight:800;line-height:1.15;letter-spacing:-.015em}
.resort-map-popup-location{margin-top:3px;color:#74808a;font-size:.72rem;font-weight:650}
.resort-map-popup-image{display:block;width:100%;height:118px;object-fit:cover;border-radius:9px;margin:11px 0 10px;background:#eef2f4}
.resort-map-popup-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:9px}
.resort-map-popup-stats span{display:block;border:1px solid #e3e8eb;border-radius:8px;background:#f8fafb;padding:7px 5px;text-align:center}
.resort-map-popup-stats strong{display:block;font-size:.9rem;line-height:1.05;color:#26333c}.resort-map-popup-stats small{display:block;margin-top:3px;color:#7a858e;font-size:.55rem;text-transform:uppercase;letter-spacing:.065em;font-weight:750}
.resort-map-popup-description{display:block;overflow:visible;color:#596671;font-size:.66rem;line-height:1.45;margin:0 1px 10px}
.resort-map-popup-link{display:block;border-radius:8px;background:#176a9c;color:#fff!important;text-decoration:none!important;text-align:center;padding:8px 10px;font-size:.72rem;font-weight:800}
.resort-map-popup-link:hover{background:#12577f;color:#fff!important}
@media(max-width:980px){.resorts-news-grid{grid-template-columns:1fr}}
@media(max-width:700px){.resorts-news-card{grid-template-columns:104px minmax(0,1fr);gap:11px;padding:9px}.resorts-news-copy p{display:block}.resorts-map .leaflet-popup-content{min-width:250px;max-width:280px}.resort-map-popup{padding:13px}.resort-map-popup-image{height:100px}}

/* Favorite resorts in directory */
.resorts-name-line{display:flex;align-items:center;gap:10px;min-width:0}
.resorts-name-line>a{min-width:0}
.resort-favorite-toggle{flex:0 0 auto;border:1px solid #c9d7e1;border-radius:999px;background:#fff;color:#61717e;font:inherit;font-size:.72rem;font-weight:750;line-height:1;padding:5px 9px;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}
.resort-favorite-toggle:hover{border-color:#8eafc5;color:#195e89;background:#f5fafd}
.resort-favorite-toggle.is-saved{background:#e9f4fb;border-color:#8fbcd7;color:#145f8c}
.resort-favorite-toggle.is-saving{opacity:.6;cursor:wait}
.resorts-row.is-favorite{background:#eef7fc;box-shadow:inset 4px 0 0 #2b7eae}
.resorts-row.is-favorite:hover{background:#e6f3fa}
.resorts-row.is-favorite .resorts-name-cell>a,.resorts-row.is-favorite .resorts-name-line>a{color:#105b88}
@media(max-width:700px){.resorts-name-line{justify-content:space-between;gap:8px}.resort-favorite-toggle{font-size:.7rem;padding:5px 8px}.resorts-row.is-favorite{box-shadow:inset 3px 0 0 #2b7eae;padding-left:16px}}


/* v7 readability pass: keep layouts compact without shrinking type */
.resorts-eyebrow{font-size:.82rem}
.resorts-section-heading p{font-size:.96rem;line-height:1.45}
.resorts-metric span{font-size:.8rem}
.resorts-metric small{font-size:.84rem;line-height:1.4}
.resorts-discovery-featured .resorts-featured-location{font-size:.76rem;line-height:1.35}
.resorts-discovery-featured .resorts-featured-copy h3{font-size:1.04rem;line-height:1.2}
.resorts-discovery-featured .resorts-featured-stats{font-size:.84rem;line-height:1.4;gap:5px 10px}
.resorts-discovery-featured .resorts-featured-link{font-size:.84rem}
.resorts-featured-note{font-size:.84rem;line-height:1.45}
.resorts-filter-label,.resorts-search label{font-size:.82rem}
.resorts-state-chip,.resorts-option-chip{font-size:.86rem}
.resorts-clear-filter{font-size:.86rem}
.resorts-filter-status{font-size:.86rem}
.resorts-table thead th{font-size:.8rem}
.resorts-city{font-size:.88rem}
.resorts-table-note{font-size:.92rem;line-height:1.45}
.resort-favorite-toggle{font-size:.82rem;padding:6px 10px}

/* Recent Resort News stays compact by using abstract_tiny, not tiny typography. */
.resorts-news-date{font-size:.76rem;line-height:1.35}
.resorts-news-copy h3{font-size:1.05rem;line-height:1.22;margin-bottom:6px}
.resorts-news-copy p{font-size:.88rem;line-height:1.45;color:#6d7881}

/* Map popup readability */
.resort-map-popup-title{font-size:1.18rem;line-height:1.18}
.resort-map-popup-location{font-size:.88rem;line-height:1.35}
.resort-map-popup-stats strong{font-size:1.05rem}
.resort-map-popup-stats small{font-size:.72rem;line-height:1.3}
.resort-map-popup-description{font-size:.66rem;line-height:1.45;margin-bottom:10px}
.resort-map-popup-link{font-size:.9rem;padding:10px 12px}

@media(max-width:700px){
  .resorts-discovery-featured .resorts-featured-location{font-size:.78rem}
  .resorts-discovery-featured .resorts-featured-copy h3{font-size:1.08rem}
  .resorts-discovery-featured .resorts-featured-stats{font-size:.86rem}
  .resorts-news-date{font-size:.78rem}
  .resorts-news-copy h3{font-size:1.06rem}
  .resorts-news-copy p{font-size:.9rem}
  .resort-map-popup-description{font-size:.66rem;line-height:1.45}
  .resort-map-popup-location{font-size:.9rem}
  .resort-favorite-toggle{font-size:.82rem}
}


/* v10: reclaim space in Explore Resorts cards without reducing general page readability */
.resorts-discovery-featured .resorts-featured-copy h3{font-size:.98rem}
@media(max-width:820px){.resorts-discovery-featured .resorts-featured-copy h3{font-size:.98rem}}

/* v11: rebalance Explore Resorts cards and match the adjacent map */
@media (min-width:981px){
  .resorts-discovery-section .resorts-map{height:610px}
  .resorts-discovery-featured .resorts-featured-image{aspect-ratio:2/1}
  .resorts-discovery-featured .resorts-featured-copy{
    display:grid;
    grid-template-rows:auto minmax(2.35em,auto) auto auto;
    align-content:start;
    gap:8px;
    padding:12px 13px 13px;
  }
  .resorts-discovery-featured .resorts-featured-location{
    margin:0;
    font-size:.72rem;
    line-height:1.25;
  }
  .resorts-discovery-featured .resorts-featured-copy h3{
    margin:0;
    font-size:.94rem;
    line-height:1.18;
  }
  .resorts-discovery-featured .resorts-featured-stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    margin-top:2px;
    padding:9px 0;
    border-top:1px solid #e8edf0;
    border-bottom:1px solid #e8edf0;
    font-size:.76rem;
    line-height:1.2;
  }
  .resorts-discovery-featured .resorts-featured-stats span{
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:0 7px;
    color:#74808a;
  }
  .resorts-discovery-featured .resorts-featured-stats span:first-child{padding-left:0}
  .resorts-discovery-featured .resorts-featured-stats span+span{border-left:1px solid #edf1f3}
  .resorts-discovery-featured .resorts-featured-stats strong{
    margin-bottom:2px;
    color:#34414b;
    font-size:.88rem;
    line-height:1.1;
  }
  .resorts-discovery-featured .resorts-featured-link{
    margin:0;
    padding:2px 0 0;
    font-size:.8rem;
    align-self:end;
  }
  .resorts-featured-note{margin-top:10px}
}


/* v12: compact star-only Favorite Resorts control */
.resort-favorite-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  padding:0;
  border-radius:999px;
  font-size:1.12rem;
  line-height:1;
}
.resort-favorite-toggle.is-saved{font-size:1.08rem}
@media(max-width:700px){
  .resort-favorite-toggle{width:32px;height:32px;padding:0;font-size:1.15rem}
}


/* v13: align Favorite Resorts stars in a dedicated table column */
.resorts-favorite-heading{width:46px;padding-left:10px!important;padding-right:6px!important}
.resorts-favorite-cell{width:46px;text-align:center;padding-left:10px!important;padding-right:6px!important}
.resorts-name-cell{padding-left:8px!important}
@media(max-width:700px){
  .resorts-row{position:relative;padding-left:58px}
  .resorts-favorite-cell{position:absolute;left:12px;top:14px;width:34px!important;padding:0!important;margin:0}
  .resorts-name-cell{padding-left:0!important}
  .resorts-row.is-favorite{padding-left:58px}
}

/* v14: on narrow screens, keep the Favorite star on the resort-name line */
@media(max-width:700px){
  .resorts-row,
  .resorts-row.is-favorite{padding-left:14px;padding-right:14px}
  .resorts-favorite-cell{
    left:auto;
    right:12px;
    top:12px;
    width:34px!important;
  }
  .resorts-name-cell{
    padding-left:0!important;
    padding-right:46px!important;
  }
}


/* v15: filter by curated resort strengths from benefit_1 / benefit_2 / benefit_3 */
.resorts-filter-row-secondary{display:grid;grid-template-columns:auto minmax(220px,.8fr) minmax(0,1.45fr);gap:18px;align-items:start}
.resorts-benefit-filter{min-width:220px}
.resorts-benefit-select{display:block;width:100%;min-height:36px;border:1px solid #ccd6dc;border-radius:8px;background:#fff;color:#46545f;padding:7px 34px 7px 10px;font:inherit;font-size:.86rem;font-weight:650;line-height:1.2;cursor:pointer}
.resorts-benefit-select:hover{border-color:#a9c4d5}
.resorts-benefit-select:focus{outline:3px solid rgba(11,105,176,.16);outline-offset:1px;border-color:#6ca2c4}
.resorts-size-filter{min-width:0}
@media(max-width:980px){.resorts-filter-row-secondary{display:grid;grid-template-columns:1fr 1fr}.resorts-filter-row-secondary .resorts-option-filter:first-child{grid-column:1/-1}.resorts-benefit-filter{min-width:0}}
@media(max-width:700px){.resorts-filter-row-secondary{display:block}.resorts-benefit-filter{margin-top:14px}.resorts-size-filter{margin-top:14px}.resorts-benefit-select{font-size:.9rem;min-height:40px}}

/* v16: normalize Recent Resort News link to the current DCSki blue */
.resorts-news-section .resorts-section-heading p a{color:#17577e!important}
.resorts-news-section .resorts-section-heading p a:hover,.resorts-news-section .resorts-section-heading p a:focus{color:#103f5c!important;text-decoration:underline}

/* 2026 landing-page opening normalization */
.resorts-shell{padding-top:34px}
.resorts-hero{max-width:860px;padding:14px 0 34px}
.resorts-eyebrow{margin-bottom:9px;font-size:.76rem;font-weight:800;letter-spacing:.11em}
.resorts-hero h1{margin:0 0 15px;font-size:clamp(2.55rem,4.6vw,4.15rem);font-weight:800;line-height:.99;letter-spacing:-.043em}
.resorts-hero p{max-width:790px;color:#53606b;font-size:1.12rem;line-height:1.6}
@media(max-width:700px){.resorts-shell{padding-top:24px}.resorts-hero{padding-top:8px;padding-bottom:28px}.resorts-hero h1{font-size:2.55rem}.resorts-hero p{font-size:1.04rem;line-height:1.58}}

/* Mobile map usability: give Leaflet popups enough vertical room to remain fully actionable. */
@media(max-width:700px){
  .resorts-discovery-section .resorts-map{
    height:clamp(560px,78dvh,720px);
    min-height:560px;
  }
}


/* v17: current-season major pass filtering -------------------------------- */
.resorts-filter-row-passes{
  margin-top:15px;
  padding-top:15px;
  border-top:1px solid #dfe5e9;
  align-items:flex-start;
}
.resorts-pass-filter{min-width:0}
.resorts-pass-chips{display:flex;flex-wrap:wrap;gap:6px}
.resorts-pass-chip{
  appearance:none;
  border:1px solid #ccd6dc;
  border-radius:999px;
  background:#fff;
  color:#53616c;
  padding:8px 11px;
  font:inherit;
  font-size:.86rem;
  font-weight:750;
  line-height:1;
  cursor:pointer;
  transition:border-color .12s ease,background .12s ease,color .12s ease;
}
.resorts-pass-chip span{
  display:inline-block;
  min-width:18px;
  margin-left:4px;
  padding:1px 5px;
  border-radius:999px;
  background:#edf2f5;
  color:#687680;
  font-size:.7rem;
  font-weight:800;
  text-align:center;
}
.resorts-pass-chip:hover{border-color:#a9c4d5;color:#17638f}
.resorts-pass-chip.is-active{background:#17577e;border-color:#17577e;color:#fff}
.resorts-pass-chip.is-active span{background:rgba(255,255,255,.18);color:#fff}
.resorts-pass-chip.is-unavailable{opacity:.48;cursor:not-allowed;background:#f5f7f8;color:#7d8890}
@media(max-width:700px){
  .resorts-filter-row-passes{display:block;margin-top:14px;padding-top:14px}
  .resorts-pass-chip{padding:8px 10px;font-size:.88rem}
}

/* v18: Resort Matcher entry point + standalone matcher ---------------------- */
.resorts-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-top:22px}
.resorts-matcher-link{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border-radius:9px;background:#17577e;color:#fff!important;font-size:.9rem;font-weight:800;text-decoration:none!important;transition:background .15s ease,transform .15s ease}
.resorts-matcher-link:hover,.resorts-matcher-link:focus{background:#103f5c;transform:translateY(-1px)}
.resorts-hero-actions>span{color:#74808a;font-size:.88rem;line-height:1.4}

.resort-matcher-shell{max-width:1120px;margin:0 auto;padding:34px 20px 64px;color:var(--resorts-ink)}
.resort-matcher-breadcrumb{margin:0 0 22px;color:#7a858e;font-size:.86rem}.resort-matcher-breadcrumb a{color:#17577e;font-weight:750;text-decoration:none}.resort-matcher-breadcrumb a:hover{text-decoration:underline}
.resort-matcher-hero{max-width:880px;margin-bottom:26px}.resort-matcher-hero h1{margin:0 0 13px;font-size:clamp(2.4rem,4.7vw,4rem);line-height:1;letter-spacing:-.043em}.resort-matcher-hero p{max-width:790px;margin:0;color:#53606b;font-size:1.08rem;line-height:1.62}
.resort-matcher-grid{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);gap:24px;align-items:start}
.resort-matcher-panel{border:1px solid var(--resorts-line);border-radius:14px;background:#f7f9fa;padding:20px}
.resort-matcher-question{padding:17px 0;border-top:1px solid #dfe5e9}.resort-matcher-question:first-child{padding-top:0;border-top:0}
.resort-matcher-question label,.resort-matcher-question legend{display:block;margin:0 0 8px;padding:0;color:#34414b;font-size:.86rem;font-weight:800}.resort-matcher-question small{display:block;margin:-2px 0 9px;color:#7a858e;font-size:.78rem;line-height:1.4}
.resort-matcher-select{display:block;width:100%;min-height:42px;border:1px solid #cbd5dc;border-radius:8px;background:#fff;color:#34414b;padding:8px 34px 8px 10px;font:inherit;font-size:.92rem}
.resort-matcher-choice-row{display:flex;flex-wrap:wrap;gap:7px}.resort-matcher-choice{position:relative}.resort-matcher-choice input{position:absolute;opacity:0;pointer-events:none}.resort-matcher-choice span{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border:1px solid #ccd6dc;border-radius:999px;background:#fff;color:#53616c;font-size:.84rem;font-weight:750;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.resort-matcher-choice input:checked+span{border-color:#17577e;background:#17577e;color:#fff}.resort-matcher-choice input:focus-visible+span{outline:3px solid rgba(11,105,176,.2);outline-offset:2px}
.resort-matcher-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.resort-matcher-check{display:flex;align-items:center;gap:8px;border:1px solid #d3dce2;border-radius:8px;background:#fff;padding:9px 10px;color:#4d5c67;font-size:.86rem;font-weight:700;cursor:pointer}.resort-matcher-check input{margin:0}
.resort-matcher-submit{display:block;width:100%;margin-top:20px;border:0;border-radius:9px;background:#17577e;color:#fff;padding:12px 15px;font:inherit;font-size:.96rem;font-weight:850;cursor:pointer}.resort-matcher-submit:hover,.resort-matcher-submit:focus{background:#103f5c}.resort-matcher-reset{display:block;width:100%;margin-top:8px;border:0;background:transparent;color:#687680;padding:7px;font:inherit;font-size:.82rem;font-weight:750;cursor:pointer}.resort-matcher-reset:hover{text-decoration:underline;color:#17577e}
.resort-matcher-results{min-width:0}.resort-matcher-results-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px;padding-bottom:11px;border-bottom:2px solid #17212b}.resort-matcher-results-head h2{margin:0;font-size:1.65rem;letter-spacing:-.025em}.resort-matcher-results-head span{color:#7a858e;font-size:.82rem}.resort-matcher-intro{margin:0 0 14px;color:#697680;font-size:.92rem;line-height:1.5}
.resort-matcher-placeholder{border:1px dashed #cbd6dd;border-radius:13px;background:#fbfcfd;padding:38px 28px;color:#6d7982;text-align:center;line-height:1.55}.resort-matcher-placeholder strong{display:block;margin-bottom:5px;color:#3e4d57;font-size:1.05rem}
.resort-match-list{display:grid;gap:12px}.resort-match-card{display:grid;grid-template-columns:132px minmax(0,1fr);overflow:hidden;border:1px solid #dce4e9;border-radius:12px;background:#fff;color:inherit;text-decoration:none!important;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.resort-match-card:hover{border-color:#b9cedb;box-shadow:0 6px 18px rgba(35,64,82,.07);transform:translateY(-1px)}.resort-match-card:first-child{border-color:#afcadb;box-shadow:inset 4px 0 0 #17577e}.resort-match-photo{min-height:132px;background:#eef2f4}.resort-match-photo img{display:block;width:100%;height:100%;object-fit:cover}.resort-match-photo-empty{display:flex;align-items:center;justify-content:center;color:#94a0a8;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.resort-match-copy{min-width:0;padding:14px 16px}.resort-match-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.resort-match-rank{margin-bottom:4px;color:#17577e;font-size:.69rem;font-weight:850;letter-spacing:.075em;text-transform:uppercase}.resort-match-card h3{margin:0;color:#174f72;font-size:1.13rem;line-height:1.2}.resort-match-location{margin-top:4px;color:#78838c;font-size:.82rem}.resort-match-stats{display:flex;flex-wrap:wrap;gap:5px 14px;margin-top:10px;color:#5f6c76;font-size:.82rem}.resort-match-stats strong{color:#34414b}.resort-match-reasons{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.resort-match-reason{display:inline-block;border-radius:999px;background:#edf4f8;color:#315f7a;padding:4px 8px;font-size:.72rem;font-weight:750}.resort-match-pass{background:#f2f6f8;color:#345266}.resort-match-open{flex:0 0 auto;color:#17577e;font-size:.78rem;font-weight:800;white-space:nowrap}
.resort-matcher-note{margin-top:16px;color:#7b868e;font-size:.78rem;line-height:1.45}
@media(max-width:850px){.resort-matcher-grid{grid-template-columns:1fr}.resort-matcher-panel{padding:18px}.resort-matcher-results{margin-top:4px}}
@media(max-width:600px){.resorts-hero-actions{display:block}.resorts-hero-actions>span{display:block;margin-top:9px}.resort-matcher-shell{padding:24px 15px 50px}.resort-matcher-hero h1{font-size:2.5rem}.resort-matcher-hero p{font-size:1rem}.resort-matcher-checks{grid-template-columns:1fr}.resort-match-card{grid-template-columns:96px minmax(0,1fr)}.resort-match-photo{min-height:120px}.resort-match-copy{padding:12px 13px}.resort-match-topline{display:block}.resort-match-open{display:block;margin-top:6px}.resort-match-stats{gap:4px 10px}}

/* v18: Resort Matcher location + forecast filters --------------------------- */
.resort-matcher-input{display:block;width:100%;min-height:42px;border:1px solid #cbd5dc;border-radius:8px;background:#fff;color:#34414b;padding:8px 10px;font:inherit;font-size:.92rem}
.resort-matcher-input:focus,.resort-matcher-select:focus{outline:3px solid rgba(11,105,176,.16);outline-offset:1px;border-color:#6ca2c4}
.resort-matcher-location-grid{display:grid;grid-template-columns:minmax(0,1.35fr) 90px minmax(150px,.9fr);gap:8px}
.resort-matcher-location-status{min-height:1.25em;margin-top:7px;color:#6e7a84;font-size:.75rem;line-height:1.35}
.resort-matcher-submit:disabled{opacity:.62;cursor:wait}
.resort-match-card h3 a{color:#174f72!important;text-decoration:none!important}.resort-match-card h3 a:hover,.resort-match-card h3 a:focus{color:#0b69b0!important;text-decoration:none!important}
.resort-match-photo{text-decoration:none!important;overflow:hidden}
.resort-match-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px 14px;margin-top:12px;padding-top:10px;border-top:1px solid #edf1f3}
.resort-match-open,.resort-match-route{display:inline-flex;align-items:center;color:#17577e!important;font-size:.78rem;font-weight:800;text-decoration:none!important;white-space:nowrap}
.resort-match-open:hover,.resort-match-open:focus,.resort-match-route:hover,.resort-match-route:focus{color:#103f5c!important;text-decoration:underline!important}
.resort-match-route::before{content:"↗";margin-right:5px;font-size:.84rem}
@media(max-width:700px){.resort-matcher-location-grid{grid-template-columns:minmax(0,1fr) 84px}.resort-matcher-location-grid #matcherDistance{grid-column:1/-1}.resort-match-actions{gap:8px 12px}}
@media(max-width:430px){.resort-matcher-location-grid{grid-template-columns:1fr}.resort-matcher-location-grid #matcherDistance{grid-column:auto}}


/* v18: Resort Matcher match-strength indicator ----------------------------- */
.resort-match-strength{flex:0 0 118px;min-width:118px;padding-top:1px;text-align:right}
.resort-match-strength-label{display:block;margin-bottom:5px;color:#53616c;font-size:.69rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}
.resort-match-strength-track{display:block;width:100%;height:8px;overflow:hidden;border:1px solid #d8e2e8;border-radius:999px;background:linear-gradient(180deg,#eef3f6 0%,#e3eaee 100%);box-shadow:inset 0 1px 2px rgba(34,62,80,.08)}
.resort-match-strength-track>span{position:relative;display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#8db8ca 0%,#4f8faf 48%,#176b9e 100%);box-shadow:0 0 8px rgba(23,107,158,.16)}
.resort-match-strength-track>span::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.34) 0%,rgba(255,255,255,0) 58%)}
@media(max-width:600px){.resort-match-strength{margin-top:8px;min-width:0;width:120px;text-align:left}.resort-match-strength-label{font-size:.66rem}}
