/* Ski passport: page-specific visual layer that keeps the shared Adventures shell intact. */
.ski-passport-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.ski-passport-summary .sport-panel{position:relative;min-height:150px;overflow:hidden;background:rgba(255,255,255,.72)}
.ski-passport-summary .sport-panel:after{content:"";position:absolute;right:-28px;bottom:-40px;width:116px;height:116px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:50%;opacity:.62;pointer-events:none}

.stamp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}
.passport-stamp{--stamp-accent:var(--accent);position:relative;display:flex;min-width:0;min-height:238px;flex-direction:column;padding:15px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(155deg,color-mix(in srgb,var(--stamp-accent) 6%,#fff) 0%,rgba(255,255,255,.82) 54%,color-mix(in srgb,var(--paper) 82%,#fff) 100%);text-align:left;overflow:hidden;isolation:isolate}
.passport-stamp:before{content:"";position:absolute;z-index:-1;right:-31px;top:-36px;width:108px;height:108px;border:1px dashed color-mix(in srgb,var(--stamp-accent) 45%,var(--line));border-radius:50%;opacity:.42;transform:rotate(-14deg)}
.passport-stamp:after{content:"";position:absolute;z-index:-1;left:13px;right:13px;bottom:55px;border-top:1px dashed color-mix(in srgb,var(--stamp-accent) 28%,var(--line));opacity:.75}
.passport-stamp-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--stamp-accent);font-size:.62rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.passport-stamp-top small,.passport-stamp-top span{min-width:0;font:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.passport-stamp-top span{color:var(--muted);letter-spacing:.08em;text-align:right}
.passport-stamp-art{display:flex;align-items:center;justify-content:center;height:104px;margin:8px -2px 10px;color:var(--stamp-accent)}
.passport-stamp-art svg{display:block;width:100%;height:100%;overflow:visible}
.passport-stamp-art .stamp-horizon{fill:color-mix(in srgb,var(--stamp-accent) 6%,#fff);stroke:color-mix(in srgb,var(--stamp-accent) 18%,var(--line));stroke-width:1}
.passport-stamp-art .stamp-disc{fill:color-mix(in srgb,var(--stamp-accent) 9%,#fff);stroke:none}
.passport-stamp-art .stamp-mountain-back{fill:color-mix(in srgb,var(--stamp-accent) 24%,#fff)}
.passport-stamp-art .stamp-mountain-front{fill:color-mix(in srgb,var(--stamp-accent) 52%,#fff)}
.passport-stamp-art .stamp-snow,.passport-stamp-art .stamp-line,.passport-stamp-art .stamp-outline,.passport-stamp-art .stamp-tree{fill:none;stroke:var(--stamp-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.passport-stamp-art .stamp-snow{stroke:color-mix(in srgb,var(--stamp-accent) 72%,#fff);stroke-width:2.4}
.passport-stamp-art .stamp-mark{fill:color-mix(in srgb,var(--stamp-accent) 18%,#fff);stroke:var(--stamp-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.passport-stamp-copy{display:grid;gap:4px;margin-top:auto;padding-top:10px}
.passport-stamp-copy strong{display:block;color:var(--ink);font-size:1.08rem;line-height:1.03;letter-spacing:-.025em;overflow-wrap:anywhere}
.passport-stamp-copy span{display:block;color:var(--muted);font-size:.7rem}

@media(max-width:900px){.stamp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.stamp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.passport-stamp{min-height:220px}.passport-stamp-art{height:94px}}
@media(max-width:520px){.ski-passport-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ski-passport-summary .sport-panel{min-height:132px;padding:16px}.ski-passport-summary .sport-panel strong{font-size:clamp(1.18rem,6vw,1.65rem)}.stamp-grid{gap:10px}.passport-stamp{min-height:200px;padding:13px;border-radius:16px}.passport-stamp-art{height:82px;margin:6px -4px 8px}.passport-stamp-copy strong{font-size:.98rem}.passport-stamp-copy span{font-size:.66rem}.passport-stamp-top{font-size:.56rem}}
@media(max-width:360px){.ski-passport-summary,.stamp-grid{grid-template-columns:1fr}.passport-stamp{min-height:205px}.passport-stamp-art{height:92px}}
