/* Standalone workshop page only. Existing home and seasonal layouts are untouched. */
.workshop-page{--workshop-peach:#f7e4d5;--workshop-blue:#e9f1f4;padding-bottom:60px}
.workshop-page .wrap{max-width:1440px;margin-inline:auto;padding-inline:clamp(20px,4vw,58px)}
.workshop-hero{padding-block:24px 32px}.workshop-hero>div{max-width:900px}
.workshop-page h1{font-size:clamp(32px,4vw,52px);line-height:1.07;letter-spacing:-2px;margin:10px 0 16px;max-width:780px}
.workshop-page h2{font-size:clamp(27px,3vw,40px);line-height:1.15;letter-spacing:-1px;margin:10px 0 20px}
.workshop-lead{font-size:16px;line-height:1.6;max-width:700px;color:#58534c}
.workshop-tags{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0 20px}
.workshop-tags span{padding:8px 13px;border-radius:30px;border:1px solid #ddd5cb;font-size:12px;font-weight:700}
.workshop-section-intro{max-width:900px;font-size:14px;line-height:1.6;color:#5b5751;margin-bottom:20px}
.workshop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:stretch}
.workshop-card{display:flex;flex-direction:column;min-width:0;padding:18px;border:1px solid #e3d9cd;border-radius:18px;background:white;scroll-margin-top:25px}
.workshop-media{position:relative;flex:none;min-width:0;aspect-ratio:3/4;background:#f6f2eb;border-radius:11px;overflow:hidden}
.workshop-media.activity-photo{width:100%;padding:0;border:0;cursor:zoom-in}
.workshop-card .workshop-cover{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;margin:0;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:11px;background:#f0e9df}
.workshop-card-copy{display:flex;flex-direction:column;flex:1;padding-top:20px;min-width:0}
.workshop-card h3{font-size:21px;line-height:1.2;letter-spacing:-.5px;margin:8px 0 12px;min-height:2.4em}
.workshop-card-copy>p{font-size:14px;line-height:1.65}
.workshop-card .eyebrow{font-size:11px;line-height:1.6;color:#777066;letter-spacing:1px;margin:0}
.workshop-description{margin:0 0 16px;font-size:14px;line-height:1.6}.workshop-description summary{cursor:pointer;font-weight:650;min-height:30px}.workshop-description p{margin:10px 0}
.workshop-card-footer{margin-top:auto;display:flex;flex-direction:column}
.workshop-price{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline}
.workshop-price strong{font-size:30px;letter-spacing:-1px}
.workshop-price span{font-size:12px;color:#60574f;line-height:1.6}
.workshop-travel{margin:4px 0 16px;font-size:13px;color:#60574f}
.workshop-card .button{width:100%;padding:13px 15px;gap:8px;font-size:13px;min-height:48px;white-space:normal}
.workshop-figures-dialog{width:min(1120px,calc(100vw - 32px));max-width:none;max-height:90vh;padding:26px;border:1px solid #dfd2c2;border-radius:20px;background:#faf8f4;overflow:auto;overscroll-behavior:contain}
.workshop-figures-dialog::backdrop{background:#282019a6}
.workshop-dialog-bar{display:flex;gap:25px;align-items:flex-start;justify-content:space-between}
.workshop-dialog-bar h2{font-size:30px;margin:8px 0 15px}
.workshop-dialog-bar .eyebrow{margin:0}
.workshop-dialog-bar .button{flex:none;min-height:44px;font-size:13px;padding:10px 15px}
.workshop-figures-dialog .workshop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.workshop-figures-dialog .workshop-card{padding:14px}.workshop-card-copy{padding-top:12px}.workshop-card h3{margin:6px 0 8px;min-height:0}.workshop-description{margin-bottom:10px}.workshop-travel{margin-bottom:10px}
.workshop-figures-dialog .workshop-cover{aspect-ratio:auto}
.workshop-figures-dialog .workshop-card h3{font-size:20px}
.workshop-page:has(.workshop-figures-dialog[open]){isolation:isolate}
body:has(.workshop-figures-dialog[open]){overflow:hidden}
.workshop-section{padding-block:28px 0}
.workshop-saving,.workshop-season{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px;border-radius:16px;margin-top:24px;background:var(--workshop-blue);border:1px solid #d0dde2}
.workshop-saving h2,.workshop-season h2{font-size:26px;margin:0 0 12px}.workshop-saving p,.workshop-season p{max-width:720px;line-height:1.7;margin:0}.workshop-saving .button,.workshop-season .button{flex-shrink:0;font-size:13px;max-width:310px;white-space:normal}
.workshop-season{margin-top:0;background:#edf0e4;border-color:#d8deca}.workshop-season .eyebrow{margin-bottom:10px}
.workshop-booking{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px;align-items:start;scroll-margin-top:20px}
.workshop-booking>div>p:not(.eyebrow){line-height:1.7;color:#605a52}.workshop-booking .contact-note{margin-top:30px}.workshop-booking .contact-note>div{min-width:0}
.workshop-booking form{min-width:0}.workshop-booking .field-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.workshop-booking input,.workshop-booking select,.workshop-booking textarea{font-size:16px}
.workshop-booking .booking-total{background:var(--workshop-blue);border-color:#d0dde2}.workshop-booking .booking-total p{margin:0}
.workshop-page .faq-list{max-width:100%}.workshop-page a:focus-visible,.workshop-page button:focus-visible{outline:3px solid #347e9b;outline-offset:4px}
.workshop-page [hidden]{display:none!important}
@media(max-width:1100px){.workshop-figures-dialog .workshop-grid,.workshop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workshop-booking{gap:30px}.workshop-saving,.workshop-season{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.workshop-hero{padding-block:16px 18px}.workshop-page h1{letter-spacing:-1.4px}.workshop-figures-dialog .workshop-grid,.workshop-grid{grid-template-columns:1fr;gap:14px}.workshop-card{padding:14px}.workshop-card-copy{padding-top:12px}.workshop-card h3{margin:6px 0 8px;min-height:0}.workshop-description{margin-bottom:10px}.workshop-travel{margin-bottom:10px}.workshop-booking{grid-template-columns:1fr;gap:16px}.workshop-booking form{padding:20px}.workshop-booking .field-row{grid-template-columns:1fr;gap:0}.workshop-section{padding-top:16px}.workshop-saving,.workshop-season{padding:18px;margin-top:16px;gap:16px}.workshop-card .button{font-size:14px}.workshop-page .time-selects{min-width:0}.workshop-page .activity-row{gap:10px}.workshop-page .contact-note{overflow-wrap:anywhere}.workshop-figures-dialog{padding:16px;width:calc(100vw - 20px);max-height:94vh}.workshop-dialog-bar{gap:12px}.workshop-dialog-bar h2{font-size:24px}.workshop-dialog-bar .button{padding:10px;font-size:12px}.workshop-figures-dialog .workshop-card{padding:14px}}
