.ela-ws{--ws-ink:#242722;--ws-line:#d9d5c9;--ws-paper:#faf8f2;color:var(--ws-ink);max-width:900px;margin:2rem auto;font-family:inherit;line-height:1.6}.ela-ws-overview,.ela-ws-registration{padding:clamp(20px,4vw,36px);border:1px solid var(--ws-line);border-radius:12px;background:var(--ws-paper);margin:24px 0}.ela-ws h2{margin-top:0}.ela-ws-dates{padding-left:24px}.ela-ws-details{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px}.ela-ws-details>div{border-top:1px solid var(--ws-line);padding-top:12px}.ela-ws-details dt{font-size:.85rem;font-weight:700}.ela-ws-details dd{margin:3px 0 0;white-space:normal}.ela-ws-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}.ela-ws label,.ela-ws-admin label{display:block;font-weight:600}.ela-ws input:not([type=checkbox]):not([type=hidden]),.ela-ws textarea,.ela-ws-admin input:not([type=checkbox]):not([type=hidden]):not([type=submit]),.ela-ws-admin textarea{box-sizing:border-box;display:block;width:100%;margin-top:7px;border:1px solid #a8aaa0;border-radius:5px;background:white;color:#252722;padding:10px;font:inherit}.ela-ws input:focus-visible,.ela-ws textarea:focus-visible,.ela-ws button:focus-visible{outline:3px solid #8d783d;outline-offset:3px}.ela-ws .ela-ws-consent{display:flex;gap:12px;align-items:flex-start;font-weight:400}.ela-ws-consent input{flex:none;margin-top:7px}.ela-ws-submit{background:#293b2c;color:white;border:0;padding:13px 22px;border-radius:6px;font:inherit;font-weight:650;cursor:pointer}.ela-ws-muted{font-size:.9rem;color:#575d53}.ela-ws-notice{padding:18px;border-left:4px solid #718168;background:#f1f4ed}.ela-ws-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.ela-ws-admin{max-width:1200px}.ela-ws-day{display:grid;grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:12px;margin:12px 0}.ela-ws-day .button{margin-bottom:4px}.ela-ws-action{border-top:1px solid #d7d7d7;padding:16px 0;max-width:700px}.ela-ws-action input{max-width:500px}.ela-ws-badge{position:absolute;left:5px;bottom:5px;border-radius:3px;padding:2px 6px;background:#293b2c;color:white;font:600 10px/1.5 sans-serif}.ela-ws-calendar-event .ela-cal2-event-fallback{font-size:12px;padding:8px;text-align:center}@media(max-width:600px){.ela-ws-fields,.ela-ws-details{grid-template-columns:1fr}.ela-ws-day{grid-template-columns:1fr 1fr}.ela-ws-day>label:first-child{grid-column:1/-1}.ela-ws-submit{width:100%}}

.ela-ws-admin select[name="ws[model_id]"]{display:block;width:100%;max-width:100%;margin-top:7px;min-height:40px}

.ela-ws.ela-ws-page{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;max-width:1100px}.ela-ws-page h2{font-family:inherit;font-size:1.25em;line-height:1.3;margin:0 0 1em}.ela-ws-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:start}.ela-ws-header.has-no-image{grid-template-columns:1fr}.ela-ws-hero-image{display:block;width:100%;height:auto;max-width:100%}.ela-ws-description{min-width:0}.ela-ws-page section{margin-top:2em}.ela-ws-table{width:100%;border-collapse:collapse;font:inherit}.ela-ws-page .ela-ws-table,.ela-ws-page .ela-ws-table tr,.ela-ws-page .ela-ws-table th,.ela-ws-page .ela-ws-table td{background:transparent;box-shadow:none;color:inherit}.ela-ws-table th,.ela-ws-table td{text-align:left;vertical-align:top;padding:12px 0;border:0;border-bottom:1px solid #d9d5c9}.ela-ws-table th{width:40%;padding-right:20px;font-weight:600}.ela-ws-cta{margin-top:1.5em}.ela-ws-cta a{display:inline-block;text-decoration:none;font:inherit}@media(max-width:680px){.ela-ws-header{grid-template-columns:1fr}.ela-ws-table th{width:42%}}

.ela-ws-admin select[name="ws[instructor_id]"]{display:block;width:100%;max-width:100%;margin-top:7px;min-height:40px}

.ela-ws-registration select{display:block;width:100%;max-width:100%;padding:10px;margin-top:7px;font:inherit;border:1px solid #a8aaa0;border-radius:5px;background:white;color:inherit}.ela-ws-registration select:focus-visible{outline:3px solid #8d783d;outline-offset:3px}

.ela-ws.ela-ws-registration-page{font-size:14px;line-height:1.55}.ela-ws-registration-page .ela-ws-header{grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr)}.ela-ws-registration-page .ela-ws-header.has-no-image{grid-template-columns:1fr}.ela-ws-registration-content{min-width:0}.ela-ws-registration-page .ela-ws-registration{padding:20px;margin-top:20px}.ela-ws-registration-page h2{font-size:1.3em}.ela-ws-registration-page h3{font-size:1.1em}.ela-ws-registration-page p,.ela-ws-registration-page label,.ela-ws-registration-page legend{font-size:inherit}.ela-ws-registration-page input,.ela-ws-registration-page select,.ela-ws-registration-page textarea,.ela-ws-registration-page button{font-size:14px}@media(max-width:680px){.ela-ws-registration-page .ela-ws-header{grid-template-columns:1fr}.ela-ws-registration-page input,.ela-ws-registration-page select,.ela-ws-registration-page textarea{font-size:16px}}

.ela-ws.ela-ws-page{font-size:14px;line-height:1.55}.ela-ws-page .ela-ws-description :is(p,li){font-size:inherit}.ela-ws-person-photo{display:inline-block!important;width:36px!important;height:36px!important;object-fit:cover;border-radius:50%;vertical-align:middle;margin:0 9px 0 0!important}.ela-ws-packages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.ela-ws-package{padding:16px 0;border-top:1px solid #d9d5c9}.ela-ws-page .ela-ws-package h3{font-size:1.1em;margin:0 0 14px}.ela-ws-package-prices{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0}.ela-ws-package-prices dt{font-weight:600}.ela-ws-package-prices dd{margin:5px 0 0}.ela-ws-package-student{font-size:.9em}.ela-ws-registration-page>.ela-ws-registration{box-sizing:border-box;max-width:740px;margin:32px auto 0}.ela-ws-registration-dates p{margin:0 0 10px}@media(max-width:600px){.ela-ws-packages{grid-template-columns:1fr}}

.ela-ws-page .ela-ws-header-dates{font-size:1em;font-weight:600;margin:0 0 18px;line-height:1.5}

.ela-ws-other-packages{margin:20px 0;border-top:1px solid var(--ws-line,#d9d5c9);border-bottom:1px solid var(--ws-line,#d9d5c9)}.ela-ws-other-packages>summary{padding:16px 0;cursor:pointer;font:inherit;font-weight:600}.ela-ws-other-packages>summary:focus-visible{outline:2px solid var(--lag-primary,#171717);outline-offset:3px}.ela-ws-other-packages>.ela-ws-packages{margin-top:0;padding-bottom:16px}

.ela-ws-page .ela-ws-main-column{min-width:0}

.ela-ws-page .ela-ws-detail-section.has-photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:start}
.ela-ws-detail-section .ela-ws-section-text,.ela-ws-detail-section .ela-ws-section-visual{min-width:0}
.ela-ws-detail-section .ela-ws-section-text h2{margin-top:0}
.ela-ws-detail-section .ela-ws-section-image{display:block;width:100%;max-width:100%;height:auto}
.ela-ws-detail-section.has-photo.photo-right .ela-ws-section-visual{grid-column:2;grid-row:1}
.ela-ws-detail-section.has-photo.photo-right .ela-ws-section-text{grid-column:1;grid-row:1}
@media(max-width:680px){.ela-ws-page .ela-ws-detail-section.has-photo{grid-template-columns:minmax(0,1fr)}.ela-ws-detail-section.has-photo.photo-right .ela-ws-section-visual,.ela-ws-detail-section.has-photo.photo-right .ela-ws-section-text{grid-column:auto;grid-row:auto}}

.ela-ws-page .ela-ws-detail-section.has-photo{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.ela-ws-page .ela-ws-detail-section.has-photo.photo-right{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.ela-ws-detail-section figure.ela-ws-section-visual{margin:0;width:100%;max-width:280px}
.ela-ws-detail-section.photo-right figure.ela-ws-section-visual{justify-self:end}
.ela-ws-page .ela-ws-section-visual figcaption{font-size:12px;line-height:1.45;margin-top:7px;color:inherit;opacity:.75}
@media(max-width:680px){.ela-ws-page .ela-ws-detail-section.has-photo,.ela-ws-page .ela-ws-detail-section.has-photo.photo-right{grid-template-columns:minmax(0,1fr)}.ela-ws-detail-section.photo-right figure.ela-ws-section-visual{justify-self:start}}

.ela-ws-registration-page .ela-ws-header{grid-template-columns:minmax(0,300px) minmax(0,1fr)}
.ela-ws-registration-page .ela-ws-visual{width:100%;max-width:300px}
.ela-ws-registration-page .ela-ws-visual img{display:block;width:100%;max-width:300px;height:auto}
.ela-ws-registration-page .ela-ws-header.has-no-image{grid-template-columns:minmax(0,1fr)}
@media(max-width:680px){.ela-ws-registration-page .ela-ws-header{grid-template-columns:minmax(0,1fr)}}

/* Keep the practical table and package sections visually joined without duplicate separators. */
.ela-ws-page .ela-ws-table tbody tr:last-child th,.ela-ws-page .ela-ws-table tbody tr:last-child td{border-bottom:0}
.ela-ws-page .ela-ws-other-packages{border-top:0}
.ela-ws-page .ela-ws-packages>.ela-ws-package:first-child{border-top:0}

.ela-ws-home .ela-home2-section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}


/* Match the homepage content width, even inside a narrow theme page container. */
.ela-home2.ela-ws-listing{position:relative;left:auto;width:100%;max-width:none!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box}
.ela-ws-listing>.ela-ws-list-grid{position:relative;left:50%;transform:translateX(-50%);width:90vw;max-width:none!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box}

.ela-ws-page .ela-ws-header-dates{margin-bottom:6px}.ela-ws-page .ela-ws-header-summary{font-size:1em;font-weight:600;margin:0 0 18px}

/* Workshop registration: same framed fields as the model application. */
.ela-ws-registration-page>.ela-ws-registration{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0}
.ela-ws-registration-page .ela-ws-form{display:grid;gap:13px}
.ela-ws-form>p{margin:4px 0}
.ela-ws-form .ela-ws-fields{gap:12px}
.ela-ws-registration-page .ela-ws-form fieldset{min-width:0;margin:4px 0;padding:16px 18px;border:1px solid rgba(0,0,0,.14);border-radius:0;background:transparent;box-shadow:none}
.ela-ws-registration-page .ela-ws-form legend{width:auto;max-width:calc(100% - 14px);margin:0;padding:0 7px;font-family:inherit;font-size:14px;font-weight:400;line-height:1.4;letter-spacing:normal;text-transform:none;color:inherit}
.ela-ws-registration-page .ela-ws-form legend label{font-size:14px;font-weight:400;line-height:1.4;margin:0}
.ela-ws-registration-page .ela-ws-form fieldset input:not([type=checkbox]):not([type=radio]),.ela-ws-registration-page .ela-ws-form fieldset select,.ela-ws-registration-page .ela-ws-form fieldset textarea{width:100%;max-width:100%;box-sizing:border-box;margin:0;min-height:42px;padding:10px 11px;border:1px solid rgba(0,0,0,.22);border-radius:6px;background:#fff;box-shadow:none;font:inherit;color:inherit}
.ela-ws-registration-page .ela-ws-form fieldset textarea{min-height:128px;resize:vertical;line-height:1.55}
.ela-ws-form>button.lag-button{justify-self:start;margin-top:9px}
@media(max-width:600px){.ela-ws-registration-page .ela-ws-form fieldset{padding:14px 15px}.ela-ws-registration-page .ela-ws-form fieldset input,.ela-ws-registration-page .ela-ws-form fieldset select,.ela-ws-registration-page .ela-ws-form fieldset textarea{font-size:16px}}

.ela-ws-terms-dialog{box-sizing:border-box;width:min(560px,calc(100% - 32px));max-height:80vh;overflow:auto;margin:auto;padding:24px;border:1px solid #d9d5c9;border-radius:8px;background:#fff;color:#242722;font-family:inherit;font-size:14px;line-height:1.55;box-shadow:0 12px 50px #0003}
.ela-ws-terms-dialog::backdrop{background:rgba(0,0,0,.5)}
.ela-ws-terms-heading{display:flex;align-items:start;gap:20px;justify-content:space-between}
.ela-ws-terms-heading h2{margin:0 0 16px}
.ela-ws-terms-heading button{flex:none;border:0;background:transparent;color:inherit;font:28px/1 sans-serif;cursor:pointer;padding:0 4px}
.ela-ws-terms-dialog button:focus-visible{outline:2px solid currentColor;outline-offset:4px}

/* Individual workshop editorial layout; registration and sessions keep their styles. */
.ela-ws.ela-ws-detail-page{max-width:1100px;margin:32px auto 48px;font-size:15px;line-height:1.7}
.ela-ws-detail-page .ela-ws-header{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(28px,5vw,64px)}
.ela-ws-detail-page .ela-ws-header.has-no-image{grid-template-columns:1fr}
.ela-ws-detail-page .ela-ws-hero-image{width:100%;height:auto;max-height:none;object-fit:contain}
.ela-ws-detail-page .ela-ws-header-dates{font-weight:600;font-size:1.05em;line-height:1.45;margin:0 0 10px}
.ela-ws-detail-page .ela-ws-header-summary{font-size:.86em;font-weight:400;line-height:1.5;margin:0 0 20px}
.ela-ws-detail-page .ela-ws-header-price{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline;margin:0 0 26px;font-size:1.6em;line-height:1.2;font-weight:600}
.ela-ws-detail-page .ela-ws-header-price span{font-size:13px;font-weight:400}
.ela-ws-detail-page .ela-ws-description>p{max-width:65ch}
.ela-ws-detail-page .ela-ws-description>p:not([class]){margin:0 0 1em}
.ela-ws-detail-page .ela-ws-cta{margin:24px 0 0}
.ela-ws-detail-page .ela-ws-cta .lag-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.ela-ws-detail-page .ela-ws-practical{margin-top:30px}
.ela-ws-detail-page .ela-ws-table{table-layout:fixed;margin:0;border:0}
.ela-ws-detail-page .ela-ws-table th,.ela-ws-detail-page .ela-ws-table td{padding:12px 0;font-size:13px;line-height:1.55;overflow-wrap:anywhere;border-bottom:1px solid var(--ws-line)}
.ela-ws-detail-page .ela-ws-table th{width:42%;padding-right:18px;font-weight:500}
.ela-ws-detail-page .ela-ws-table tr:last-child th,.ela-ws-detail-page .ela-ws-table tr:last-child td{border-bottom:0}
.ela-ws-detail-page .ela-ws-table a{color:inherit;text-underline-offset:3px}
.ela-ws-detail-page .ela-ws-detail-section{margin-top:56px;padding-top:32px;border-top:1px solid var(--ws-line)}
.ela-ws-detail-page .ela-ws-detail-section.has-photo{grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(28px,5vw,64px)}
.ela-ws-detail-page .ela-ws-detail-section.has-photo.photo-right{grid-template-columns:minmax(0,1fr) minmax(0,300px)}
.ela-ws-detail-page .ela-ws-section-visual{max-width:300px}
.ela-ws-detail-page .ela-ws-section-text{max-width:72ch}
.ela-ws-detail-page .ela-ws-section-text h2{font-size:1.5em;line-height:1.3;font-weight:500;margin:0 0 22px;letter-spacing:-.015em}
.ela-ws-detail-page .ela-ws-section-text p{margin:0 0 1em}
.ela-ws-detail-page .ela-ws-section-visual figcaption{font-size:12px;margin-top:10px;line-height:1.5}
.ela-ws-detail-page .ela-ws-price-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:26px}
.ela-ws-detail-page .ela-ws-price-option{min-width:0;padding:18px 0 4px;border-top:1px solid var(--ws-line)}
.ela-ws-detail-page .ela-ws-price-option h3{font-weight:600;font-family:inherit;font-size:15px;line-height:1.4;margin:0 0 14px}
.ela-ws-detail-page .ela-ws-price-option dl{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 12px}
.ela-ws-detail-page .ela-ws-price-option dt{font-size:12px;font-weight:400}
.ela-ws-detail-page .ela-ws-price-option dd{margin:3px 0 0;font-size:17px;font-weight:500}
.ela-ws-detail-page .ela-ws-price-note{font-size:12px;line-height:1.5}
.ela-ws-detail-page>.ela-ws-cta{border-top:1px solid var(--ws-line);padding-top:28px;margin-top:40px}
@media(max-width:760px){
.ela-ws.ela-ws-detail-page{font-size:15px;margin:20px auto 32px}
.ela-ws-detail-page .ela-ws-header,.ela-ws-detail-page .ela-ws-detail-section.has-photo,.ela-ws-detail-page .ela-ws-detail-section.has-photo.photo-right{grid-template-columns:minmax(0,1fr);gap:24px}
.ela-ws-detail-page .ela-ws-detail-section.has-photo .ela-ws-section-visual,.ela-ws-detail-page .ela-ws-detail-section.has-photo .ela-ws-section-text{grid-column:auto;grid-row:auto;justify-self:start}
.ela-ws-detail-page .ela-ws-detail-section{margin-top:34px;padding-top:26px}
.ela-ws-detail-page .ela-ws-section-text h2{font-size:1.35em;margin-bottom:16px}
.ela-ws-detail-page .ela-ws-practical{margin-top:24px}
.ela-ws-detail-page .ela-ws-header-price{margin-bottom:20px}
.ela-ws-detail-page .ela-ws-cta a{width:100%;box-sizing:border-box}
}
@media(max-width:380px){.ela-ws-detail-page .ela-ws-price-options{grid-template-columns:1fr;gap:12px}}

/* Photographic introduction and text wrapping for individual workshop pages. */
.ela-ws-detail-page .ela-ws-photo-intro{position:relative;margin:0 0 36px;isolation:isolate;background:#222}
.ela-ws-detail-page .ela-ws-banner-image{height:clamp(320px,42vw,500px);overflow:hidden}
.ela-ws-detail-page .ela-ws-banner-image .ela-ws-hero-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center 38%}
.ela-ws-detail-page .ela-ws-banner-caption{position:absolute;bottom:0;left:0;right:0;padding:52px 32px 24px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.85))}
.ela-ws-detail-page .ela-ws-banner-caption .ela-ws-header-dates{font-size:1.2em;margin-bottom:8px}
.ela-ws-detail-page .ela-ws-banner-caption .ela-ws-header-summary{margin-bottom:10px}
.ela-ws-detail-page .ela-ws-banner-caption .ela-ws-header-price{margin:0}
.ela-ws-detail-page .ela-ws-header{display:block}
.ela-ws-detail-page .ela-ws-main-column{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,64px)}
.ela-ws-detail-page .ela-ws-practical{margin-top:0}
.ela-ws-detail-page .ela-ws-detail-section,.ela-ws-detail-page .ela-ws-detail-section.has-photo,.ela-ws-detail-page .ela-ws-detail-section.has-photo.photo-right{display:flow-root}
.ela-ws-detail-page .ela-ws-detail-section>h2{font-size:1.5em;font-weight:500;line-height:1.3;margin:0 0 26px;letter-spacing:-.015em}
.ela-ws-detail-page .ela-ws-detail-section .ela-ws-section-text{max-width:none}
.ela-ws-detail-page .ela-ws-detail-section figure.ela-ws-section-visual{float:left;width:38%;max-width:400px;margin:0 32px 20px 0}
.ela-ws-detail-page .ela-ws-detail-section.photo-right figure.ela-ws-section-visual{float:right;margin:0 0 20px 32px}
.ela-ws-detail-page .ela-ws-section-text p{margin:0 0 1.2em}
.ela-ws-detail-page .ela-ws-price-options{clear:both;padding-top:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){
.ela-ws-detail-page .ela-ws-photo-intro{margin-bottom:26px}
.ela-ws-detail-page .ela-ws-banner-image{height:auto}
.ela-ws-detail-page .ela-ws-banner-image .ela-ws-hero-image{height:auto;object-fit:contain}
.ela-ws-detail-page .ela-ws-banner-caption{position:relative;padding:20px;background:#242722}
.ela-ws-detail-page .ela-ws-banner-caption .ela-ws-header-dates{font-size:1.05em}
.ela-ws-detail-page .ela-ws-main-column{grid-template-columns:minmax(0,1fr);gap:26px}
.ela-ws-detail-page .ela-ws-detail-section>h2{font-size:1.35em;margin-bottom:20px}
.ela-ws-detail-page .ela-ws-detail-section figure.ela-ws-section-visual,.ela-ws-detail-page .ela-ws-detail-section.photo-right figure.ela-ws-section-visual{float:none;width:100%;max-width:400px;margin:0 auto 22px}
}
@media(max-width:440px){.ela-ws-detail-page .ela-ws-price-options{grid-template-columns:1fr}}


/* Workshop editorial navigation and photographs — scoped to individual workshops. */
.ela-ws-detail-page{--ws-top:16px}
.ela-ws-detail-page .ela-ws-photo-intro{width:calc(100vw - var(--ws-scrollbar,0px));max-width:none;left:50%;transform:translateX(-50%);background:transparent;margin-bottom:30px}
.ela-ws-detail-page .ela-ws-banner-track{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;align-items:center}
.ela-ws-detail-page .ela-ws-banner-track figure{flex:0 0 auto;margin:0;scroll-snap-align:start}
.ela-ws-detail-page .ela-ws-banner-track figure:only-child{width:100%;text-align:center}
.ela-ws-detail-page .ela-ws-banner-track .ela-ws-hero-image{display:block;width:auto;height:clamp(260px,38vw,520px);max-width:none;object-fit:contain;position:static;transform:none;margin:auto}
.ela-ws-detail-page .ela-ws-banner-track figure:only-child img{max-width:100%;height:auto;max-height:600px}
.ela-ws-detail-page .ela-ws-banner-controls{display:flex;justify-content:flex-end;gap:8px;padding:10px 20px 0}
.ela-ws-detail-page [hidden]{display:none!important}
.ela-ws-detail-page .ela-ws-banner-controls button{min-width:44px;min-height:44px;background:#fff;color:inherit;border:1px solid #ccc;cursor:pointer}
.ela-ws-detail-page .ela-ws-banner-controls button:disabled{opacity:.35;cursor:default}
.ela-ws-detail-page .ela-ws-essentials{margin-bottom:32px}
.ela-ws-detail-page .ela-ws-editorial-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:clamp(30px,5vw,70px);align-items:start}
.ela-ws-detail-page .ela-ws-section-nav{position:sticky;top:var(--ws-top);max-height:calc(100dvh - var(--ws-top) - 20px);overflow-y:auto;font-size:13px;line-height:1.4}
.ela-ws-detail-page .ela-ws-section-nav ul{list-style:none;padding:0;margin:0;border-left:1px solid #ddd}
.ela-ws-detail-page .ela-ws-section-nav li{margin:0;padding:0}
.ela-ws-detail-page .ela-ws-section-nav li a{display:block;padding:12px 0 12px 16px;color:inherit;text-decoration:none;border-left:2px solid transparent;margin-left:-1px}
.ela-ws-detail-page .ela-ws-section-nav a[aria-current]{border-left-color:currentColor;font-weight:600}
.ela-ws-detail-page .ela-ws-section-nav .ela-ws-cta{margin:20px 0 0}
.ela-ws-detail-page .ela-ws-editorial-content{min-width:0}
.ela-ws-detail-page .ela-ws-editorial-content>.ela-ws-detail-section:first-child{margin-top:0;padding-top:0;border-top:0}
.ela-ws-detail-page .ela-ws-detail-section{scroll-margin-top:calc(var(--ws-top) + 24px)}
.ela-ws-detail-page .ela-ws-learning li{padding-left:8px;margin-bottom:12px}
.ela-ws-detail-page .ela-ws-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px;align-items:start}
.ela-ws-detail-page .ela-ws-gallery-grid figure{margin:0;min-width:0}
.ela-ws-detail-page .ela-ws-gallery-grid figure:nth-child(5n+1){grid-column:1/-1}
.ela-ws-detail-page .ela-ws-gallery-grid img{display:block;width:100%;height:auto;max-width:100%}
.ela-ws-detail-page .ela-ws-gallery-grid a{display:block;cursor:zoom-in}
.ela-ws-detail-page .ela-ws-gallery-grid figcaption{font-size:12px;line-height:1.5;margin-top:8px}
.ela-ws-detail-page :is(a,button,[tabindex="0"]):focus-visible{outline:2px solid currentColor;outline-offset:4px}
.ela-ws-detail-page .ela-ws-detail-section:focus{outline:none}
.ela-ws-detail-page .ela-ws-detail-section:focus-visible{outline:1px dotted currentColor;outline-offset:6px}
.ela-ws-detail-page .ela-ws-lightbox{box-sizing:border-box;width:min(1100px,96vw);max-width:96vw;max-height:94dvh;border:0;padding:20px;background:#fff;color:#222;overflow:auto}
.ela-ws-detail-page .ela-ws-lightbox::backdrop{background:rgba(0,0,0,.85)}
.ela-ws-detail-page .ela-ws-lightbox>button{display:block;margin:0 0 12px auto}
.ela-ws-detail-page .ela-ws-lightbox figure{margin:0;text-align:center}
.ela-ws-detail-page .ela-ws-lightbox img{display:block;max-width:100%;width:auto;height:auto;max-height:65dvh;margin:auto;object-fit:contain}
.ela-ws-detail-page .ela-ws-lightbox figcaption{font-size:13px;margin:12px 0;white-space:normal}
.ela-ws-detail-page .ela-ws-lightbox button{min-height:44px;padding:8px 12px;cursor:pointer;font:inherit}
.ela-ws-detail-page .ela-ws-lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ela-ws-admin .ela-ws-gallery-row{display:grid;grid-template-columns:24px 100px minmax(0,1fr);gap:16px;padding:16px 0;border-top:1px solid #ddd;align-items:start}
.ela-ws-admin .ela-ws-gallery-row img{max-width:100%;height:auto}
.ela-ws-admin .ela-ws-gallery-row>div:last-child{grid-column:2/-1}
.ela-ws-admin .ela-ws-gallery-handle{cursor:grab;padding:10px 0;font-size:22px}
.ela-ws-admin .ela-ws-gallery-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ela-ws-admin .ela-ws-gallery-fields input{width:100%}
@media(max-width:900px){
.ela-ws-detail-page .ela-ws-editorial-layout{display:block}
.ela-ws-detail-page .ela-ws-section-nav{z-index:20;background:#fff;display:flex;gap:16px;align-items:center;margin:0 0 28px;padding:8px 0;border-block:1px solid #ddd;top:var(--ws-top);max-height:none;overflow:visible}
.ela-ws-detail-page .ela-ws-section-nav ul{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;border:0;flex:1;min-width:0}
.ela-ws-detail-page .ela-ws-section-nav li{flex:0 0 auto}
.ela-ws-detail-page .ela-ws-section-nav li a{padding:12px 10px;border-left:0;border-bottom:2px solid transparent;margin:0;white-space:nowrap}
.ela-ws-detail-page .ela-ws-section-nav a[aria-current]{border-bottom-color:currentColor}
.ela-ws-detail-page .ela-ws-section-nav .ela-ws-cta{margin:0;flex:0 0 auto}
.ela-ws-detail-page .ela-ws-section-nav .ela-ws-cta a{width:auto;padding:10px 12px;white-space:nowrap}
.ela-ws-detail-page .ela-ws-detail-section{scroll-margin-top:calc(var(--ws-top) + 90px)}
}
@media(max-width:600px){
.ela-ws-detail-page .ela-ws-gallery-grid{gap:24px;grid-template-columns:1fr}
.ela-ws-detail-page .ela-ws-banner-track .ela-ws-hero-image{height:280px}
.ela-ws-detail-page .ela-ws-lightbox{padding:12px}
.ela-ws-admin .ela-ws-gallery-fields{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.ela-ws-detail-page *{scroll-behavior:auto!important}}

/* Restore the 317 photographic header, independently of the section navigation. */
.ela-ws-detail-page .ela-ws-restored-banner .ela-ws-banner-image{height:clamp(320px,42vw,500px);overflow:hidden;position:relative}
.ela-ws-detail-page .ela-ws-restored-banner .ela-ws-banner-image img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 38%}
.ela-ws-detail-page .ela-ws-restored-banner .ela-ws-banner-caption{position:absolute;bottom:0;left:0;right:0;padding:52px max(24px,calc((100vw - 1100px)/2)) 24px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.85))}
.ela-ws-detail-page .ela-ws-restored-header{margin-bottom:48px}
.ela-ws-detail-page .ela-ws-restored-header .ela-ws-practical{margin:0}
.ela-ws-detail-page :is(#workshop-presentation,#workshop-practical){scroll-margin-top:calc(var(--ws-top) + 90px)}
@media(min-width:761px) and (prefers-reduced-motion:no-preference){
.ela-ws-detail-page .ela-ws-restored-banner .ela-ws-banner-image img{height:130%;position:absolute;left:0;top:-15%;transform:translateY(var(--ws-parallax,0px));will-change:transform}
}
@media(max-width:760px){
.ela-ws-detail-page .ela-ws-restored-banner .ela-ws-banner-image{height:auto}
.ela-ws-detail-page .ela-ws-restored-banner .ela-ws-banner-image img{height:auto;object-fit:contain}
.ela-ws-detail-page .ela-ws-restored-banner .ela-ws-banner-caption{position:relative;padding:20px 24px;background:#242722}
.ela-ws-detail-page .ela-ws-restored-header{margin-bottom:28px}
}

/* Keep the section menu alongside the entire page below the banner. */
.ela-ws-detail-page .ela-ws-section-nav li:first-child a{line-height:1.5}
.ela-ws-detail-page .ela-ws-restored-header .ela-ws-main-column{gap:clamp(24px,3vw,40px)}
@media(min-width:901px){.ela-ws-detail-page .ela-ws-editorial-content>.ela-ws-restored-header+.ela-ws-detail-section{margin-top:0}}

/* Homepage-style photographic strip with the workshop enlargement dialog. */
.ela-ws-detail-page .ela-ws-gallery-slider .ela-home2-gallery-viewport{max-width:100%;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:thin}
.ela-ws-detail-page .ela-ws-gallery-slider .ela-ws-gallery-grid{display:flex;gap:12px;align-items:start}
.ela-ws-detail-page .ela-ws-gallery-slider .ela-ws-gallery-grid figure{flex:0 0 calc((100% - 24px)/3);min-width:0;scroll-snap-align:start}
.ela-ws-detail-page .ela-ws-gallery-slider .ela-ws-gallery-grid a{aspect-ratio:1;overflow:hidden}
.ela-ws-detail-page .ela-ws-gallery-slider .ela-ws-gallery-grid img{width:100%;height:100%;object-fit:cover}
.ela-ws-detail-page .ela-ws-gallery-arrows{display:flex;justify-content:flex-end;gap:8px;margin-bottom:14px}
.ela-ws-detail-page .ela-ws-gallery-arrows button{min-width:44px;min-height:44px;border:1px solid #ccc;background:white;color:inherit;font-size:24px;cursor:pointer}
.ela-ws-detail-page .ela-ws-gallery-arrows button:disabled{opacity:.35;cursor:default}
@media(max-width:600px){.ela-ws-detail-page .ela-ws-gallery-slider .ela-ws-gallery-grid figure{flex-basis:calc((100% - 12px)/2)}}

.ela-ws-detail-page .ela-ws-gallery-heading>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.ela-ws-detail-page .ela-ws-gallery-heading>header h2{margin:0;font-family:inherit;font-size:1.5em;font-weight:500;line-height:1.3}
.ela-ws-detail-page .ela-ws-gallery-heading>header .ela-ws-gallery-arrows{flex:none;margin:0}
@media(max-width:600px){.ela-ws-detail-page .ela-ws-gallery-heading>header{gap:10px}.ela-ws-detail-page .ela-ws-gallery-heading>header h2{font-size:1.25em}}

.ela-ws-slot{display:flex;flex-wrap:wrap;align-items:end;gap:10px;padding:10px 0;border-bottom:1px solid #ddd}.ela-ws-slot label{display:flex;flex-direction:column;gap:4px}.ela-ws-slot input{max-width:180px}[data-ws-scheduler] .button{margin:8px 8px 8px 0}[data-ws-day]{flex-wrap:wrap}[data-day-schedule-summary]{flex-basis:100%;margin:8px 0}

[data-ws-day]:has([data-day-schedule-summary]){display:flex;flex-wrap:wrap;align-items:flex-start}[data-ws-day]>div{flex-basis:100%}[data-ws-day] [hidden]{display:none!important}

/* Optional workshop subtitle: inherit the site's font and colour. */
body.single-lag_workshop .ela-ws-subtitle{font-family:inherit;font-size:clamp(1rem,1.4vw,1.3rem);font-weight:400;line-height:1.5;margin:0 0 1rem;max-width:65ch;overflow-wrap:anywhere}
@media(max-width:640px){body.single-lag_workshop .ela-ws-subtitle{font-size:1rem;margin:0 0 .8rem}}

.ela-ws-detail-page .ela-ws-banner-caption .ela-ws-subtitle{color:inherit;font-style:italic;font-size:clamp(1.1rem,1.8vw,1.5rem);line-height:1.4}
