:root{--profile-blue:#0b69b0;--profile-ink:#17212b;--profile-muted:#66717d;--profile-line:#dfe4e8;--profile-soft:#f6f8fa}
.resort-profile-shell{max-width:1120px;margin:0 auto;padding:25px 20px 70px;color:var(--profile-ink)}
.resort-profile-breadcrumb{font-size:.82rem;color:#7c8790;margin:4px 0 22px}.resort-profile-breadcrumb a{font-weight:700}.resort-profile-breadcrumb span{margin-left:5px}
.resort-profile-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(350px,.95fr);gap:42px;align-items:center;padding-bottom:34px;border-bottom:1px solid var(--profile-line)}.resort-profile-photo img{display:block;width:100%;height:auto;border-radius:15px}.resort-profile-photo-credit{font-size:.75rem;color:#7c858e;margin-top:6px}.resort-profile-kicker,.resort-profile-section-kicker{color:var(--profile-blue);text-transform:uppercase;letter-spacing:.105em;font-size:.73rem;font-weight:800;margin-bottom:7px}.resort-profile-summary h1{font-size:clamp(2.5rem,5vw,4.25rem);line-height:.99;letter-spacing:-.045em;margin:0 0 9px}.resort-profile-location{font-size:1.04rem;color:#67727d;margin-bottom:20px}.resort-profile-actions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:26px}.resort-profile-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.resort-profile-stat{border:1px solid var(--profile-line);border-radius:10px;padding:12px;background:#fafbfc}.resort-profile-stat strong{display:block;font-size:1.12rem}.resort-profile-stat span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#77818a;margin-top:2px}
.resort-profile-jump{display:flex;gap:6px;overflow-x:auto;margin:24px 0 0;padding-bottom:3px}.resort-profile-jump a{flex:0 0 auto;border:1px solid var(--profile-line);border-radius:999px;padding:7px 11px;text-decoration:none!important;color:#4c5964;font-size:.8rem;font-weight:700}.resort-profile-jump a:hover{border-color:#b9d4e6;color:var(--profile-blue)}
.resort-profile-section{margin:42px 0;scroll-margin-top:20px}.resort-profile-section>h2{font-size:1.8rem;letter-spacing:-.025em;margin:0 0 18px}.resort-profile-overview{max-width:860px;font-size:1.03rem;line-height:1.72;color:#35404a}.resort-profile-overview img{max-width:100%;height:auto}
.resort-profile-ad{margin:34px 0}
.resort-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.resort-detail-card{border:1px solid var(--profile-line);border-radius:13px;padding:21px 22px;background:#fff}.resort-detail-card h3{font-size:1.12rem;margin:0 0 15px}.resort-detail-card dl{margin:0}.resort-detail-row{display:grid;grid-template-columns:145px minmax(0,1fr);gap:18px;padding:9px 0;border-top:1px solid #edf0f2}.resort-detail-row:first-child{border-top:0}.resort-detail-row dt{font-size:.79rem;color:#75808a;font-weight:700}.resort-detail-row dd{margin:0;font-size:.9rem;color:#34404a}.resort-detail-row ul{margin:0 0 0 18px!important;padding:0!important}
.resort-profile-trailmap img{display:block;max-width:100%;height:auto;border-radius:12px;border:1px solid var(--profile-line)}
.resort-profile-existing>.container{max-width:none!important;padding-left:0!important;padding-right:0!important}.resort-profile-existing .resort_section_heading{font-size:1.8rem!important;font-weight:800!important;letter-spacing:-.025em;border-bottom:0!important;padding-bottom:0!important;margin-bottom:18px!important}.resort-profile-existing #mapid{border-radius:12px;overflow:hidden;border:1px solid var(--profile-line)}.resort-profile-existing table{max-width:100%}
.resort-social-links{display:flex;flex-wrap:wrap;gap:10px}.resort-social-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none!important;font-weight:700}.resort-social-link img{display:block;width:24px;height:24px;object-fit:contain}
.resort-profile-forum-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:9px;margin-bottom:16px;border-bottom:2px solid #20252b}.resort-profile-forum-heading h2{font-size:1.8rem;font-weight:800;letter-spacing:-.025em;margin:0}.resort-profile-forum-heading>a{font-size:.88rem;font-weight:700;white-space:nowrap}.resort-forum-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.resort-forum-card{display:block;border:1px solid var(--profile-line);border-radius:10px;background:#fff;padding:18px 20px;color:var(--profile-ink)!important;text-decoration:none!important;transition:border-color .15s ease,background .15s ease}.resort-forum-card:hover{border-color:#b8cfdf;background:#f8fbfd}.resort-forum-card-yours{background:#f5faff;border-color:#bfd8e9}.resort-forum-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.resort-forum-title-row h3{color:#0a609c;font-size:1.08rem;line-height:1.25;font-weight:750;margin:0}.resort-forum-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;flex:0 0 auto}.resort-forum-yours,.resort-forum-new{display:inline-block;border-radius:999px;padding:3px 8px;font-size:.72rem;line-height:1.2;font-weight:700;white-space:nowrap}.resort-forum-yours{color:#245d7c;background:#e8f3fa}.resort-forum-new{color:#28723d;background:#edf8f0;border:1px solid #b9dfc2}.resort-forum-stats{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;color:#596571;font-size:.88rem}.resort-forum-update{margin-top:8px;color:#7a858f;font-size:.84rem}.resort-forum-empty{padding:26px 0;color:#76818a}
@media(max-width:850px){.resort-profile-hero{grid-template-columns:1fr}.resort-profile-photo{max-width:720px}.resort-profile-stat-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.resort-profile-shell{padding-left:15px;padding-right:15px}.resort-profile-summary h1{font-size:2.65rem}.resort-profile-stat-grid{grid-template-columns:repeat(2,1fr)}.resort-detail-grid{grid-template-columns:1fr}.resort-detail-row{grid-template-columns:120px minmax(0,1fr)}.resort-profile-forum-heading{display:block}.resort-profile-forum-heading>a{display:inline-block;margin-top:5px}.resort-forum-list{grid-template-columns:1fr}.resort-forum-title-row{gap:8px}}

.resort-favorite-button.is-saved{border-color:#9ab9ca;background:#edf5f9;color:#245f7e}.resort-favorite-button.is-saving{opacity:.6;cursor:wait}

/* 2026 resort profile v2: conservative refinement from known-good profile */
.resort-profile-shell{max-width:1180px;padding:26px 22px 72px}
.resort-profile-breadcrumb{font-size:.88rem;margin-bottom:20px}

/* Hero: preserve the existing structure, but make the two columns feel deliberate. */
.resort-profile-hero{grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:34px;align-items:start;padding-bottom:30px}
.resort-profile-photo img{border-radius:14px;box-shadow:0 5px 18px rgba(28,49,64,.07)}
.resort-profile-photo-credit{font-size:.8rem;line-height:1.4}
.resort-profile-summary{padding-top:3px}
.resort-profile-kicker,.resort-profile-section-kicker{font-size:.78rem;letter-spacing:.105em}
.resort-profile-summary h1{font-size:clamp(2.45rem,4.4vw,3.75rem);line-height:1.01;letter-spacing:-.04em;margin-bottom:9px}
.resort-profile-location{font-size:1.12rem;line-height:1.4;margin-bottom:18px}
.resort-profile-actions{gap:8px;margin-bottom:20px}
.resort-profile-actions .btn{border-radius:8px;font-weight:700;padding:.5rem .78rem}
.resort-profile-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.resort-profile-stat{padding:13px 14px;border-radius:9px;background:#f8fafb}
.resort-profile-stat strong{font-size:1.18rem;line-height:1.15}
.resort-profile-stat span{font-size:.74rem;line-height:1.25;margin-top:4px}

/* Keep one clear section navigator; no duplicated navigation or generated labels. */
.resort-profile-jump{margin-top:22px;gap:7px;padding-bottom:4px}
.resort-profile-jump a{font-size:.87rem;padding:8px 12px;background:#fff}

/* Improve the existing content without changing its structure. */
.resort-profile-section{margin:44px 0}
.resort-profile-section>h2{font-size:1.95rem;margin-bottom:17px}
.resort-profile-overview{max-width:900px;font-size:1.08rem;line-height:1.75;color:#35404a}
.resort-detail-grid{gap:16px}
.resort-detail-card{border-radius:13px;padding:22px 23px;box-shadow:0 2px 9px rgba(29,48,61,.025)}
.resort-detail-card h3{font-size:1.16rem}
.resort-detail-row{padding:10px 0}
.resort-detail-row dt{font-size:.82rem}
.resort-detail-row dd{font-size:.94rem;line-height:1.5}
.resort-profile-trailmap img{border-radius:13px}

/* Existing helper-generated sections should visually belong to the same page. */
.resort-profile-existing .resort_section_heading{font-size:1.95rem!important}
.resort-profile-existing #mapid{border-radius:13px}

/* Favorite button stays fully functional but feels less like a generic Bootstrap control. */
.resort-favorite-button{font-weight:700}
.resort-favorite-button.is-saved{border-color:#9ab9ca;background:#edf5f9;color:#245f7e}

@media(max-width:900px){
  .resort-profile-hero{grid-template-columns:1fr;gap:24px}
  .resort-profile-photo{max-width:none}
  .resort-profile-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:650px){
  .resort-profile-shell{padding:18px 15px 60px}
  .resort-profile-hero{gap:20px;padding-bottom:24px}
  .resort-profile-summary h1{font-size:2.45rem;line-height:1.03}
  .resort-profile-location{font-size:1.05rem;margin-bottom:15px}
  .resort-profile-actions .btn{font-size:.9rem;padding:.48rem .7rem}
  .resort-profile-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .resort-profile-stat strong{font-size:1.12rem}
  .resort-profile-stat span{font-size:.72rem}
  .resort-profile-jump a{font-size:.84rem}
  .resort-profile-section{margin:38px 0}
  .resort-profile-section>h2{font-size:1.78rem}
  .resort-profile-overview{font-size:1.04rem;line-height:1.7}
}

/* 2026 resort profile v3: focused hierarchy and organization pass */
.resort-profile-actions{align-items:center}
.resort-action{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #c6d3dc;border-radius:9px;background:#fff;color:#28566f!important;text-decoration:none!important;font:inherit;font-size:.9rem;font-weight:750;line-height:1.2;padding:9px 12px;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}
.resort-action:hover{border-color:#8eb4ca;background:#f6fafc;color:#124f73!important}
.resort-action-primary{border-color:#176fa5;background:#176fa5;color:#fff!important}
.resort-action-primary:hover{border-color:#125d8b;background:#125d8b;color:#fff!important}
.resort-favorite-button{appearance:none;-webkit-appearance:none}
.resort-favorite-button.is-saved{border-color:#8ebbd3;background:#edf6fb;color:#145f8c!important}

.resort-profile-stat-grid{border-top:1px solid #e5e9ec;padding-top:15px}
.resort-profile-stat{border:0;border-left:3px solid #d7e8f3;border-radius:0;padding:5px 10px 6px 12px;background:transparent}
.resort-profile-stat strong{font-size:1.2rem}
.resort-profile-stat span{font-size:.76rem;color:#6e7983}

.resort-detail-grid-three{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.resort-detail-card-kicker{color:var(--profile-blue);text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;font-weight:800;margin-bottom:4px}
.resort-detail-grid-three .resort-detail-card h3{margin-bottom:13px}
.resort-detail-grid-three .resort-detail-row{display:block;padding:9px 0}
.resort-detail-grid-three .resort-detail-row dt{margin-bottom:3px;font-size:.78rem;text-transform:uppercase;letter-spacing:.035em}
.resort-detail-grid-three .resort-detail-row dd{font-size:.94rem;line-height:1.45}

.resort-profile-section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:15px}
.resort-profile-section-heading-row h2{font-size:1.95rem;letter-spacing:-.025em;margin:0}
.resort-profile-section-action{flex:0 0 auto;font-size:.9rem;font-weight:750;text-decoration:none!important;white-space:nowrap}
.resort-trailmap-frame{display:block;border:1px solid var(--profile-line);border-radius:14px;padding:10px;background:#f7f9fa;text-decoration:none!important;overflow:hidden}
.resort-trailmap-frame img{border:0;border-radius:8px;width:100%}
.resort-trailmap-frame:hover{border-color:#b6cfdf;background:#f3f8fb}

@media(max-width:980px){
  .resort-detail-grid-three{grid-template-columns:1fr 1fr}
  .resort-detail-grid-three .resort-detail-card:last-child{grid-column:1/-1}
}
@media(max-width:700px){
  .resort-detail-grid-three{grid-template-columns:1fr}
  .resort-detail-grid-three .resort-detail-card:last-child{grid-column:auto}
  .resort-profile-section-heading-row{display:block}
  .resort-profile-section-action{display:inline-block;margin-top:5px}
  .resort-profile-actions{gap:7px}
  .resort-action{font-size:.88rem;padding:8px 10px}
}

/* v5: Favorite Resorts control in the hero action row */
.resort-favorite-toggle{appearance:none;-webkit-appearance:none;font-family:inherit}
.resort-favorite-toggle.is-saved{border-color:#8ebbd3;background:#edf6fb;color:#145f8c!important}
.resort-favorite-toggle.is-saving{opacity:.55;cursor:wait}


/* v6: move trip-planning utility into details and unify lower live-content sections */
.resort-detail-action{display:inline-flex;align-items:center;gap:5px;font-weight:750;text-decoration:none!important;color:#176a9c!important}
.resort-detail-action:hover{text-decoration:underline!important;color:#10577f!important}

/* Keep the legacy helper output, but give each live-information section a consistent boundary and rhythm. */
.resort-profile-existing{padding-top:24px;border-top:1px solid var(--profile-line)}
.resort-profile-existing>.container{margin:0!important}
.resort-profile-existing .resort_section_heading{color:var(--profile-ink)!important;margin-top:0!important;margin-bottom:16px!important}
.resort-profile-existing #mapid{box-shadow:0 2px 10px rgba(28,49,64,.04)}

/* Trail map remains prominent without a heavy nested-card appearance. */
.resort-trailmap-frame{padding:8px}
.resort-profile-trailmap .resort-profile-section-heading-row{padding-bottom:10px;border-bottom:1px solid #e8ecef}

@media(max-width:700px){
  .resort-profile-existing{padding-top:18px}
}


/* v7: normalize ordinary resort-profile links to the DCSki blue */
.resort-detail-card a:not(.resort-action),
.resort-profile-existing a,
.resort-profile-section-action{color:var(--profile-blue)!important}
.resort-detail-card a:not(.resort-action):hover,
.resort-profile-existing a:hover,
.resort-profile-section-action:hover{color:#07548d!important}

/* v8: resort benefits and modern trip/weather/news sections */
.resort-benefits{margin-top:24px;border:1px solid #cfe0eb;border-left:4px solid var(--profile-blue);border-radius:12px;background:#f5f9fc;padding:16px 18px 18px}
.resort-benefits-label{color:#51606c;text-transform:uppercase;letter-spacing:.085em;font-size:.76rem;font-weight:800;margin-bottom:11px}
.resort-benefits-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.resort-benefit{display:flex;align-items:center;gap:9px;min-height:52px;border:1px solid #d8e6ef;border-radius:9px;background:#fff;padding:10px 12px;color:#26343f;font-size:.97rem;line-height:1.3;font-weight:700}
.resort-benefit-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:#e6f2f9;color:#0b69b0;font-size:.85rem;font-weight:900}

.resort-profile-live{padding-top:27px;border-top:1px solid var(--profile-line)}
.resort-profile-live>h2{font-size:1.95rem;letter-spacing:-.025em;margin:0 0 17px}
.resort-trip-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:20px;align-items:stretch}
.resort-trip-map,.resort-distance-card{border:1px solid var(--profile-line);border-radius:14px;background:#fff;overflow:hidden}
.resort-trip-map{padding:8px;background:#f6f8fa}
.resort-trip-map #mapid{height:430px!important;border-radius:9px;box-shadow:none!important}
.resort-distance-card{padding:18px}
.resort-distance-heading{font-size:1.08rem;font-weight:800;color:var(--profile-ink);padding:0 2px 11px;border-bottom:2px solid #20252b}
.resort-distance-list{display:block}
.resort-distance-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px 2px;border-bottom:1px solid #e8ecef;color:var(--profile-ink)!important;text-decoration:none!important}
.resort-distance-row:last-child{border-bottom:0}
.resort-distance-row:hover{background:#f7fafc}
.resort-distance-city{font-weight:700;color:#176a9c}
.resort-distance-time,.resort-distance-miles{color:#596671;font-size:.9rem;white-space:nowrap}

.resort-weather-frame{border:1px solid var(--profile-line);border-radius:14px;background:#f8fafb;padding:18px;overflow:hidden}
.resort-weather-frame>.container{max-width:none!important;width:100%!important;padding:0!important;margin:0!important}
.resort-weather-frame .resort_section_heading{display:none!important}
.resort-weather-frame table{background:#fff;border-radius:10px;overflow:hidden}
.resort-weather-frame .card{border-color:#dfe5e9!important;border-radius:10px!important;box-shadow:none!important}
.resort-weather-frame img{max-width:100%;height:auto}

.resort-news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.resort-news-card{display:block;border:1px solid var(--profile-line);border-radius:12px;background:#fff;overflow:hidden;color:var(--profile-ink)!important;text-decoration:none!important;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.resort-news-card:hover{border-color:#b7cfdf;background:#fbfcfd;box-shadow:0 4px 16px rgba(32,53,68,.05);text-decoration:none!important}
.resort-news-header{padding:14px 15px 10px}
.resort-news-date{font-size:.76rem;line-height:1.3;text-transform:uppercase;letter-spacing:.065em;font-weight:800;color:#77828b;margin-bottom:5px}
.resort-news-header h3{font-size:1.04rem;line-height:1.24;letter-spacing:-.012em;margin:0;color:#17212b}
.resort-news-body{display:grid;grid-template-columns:145px minmax(0,1fr);gap:14px;align-items:start;padding:0 15px 15px}
.resort-news-image{overflow:hidden;border-radius:8px;background:transparent}
.resort-news-image img{display:block;width:100%;height:auto;object-fit:contain}
.resort-news-body p{font-size:.91rem;line-height:1.45;color:#68747e;margin:0}
.resort-news-body-no-image{grid-template-columns:1fr}
.resort-news-empty{border:1px solid var(--profile-line);border-radius:12px;background:#f8fafb;padding:20px;color:#68747e}

@media(max-width:850px){
  .resort-benefits-grid{grid-template-columns:1fr}
  .resort-trip-grid{grid-template-columns:1fr}
  .resort-trip-map #mapid{height:390px!important}
  .resort-news-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .resort-trip-map #mapid{height:330px!important}
  .resort-distance-card{padding:14px}
  .resort-distance-row{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px}
  .resort-distance-miles{grid-column:2;text-align:right;font-size:.84rem}
  .resort-news-header{padding:12px 13px 9px}
  .resort-news-header h3{font-size:1rem}
  .resort-news-body{grid-template-columns:112px minmax(0,1fr);gap:12px;padding:0 13px 13px}
  .resort-news-body p{font-size:.88rem;line-height:1.42}
}

/* v9: editorial overview pullout + layout corrections */
.resort-profile-overview-wrap{display:block;width:100%;max-width:none}
.resort-profile-overview-wrap::after{content:"";display:block;clear:both}
.resort-profile-overview-wrap .resort-profile-overview{max-width:none}
.resort-benefits{float:right;width:min(340px,38%);margin:4px 0 18px 28px;padding:14px 16px 15px;border-radius:10px}
.resort-benefits-label{margin-bottom:9px}
.resort-benefits-grid{display:block}
.resort-benefit{min-height:0;margin:0;padding:8px 0;border:0;border-bottom:1px solid #d8e6ef;border-radius:0;background:transparent;font-size:.94rem;line-height:1.35}
.resort-benefit:last-child{border-bottom:0;padding-bottom:2px}
.resort-benefit:first-child{padding-top:2px}
.resort-benefit-mark{flex-basis:23px;width:23px;height:23px;font-size:.78rem}

/* Let the map consume the full height of the stretched grid card. */
.resort-trip-map{display:flex;min-height:430px}
.resort-trip-map #mapid{flex:1 1 auto;width:100%;height:auto!important;min-height:430px!important}

/* Neutralize Bootstrap row gutters inside the legacy weather renderer so
   its white current-condition table cannot spill outside the framed module. */
.resort-weather-frame{min-width:0}
.resort-weather-frame *,
.resort-weather-frame *::before,
.resort-weather-frame *::after{box-sizing:border-box}
.resort-weather-frame>.container,
.resort-weather-frame>.container-fluid{max-width:100%!important;width:100%!important;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}
.resort-weather-frame .row{margin-left:0!important;margin-right:0!important;max-width:100%!important}
.resort-weather-frame [class*="col-"]{min-width:0;padding-left:10px!important;padding-right:10px!important}
.resort-weather-frame .resort_weather_table{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}

@media(max-width:850px){
  .resort-benefits{float:none;width:auto;margin:0 0 20px;padding:14px 16px}
  .resort-trip-map{min-height:390px}
  .resort-trip-map #mapid{min-height:390px!important}
}
@media(max-width:560px){
  .resort-trip-map{min-height:330px}
  .resort-trip-map #mapid{min-height:330px!important}
  .resort-weather-frame{padding:12px}
  .resort-weather-frame [class*="col-"]{padding-left:5px!important;padding-right:5px!important}
}

/* v12: finish link-color normalization for profile-specific UI */
.resort-profile-breadcrumb a,
.resort-weather-frame a,
.resort-profile-forum-heading > a {
  color: var(--profile-blue) !important;
}

.resort-profile-breadcrumb a:hover,
.resort-profile-breadcrumb a:focus,
.resort-weather-frame a:hover,
.resort-weather-frame a:focus,
.resort-profile-forum-heading > a:hover,
.resort-profile-forum-heading > a:focus {
  color: #07548d !important;
}

/* Resort profile Community Pulse -------------------------------------------- */
.resort-profile-forum-section{
  padding:24px;
  border:1px solid #d7e2e9;
  border-radius:15px;
  background:linear-gradient(180deg,#f8fbfd 0,#fff 24%);
}
.resort-profile-forum-heading{
  align-items:flex-end;
  margin-bottom:0;
  border-bottom:1px solid #cfdbe3;
}
.resort-profile-forum-heading h2{
  font-size:clamp(1.7rem,2.5vw,2.15rem);
}
.resort-profile-forum-heading>a{
  color:var(--profile-blue)!important;
}
.resort-forum-intro{
  margin:13px 0 18px;
  color:#697783;
  font-size:1rem;
  line-height:1.5;
}
.resort-forum-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.resort-forum-card{
  position:relative;
  min-width:0;
  padding:17px 18px 17px 26px;
  border:1px solid #dce5ea;
  border-radius:12px;
  box-shadow:none;
  background:#fff;
}
.resort-forum-card::before{
  content:"";
  position:absolute;
  left:12px;
  top:24px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#7fa9c2;
}
.resort-forum-card:hover{
  border-color:#b7ccd9;
  background:#fbfdfe;
  box-shadow:0 4px 14px rgba(41,70,90,.055);
}
.resort-forum-card-yours{
  border-color:#bed7e6;
  background:#f4faff;
}
.resort-forum-card-yours::before{
  background:#4d8cb3;
}
.resort-forum-card-new::before{
  background:#2d9b59;
  box-shadow:0 0 0 3px rgba(45,155,89,.10);
}
.resort-forum-card-popular{
  border-color:#dfc68d;
  background:linear-gradient(135deg,#fffaf0 0,#fff 64%);
  box-shadow:inset 3px 0 0 #d9a53b;
}
.resort-forum-card-popular::before{
  background:#d49a27;
  box-shadow:0 0 0 3px rgba(212,154,39,.12);
}
.resort-forum-title-row h3{
  color:#174f72;
  font-size:1.08rem;
  line-height:1.25;
}
.resort-forum-summary{
  margin:8px 0 11px;
  color:#536570;
  font-size:.94rem;
  line-height:1.48;
}
.resort-forum-stats{
  gap:6px 18px;
  margin-top:0;
  color:#596873;
  font-size:.86rem;
}
.resort-forum-stats strong{
  color:#344550;
}
.resort-forum-update{
  margin-top:7px;
  color:#7e8992;
  font-size:.82rem;
  line-height:1.35;
}
.resort-forum-yours,
.resort-forum-new,
.resort-forum-popular{
  display:inline-block;
  padding:3px 7px;
  border-radius:999px;
  font-size:.68rem;
  line-height:1.2;
  font-weight:750;
  white-space:nowrap;
}
.resort-forum-popular{
  border:1px solid #e3b65c;
  background:#fff6df;
  color:#8a5a00;
  font-weight:850;
  letter-spacing:.035em;
  text-transform:uppercase;
}
@media(max-width:760px){
  .resort-profile-forum-section{padding:18px 15px}
  .resort-forum-list{grid-template-columns:1fr}
  .resort-forum-card{padding:15px 14px 15px 24px}
  .resort-forum-card::before{left:11px;top:22px}
  .resort-forum-title-row{gap:8px}
  .resort-forum-summary{font-size:.93rem}
}

/* Resort profile footer spacing: keep the final Forum section visually connected
   to the shared site footer without the large empty band used by interior sections. */
.resort-profile-shell {
  padding-bottom: 22px;
}
.resort-profile-shell > #forum.resort-profile-section {
  margin-bottom: 18px;
}
@media (max-width: 650px) {
  .resort-profile-shell {
    padding-bottom: 18px;
  }
  .resort-profile-shell > #forum.resort-profile-section {
    margin-bottom: 14px;
  }
}

/* Trail mix visualization --------------------------------------------------- */
.resort-trail-mix{margin-top:3px}
.resort-trail-mix-bar{display:flex;width:100%;height:13px;overflow:hidden;border:1px solid #d8e0e5;border-radius:999px;background:#eef2f4}
.resort-trail-mix-bar span{display:block;height:100%}
.resort-trail-mix-beginner{background:#4b9b62}
.resort-trail-mix-intermediate{background:#397fae}
.resort-trail-mix-expert{background:#343d45}
.resort-trail-mix-legend{display:grid;gap:5px;margin-top:9px}
.resort-trail-mix-legend span{display:flex;align-items:center;gap:7px;color:#51606b;font-size:.88rem;line-height:1.35}
.resort-trail-mix-legend strong{color:#2e3c46}
.resort-trail-dot{display:inline-block;flex:0 0 auto;width:9px;height:9px;border-radius:50%}
.resort-trail-dot-beginner{background:#4b9b62}
.resort-trail-dot-intermediate{background:#397fae}
.resort-trail-dot-expert{background:#343d45}

/* Nearby resort discovery -------------------------------------------------- */
.resort-profile-nearby{padding-top:4px}
.resort-nearby-intro{margin:-5px 0 16px;color:#6f7b84;font-size:.96rem;line-height:1.5}
.resort-nearby-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.resort-nearby-card{display:flex;flex-direction:column;min-width:0;padding:17px 18px;border:1px solid #dce4e9;border-radius:12px;background:#fff;color:var(--profile-ink)!important;text-decoration:none!important;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.resort-nearby-card:hover{border-color:#b9cedb;box-shadow:0 5px 16px rgba(35,64,82,.06);transform:translateY(-1px);text-decoration:none!important}
.resort-nearby-distance{margin-bottom:6px;color:#176a9c;font-size:.76rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}
.resort-nearby-card h3{margin:0;color:#174f72;font-size:1.04rem;line-height:1.24;letter-spacing:-.015em}
.resort-nearby-location{margin-top:5px;color:#74808a;font-size:.88rem;line-height:1.35}
.resort-nearby-stats{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:13px;color:#65737d;font-size:.84rem;line-height:1.35}
.resort-nearby-stats strong{color:#344550}
.resort-nearby-link{margin-top:auto;padding-top:14px;color:#176a9c;font-size:.88rem;font-weight:800}

@media(max-width:900px){
  .resort-nearby-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .resort-nearby-grid{grid-template-columns:1fr}
  .resort-nearby-card{padding:16px}
}

/* Keep whichever section is last visually connected to the shared footer. */
.resort-profile-shell > .resort-profile-section:last-of-type{margin-bottom:18px}
@media(max-width:650px){
  .resort-profile-shell > .resort-profile-section:last-of-type{margin-bottom:14px}
}


/* Regional context notes -------------------------------------------------- */
.resort-detail-context{display:block;margin-top:14px;color:#6f7d87;font-size:.76rem;font-weight:700;line-height:1.4}

/* Nearby Resort photos ---------------------------------------------------- */
.resort-nearby-card{display:flex;flex-direction:column;min-width:0;padding:0;overflow:hidden}
.resort-nearby-thumb{width:100%;height:82px;overflow:hidden;background:#f3f6f8;border-bottom:1px solid #e2e8ec}
.resort-nearby-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.resort-nearby-copy{display:flex;flex:1;min-width:0;flex-direction:column;padding:13px 15px 14px}
.resort-nearby-distance{margin-bottom:4px;font-size:.7rem}
.resort-nearby-card h3{font-size:.98rem}
.resort-nearby-location{font-size:.82rem}
.resort-nearby-stats{gap:4px 10px;margin-top:9px;font-size:.78rem}
.resort-nearby-link{padding-top:9px;font-size:.82rem}
@media(max-width:650px){.resort-nearby-thumb{height:96px}.resort-nearby-copy{padding:14px 16px 15px}}

/* v19: Summer Activities --------------------------------------------------- */
.resort-profile-summer{position:relative}
.resort-summer-card{border:1px solid var(--profile-line);border-radius:14px;background:linear-gradient(135deg,#f8fbfc 0%,#fff 72%);padding:24px 27px;box-shadow:0 2px 10px rgba(30,55,72,.025)}
.resort-summer-content{max-width:980px;color:#35434d;font-size:1rem;line-height:1.72}
.resort-summer-content p{margin:0 0 14px}
.resort-summer-content p:last-child{margin-bottom:0}
.resort-summer-content a{color:var(--profile-blue);font-weight:700}
.resort-summer-content ul,.resort-summer-content ol{margin:10px 0 10px 22px;padding:0}
.resort-summer-content li{margin:5px 0}
@media(max-width:650px){
  .resort-summer-card{padding:18px 17px}
  .resort-summer-content{font-size:1rem;line-height:1.67}
}

/* v19: modernize legacy resort weather output ----------------------------- */
.resort-weather-modern{
  padding:20px;
  background:#f6f9fb;
  border-color:#dbe5eb;
}
.resort-weather-modern .weather_lastupdated{
  margin:0 0 14px!important;
  color:#7a858e!important;
  font-size:.78rem!important;
  line-height:1.4;
  font-style:normal!important;
  letter-spacing:.01em;
}
.resort-weather-modern .weather_current_box{
  width:100%!important;
  max-width:none!important;
  margin:0 0 16px!important;
  padding:18px!important;
  border:1px solid #dde6eb;
  border-radius:13px;
  background:#fff;
  box-shadow:0 2px 10px rgba(30,55,72,.025);
}
.resort-weather-modern .weather_current_box .row{
  align-items:center;
}
.resort-weather-modern .weather_current_title{
  margin:0 0 6px!important;
  color:#24323d;
  font-size:1.06rem!important;
  font-weight:750;
  line-height:1.35;
}
.resort-weather-modern .weather_temperature{
  color:#1d2c37;
  font-size:2rem!important;
  line-height:1.05;
  letter-spacing:-.025em;
}
.resort-weather-modern .weather_text{
  margin:4px 0!important;
  color:#46545e;
  font-size:1rem!important;
  line-height:1.35;
}
.resort-weather-modern .weather_icon{
  width:128px!important;
  max-width:100%;
  filter:none;
}
.resort-weather-modern .resort_weather_table{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  table-layout:auto!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#f9fbfc!important;
  border:1px solid #e2e8ec;
  border-radius:11px;
  overflow:hidden;
}
.resort-weather-modern .resort_weather_table td{
  padding:10px 12px!important;
  border-bottom:1px solid #e7ecef;
  background:transparent!important;
}
.resort-weather-modern .resort_weather_table tr:last-child td{border-bottom:0}
.resort-weather-modern .weather_stat_title{
  width:auto!important;
  padding:10px 5px 10px 12px!important;
  color:#697781!important;
  font-size:.78rem!important;
  font-weight:800!important;
  text-align:left!important;
  text-transform:uppercase;
  letter-spacing:.045em;
  white-space:nowrap;
}
.resort-weather-modern .weather_stat_value{
  padding:10px 12px 10px 4px!important;
  color:#273641!important;
  font-size:.93rem!important;
  font-weight:650;
  text-align:left;
}
.resort-weather-modern .weather_windspeed_icon{width:24px!important;height:auto;margin-left:4px}
.resort-weather-modern .snowmaking_rightnow{
  margin:14px 0 18px!important;
  padding:10px 14px!important;
  border:1px solid #dde6eb;
  border-radius:10px;
  background:#fff;
  color:#5c6a74!important;
  font-size:.93rem!important;
  line-height:1.4;
  font-weight:650;
}
/* Forecast rows become a set of independent modern cards. */
.resort-weather-modern .weather_forecast_column{
  min-width:0;
  margin:0!important;
  padding:14px 13px 15px!important;
  border:1px solid #dde6eb;
  border-radius:12px;
  background:#fff;
  color:#273641!important;
  box-shadow:0 2px 8px rgba(30,55,72,.025);
}
.resort-weather-modern .weather_forecast_day{
  margin:-14px -13px 12px!important;
  padding:9px 10px!important;
  border-radius:11px 11px 0 0;
  background:#eaf3f8!important;
  color:#185f8c!important;
  font-size:.9rem!important;
  line-height:1.25;
  font-weight:800!important;
}
.resort-weather-modern .weather_forecast_column img{
  display:block;
  width:auto!important;
  max-width:92px!important;
  max-height:92px!important;
  margin:4px auto 7px!important;
}
.resort-weather-modern .weather_forecast_column .weather_text{
  margin:6px 0!important;
  font-size:.9rem!important;
  line-height:1.42!important;
}
/* The helper uses Bootstrap rows/columns; make forecast columns breathe like a grid. */
.resort-weather-modern > .container > .row,
.resort-weather-modern > .container-fluid > .row{
  gap:12px;
}
.resort-weather-modern .row > .weather_forecast_column{
  flex:1 1 210px!important;
  width:auto!important;
  max-width:none!important;
}
.resort-weather-modern a{color:var(--profile-blue)!important}
.resort-weather-modern a:hover,.resort-weather-modern a:focus{color:#075181!important}

@media(max-width:760px){
  .resort-weather-modern{padding:13px}
  .resort-weather-modern .weather_current_box{padding:14px!important}
  .resort-weather-modern .weather_icon{width:105px!important}
  .resort-weather-modern .weather_temperature{font-size:1.75rem!important}
  .resort-weather-modern .weather_forecast_column{flex:1 1 calc(50% - 8px)!important}
  .resort-weather-modern .resort_weather_table td{padding:8px!important}
  .resort-weather-modern .weather_stat_title{font-size:.7rem!important;white-space:normal}
  .resort-weather-modern .weather_stat_value{font-size:.86rem!important}
}
@media(max-width:480px){
  .resort-weather-modern .weather_forecast_column{flex-basis:100%!important}
  .resort-weather-modern .weather_current_box .row{display:block!important}
  .resort-weather-modern .weather_icon{width:96px!important}
}


/* v20: compact weather composition --------------------------------------- */
/* The shared weather helper's current-conditions row is a Bootstrap
   3/9-column layout. Keep that structure side-by-side here instead of
   allowing the observation table to fall beneath the icon and create a
   large empty upper-right area. */
.resort-weather-modern > .container:first-child > .row.mb-4{
  display:grid!important;
  grid-template-columns:170px minmax(0,1fr);
  gap:16px;
  align-items:center;
  margin:0 0 12px!important;
}
.resort-weather-modern > .container:first-child > .row.mb-4 > [class*="col-"]{
  width:100%!important;
  max-width:none!important;
  flex:none!important;
  padding:0!important;
}
.resort-weather-modern > .container:first-child > .row.mb-4 > .col-md-3{
  align-self:start;
  padding-top:2px!important;
}
.resort-weather-modern{
  padding:14px;
}
.resort-weather-modern .weather_lastupdated{
  margin-bottom:8px!important;
}
.resort-weather-modern .weather_icon{
  width:112px!important;
}
.resort-weather-modern .weather_temperature{
  font-size:1.85rem!important;
}
.resort-weather-modern .weather_text{
  margin:2px 0!important;
}
.resort-weather-modern .resort_weather_table td{
  padding-top:7px!important;
  padding-bottom:7px!important;
}
.resort-weather-modern .weather_stat_title{
  padding-top:7px!important;
  padding-bottom:7px!important;
}
.resort-weather-modern .weather_stat_value{
  padding-top:7px!important;
  padding-bottom:7px!important;
}
.resort-weather-modern .snowmaking_rightnow{
  margin:8px 0 0!important;
  padding:8px 12px!important;
}
.resort-weather-modern .snowmaking_rightnow img{
  width:34px!important;
  margin-left:12px!important;
}
.resort-weather-modern > .container:nth-of-type(2) > .row{
  gap:10px;
}
.resort-weather-modern .weather_forecast_column{
  padding:11px 11px 12px!important;
}
.resort-weather-modern .weather_forecast_day{
  margin:-11px -11px 9px!important;
  padding:7px 8px!important;
}
.resort-weather-modern .weather_forecast_column img{
  max-width:80px!important;
  max-height:80px!important;
  margin:2px auto 5px!important;
}
.resort-weather-modern .weather_forecast_column .weather_text{
  margin:4px 0!important;
}
.resort-weather-modern > p:last-child{
  margin-top:16px!important;
  margin-bottom:2px!important;
}
@media(max-width:760px){
  .resort-weather-modern > .container:first-child > .row.mb-4{
    grid-template-columns:130px minmax(0,1fr);
    gap:12px;
  }
  .resort-weather-modern .weather_icon{width:100px!important}
}
@media(max-width:600px){
  .resort-weather-modern > .container:first-child > .row.mb-4{
    display:block!important;
  }
  .resort-weather-modern > .container:first-child > .row.mb-4 > .col-md-3{
    margin-bottom:10px;
  }
  .resort-weather-modern .weather_icon{width:96px!important}
}


/* v21: wrap the section jump menu on narrow screens instead of scrolling. */
@media(max-width:760px){
  .resort-profile-jump{flex-wrap:wrap;overflow-x:visible;overflow-y:visible;padding-bottom:0}
  .resort-profile-jump a{flex:0 0 auto}
}


/* v23: final profile QA / accessibility / missing-data polish ---------------- */
.resort-profile-hero-no-photo{grid-template-columns:1fr}
.resort-profile-hero-no-photo .resort-profile-summary{max-width:780px}
.resort-trip-grid-no-map{grid-template-columns:1fr}
.resort-trip-grid-no-map .resort-distance-card{max-width:none}

.resort-profile-summary h1,
.resort-detail-row dd,
.resort-news-header h3,
.resort-nearby-card h3,
.resort-forum-title-row h3,
.resort-profile-section-action{overflow-wrap:break-word}

.resort-profile-shell a:focus-visible,
.resort-profile-shell button:focus-visible{
  outline:3px solid rgba(11,105,176,.35);
  outline-offset:3px;
}

@media(max-width:760px){
  .resort-profile-jump{row-gap:8px}
}
