/* Campaign only. Shared availability, weather hero and booking rules are untouched. */
[data-ski-special] .winter-art img { aspect-ratio: 1672 / 941; object-fit: contain; }
[data-ski-special] .winter-image-wrap { border-radius: 48px 5px 5px 5px; }
[data-ski-special] .winter-layout { grid-template-columns: 1fr 1fr; }
[data-ski-special] h2 { font-size: clamp(42px, 4.6vw, 68px); }
[data-ski-special] .winter-description { margin-block: 20px; }
.ski-weather-notice { display: grid; grid-template-columns: minmax(180px, .8fr) 2fr; gap: 12px 28px; margin-top: 36px; padding: 18px 22px; background: #fffaf0; border-left: 3px solid #ad8345; border-radius: 0 6px 6px 0; }
.ski-weather-notice strong { color: #53452b; font-size: 14px; line-height: 1.6; }
.ski-weather-notice p { margin: 0; color: #665b46; font-size: 13px; line-height: 1.65; }
[data-ski-special] .winter-weekends { margin-top: 32px; scroll-margin-top: 110px; }
.ski-weekend-title { margin-top: 16px; font-size: 15px; line-height: 1.4; color: #203f3e; }
.ski-weekend-hint { margin: 8px 0 16px; font-size: 12px; line-height: 1.65; color: #4d6261; }
[data-ski-special] .winter-stay-action { margin-top: auto; }
.ski-resorts { margin-top: 44px; }
.ski-resorts-heading { padding-bottom: 20px; border-bottom: 1px solid #b9ccc7; }
.ski-resorts-heading p { color: #4d6261; font-size: 14px; line-height: 1.65; margin: 12px 0 0; max-width: 80ch; }
.ski-resort { display: grid; grid-template-columns: 1.3fr .75fr 1.5fr 1.1fr; gap: 24px; align-items: center; padding: 25px 0; border-bottom: 1px solid #ccd9d7; }
.ski-resort > * { min-width: 0; }
.ski-resort-name { position: relative; padding-left: 30px; }
.ski-resort-number { position: absolute; top: 4px; left: 0; color: #8b744f; font-size: 11px; letter-spacing: .08em; }
.ski-resort h4 { font: 400 22px/1.25 Georgia, 'Times New Roman', serif; color: #203f3e; margin: 0 0 6px; letter-spacing: -.02em; }
.ski-source { display: inline-block; padding-block: 8px; font-size: 12px; color: #3d6257; text-decoration: underline; text-underline-offset: 3px; }
.ski-resort-date span { display: block; font-size: 11px; color: #4d6261; margin-bottom: 6px; }
.ski-resort-start { color: #203f3e; font-size: 17px; font-weight: 700; white-space: nowrap; }
.ski-resort-detail { margin: 0; font-size: 13px; line-height: 1.7; color: #4d6261; }
.ski-resort-booking > span { display: block; color: #4d6261; font-size: 11px; line-height: 1.6; margin-bottom: 7px; }
[data-ski-special] .ski-resort-link { display: flex; flex-direction: row; align-items: center; justify-content: space-between; min-height: 44px; height: auto; padding: 10px 12px; border: 1px solid #a4bbb2; font-size: 12px; font-weight: 700; gap: 10px; }
.ski-source-date { margin: 16px 0 0; color: #4d6261; font-size: 11px; line-height: 1.6; }
@media (max-width: 1050px) {
  .ski-resort { grid-template-columns: 1.5fr 1fr; gap: 14px 24px; }
  .ski-resort-detail { padding-left: 30px; }
}
@media (max-width: 700px) {
  [data-ski-special] .winter-layout { grid-template-columns: 1fr; }
  .ski-weather-notice { grid-template-columns: 1fr; gap: 6px; padding: 16px; margin-top: 24px; }
  .ski-resort { grid-template-columns: minmax(0, 1fr) auto; gap: 14px; }
  .ski-resort-name { padding-left: 23px; }
  .ski-resort h4 { font-size: 20px; }
  .ski-resort-date { text-align: right; }
  .ski-resort-start { font-size: 14px; }
  .ski-resort-detail { grid-column: 1 / -1; padding-left: 23px; }
  .ski-resort-booking { grid-column: 1 / -1; padding-left: 23px; }
  .ski-resort-booking > span { font-size: 12px; }
  [data-ski-special] .ski-resort-link { font-size: 14px; }
  .ski-weekend-title { font-size: 14px; }
}
