.weekend{padding:32px 0 36px;border-bottom:1px solid var(--line,#e3e7eb);scroll-margin-top:24px}
.weekend-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.weekend-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;color:var(--blue,#163cff);margin:0 0 9px}
.weekend-heading h2{font-size:28px;letter-spacing:-1px;margin:0;line-height:1.3}
.weekend-range{font-size:13px;color:var(--muted,#657078);white-space:nowrap}
.weekend-intro,.weekend-note{font-size:13px;line-height:1.7;color:var(--muted,#657078);margin:12px 0 20px}
.weekend-note{margin:14px 0 0;font-size:11px}
.weekend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.weekend-card{display:flex;flex-direction:column;border:1px solid var(--line,#e3e7eb);padding:22px;background:#fff;min-width:0}
.weekend-featured{border-color:var(--blue,#163cff);background:#f7f8ff}
.weekend-card-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:24px}
.weekend-badge{font-size:10px;font-weight:700;padding:4px 7px;background:#edf0f3;color:#4e5960;white-space:nowrap}
.weekend-featured .weekend-badge{background:var(--blue,#163cff);color:#fff}
.weekend-price{font-size:11px;color:#536169;line-height:1.5}
.weekend-date{font-size:14px;font-weight:600;margin:0 0 10px;color:var(--blue,#163cff)}
.weekend-card h3{font-size:21px;line-height:1.45;letter-spacing:-.6px;margin:0 0 8px;word-break:keep-all;overflow-wrap:anywhere}
.weekend-name{font-size:11px;color:#657078;line-height:1.5;margin:0 0 15px}
.weekend-when{font-size:12px;line-height:1.8;margin:0 0 10px;color:#35454e}
.weekend-description{font-size:13px;line-height:1.85;margin:0 0 22px;flex:1;word-break:keep-all;overflow-wrap:anywhere}
.weekend-actions{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start}
.weekend-actions>a,.weekend-actions summary{display:flex;justify-content:center;align-items:center;min-height:44px;border:1px solid #d8dfe5;padding:10px;font-size:12px;font-weight:600;line-height:1.5;cursor:pointer;background:#fff;list-style:none}
.weekend-actions summary::-webkit-details-marker{display:none}
.weekend-actions summary:focus-visible{outline:3px solid #7794ff;outline-offset:3px}
.weekend-actions details{position:relative;min-width:0}
.weekend-actions details[open] summary{border-color:#163cff;color:#163cff}
.weekend-calendar{display:flex;flex-direction:column;padding:6px;border:1px solid #d8dfe5;border-top:0;background:#fff}
.weekend-calendar a,.weekend-calendar button{font:inherit;text-align:left;font-size:11px;line-height:1.6;min-height:42px;padding:8px;background:#fff;border:0;color:#172127;cursor:pointer}
.weekend-calendar a:hover,.weekend-calendar button:hover{background:#f5f6f8}
.weekend-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:14px;font-size:11px;color:#536169}
.weekend-links a{min-height:32px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:3px}
.weekend-empty{grid-column:1/-1;padding:20px;background:#f5f6f8;font-size:14px;line-height:1.7}
.weekend-empty a,.weekend-empty button{font:inherit;display:inline-block;padding:10px 0;text-decoration:underline;border:0;background:none;color:#163cff;cursor:pointer}
@media(max-width:1100px){.weekend-card{padding:17px}.weekend-card h3{font-size:19px}.weekend-actions{grid-template-columns:1fr}.weekend-card-top{margin-bottom:18px}}
@media(max-width:800px){.weekend{padding:28px 0}.weekend-grid{grid-template-columns:1fr}.weekend-heading{align-items:start;flex-direction:column;gap:10px}.weekend-heading h2{font-size:25px}.weekend-intro{margin-top:10px}.weekend-card{padding:21px}.weekend-card h3{font-size:22px}.weekend-card-top{margin-bottom:18px}.weekend-actions{grid-template-columns:auto 1fr}.weekend-description{margin-bottom:18px}.weekend-card h3{word-break:normal}}
@media print{.weekend{display:none}}
