.lll-course-session-browser{margin-top:2rem}
.lll-course-session-grid{display:grid;gap:1rem}
.lll-course-session-card{align-items:center;background:#fff;border:1px solid var(--lll-border,#ded5ca);border-radius:18px;display:grid;gap:1.35rem;grid-template-columns:112px minmax(0,1fr) auto;padding:1.3rem 1.4rem;box-shadow:0 10px 30px rgba(58,42,30,.05)}
.lll-course-session-date{align-items:center;background:var(--lll-cream,#f5efe6);border-radius:14px;display:flex;flex-direction:column;justify-content:center;min-height:118px;padding:.8rem;text-align:center}
.lll-course-session-date span{color:var(--lll-terracotta-dark,#783522);font-size:.78rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.lll-course-session-date strong{font-family:Georgia,"Times New Roman",serif;font-size:2.35rem;font-weight:500;line-height:1}
.lll-course-session-date small{color:var(--lll-muted,#70675f);font-size:.72rem}
.lll-course-kicker{color:var(--lll-terracotta-dark,#783522);font-size:.75rem;font-weight:800;letter-spacing:.07em;margin:0 0 .3rem;text-transform:uppercase}
.lll-course-session-copy h3{font-size:1.7rem;margin:.1rem 0 .45rem}
.lll-course-session-copy>p:not(.lll-course-kicker){color:var(--lll-muted,#70675f);margin-bottom:.8rem;max-width:62rem}
.lll-course-session-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.8rem 1rem}
.lll-course-session-meta strong{font-size:.92rem}
.lll-course-availability,.lll-course-status{border-radius:999px;display:inline-flex;font-size:.7rem;font-weight:850;letter-spacing:.04em;padding:.34rem .65rem;text-transform:uppercase}
.lll-course-availability.is-available{background:#e6efe7;color:#31563d}
.lll-course-availability.is-limited{background:#f7ead6;color:#774618}
.lll-course-availability.is-full,.lll-course-availability.is-closed{background:#eee8e4;color:#6f625b}
.lll-course-status{background:var(--lll-cream-deep,#ebe0d1);color:var(--lll-charcoal,#26221f)}
.lll-course-session-action{align-items:stretch;display:flex;flex-direction:column;gap:.7rem;min-width:170px;text-align:center}
.lll-course-secondary-link{color:var(--lll-terracotta-dark,#783522);font-size:.78rem;font-weight:800}
.lll-course-empty,.lll-course-message-card{background:var(--lll-cream,#f5efe6);border:1px solid var(--lll-border,#ded5ca);border-radius:18px;padding:2rem}
.lll-course-empty h3{font-size:1.65rem;margin:.1rem 0 .5rem}
.lll-course-page-shell{margin:0 auto;max-width:1120px;padding:clamp(2.5rem,6vw,6rem) 1.5rem}
.lll-course-back{color:var(--lll-terracotta-dark,#783522);display:inline-flex;font-size:.85rem;font-weight:800;margin-bottom:1.5rem}
.lll-course-booking-header{border-bottom:1px solid var(--lll-border,#ded5ca);margin-bottom:2rem;padding-bottom:1.8rem}
.lll-course-booking-header h1{font-size:clamp(2.6rem,6vw,5rem);margin:.25rem 0 .7rem}
.lll-course-booking-header>p:not(.lll-eyebrow){color:var(--lll-muted,#70675f);font-size:1.05rem}
.lll-course-form{background:#fff;border:1px solid var(--lll-border,#ded5ca);border-radius:18px;padding:clamp(1.25rem,3vw,2rem)}
.lll-course-form label,.lll-course-form legend{font-size:.88rem;font-weight:800}
.lll-course-form input[type=text],.lll-course-form input[type=email],.lll-course-form input[type=tel],.lll-course-form input[type=number],.lll-course-form input[type=url],.lll-course-form input[type=date],.lll-course-form select,.lll-course-form textarea{background:#fff;border:1px solid var(--lll-border,#ded5ca);border-radius:7px;display:block;min-height:46px;padding:.72rem .8rem;width:100%}
.lll-course-form textarea{min-height:92px;resize:vertical}
.lll-course-form fieldset{border:0;margin:0;padding:0}
.lll-course-places-form{display:grid;gap:1.3rem;grid-template-columns:minmax(180px,.55fr) minmax(300px,1fr);align-items:end}
.lll-course-places-form fieldset{display:flex;flex-direction:column;gap:.55rem}
.lll-course-places-form button{justify-self:start}
.lll-course-form-note{color:var(--lll-muted,#70675f);font-size:.78rem;grid-column:1/-1;margin:0}
.lll-course-form-heading{margin-bottom:1.4rem}
.lll-course-form-heading h2{font-size:2rem;margin:.1rem 0 .5rem}
.lll-course-form-heading p{color:var(--lll-muted,#70675f)}
.lll-course-participant-list{display:grid;gap:1rem;margin-bottom:1.25rem}
.lll-course-participant{background:var(--lll-cream,#f5efe6);border:1px solid var(--lll-border,#ded5ca)!important;border-radius:14px!important;padding:1.15rem!important}
.lll-course-participant legend{padding:0 .25rem}
.lll-course-field-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.lll-course-field-grid p,.lll-course-participant p{margin:0 0 .85rem}
.lll-course-acknowledgement{align-items:flex-start;background:#fff8ec;border:1px solid #ead6b6;border-radius:10px;display:flex!important;gap:.7rem;margin:1.25rem 0;padding:.9rem 1rem}
.lll-course-acknowledgement input{margin-top:.25rem}
.lll-course-thankyou-card{background:var(--lll-cream,#f5efe6);border:1px solid var(--lll-border,#ded5ca);border-radius:18px;margin:2rem 0;padding:1.6rem}
.lll-course-thankyou-card h2{font-size:2rem;margin:.15rem 0 .6rem}
.lll-course-account>h2{font-size:2.5rem}
.lll-course-account-card{align-items:center;background:#fff;border:1px solid var(--lll-border,#ded5ca);border-radius:14px;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding:1.2rem}
.lll-course-account-card h3{font-size:1.45rem;margin:.35rem 0 .2rem}
.lll-course-account-card p{color:var(--lll-muted,#70675f);margin:0}
.lll-course-manage-grid{display:grid;gap:1.4rem;grid-template-columns:minmax(0,1fr) 340px}
.lll-course-manage-main{display:grid;gap:1.4rem}
.lll-course-manage-section,.lll-course-info-card{background:#fff;border:1px solid var(--lll-border,#ded5ca);border-radius:18px;padding:clamp(1.2rem,3vw,1.8rem)}
.lll-course-manage-section h2{font-size:2rem;margin:.1rem 0 .55rem}
.lll-course-manage-section>p{color:var(--lll-muted,#70675f)}
.lll-course-manage-participants{border:0;padding:0}
.lll-course-transfer-form{align-items:end;border:0;display:grid;gap:.8rem;grid-template-columns:minmax(0,1fr) auto;padding:0}
.lll-course-transfer-form label{grid-column:1/-1}
.lll-course-manage-aside{align-self:start;display:grid;gap:1rem;position:sticky;top:110px}
.lll-course-info-card h3{font-family:inherit;font-size:.92rem;font-weight:850;letter-spacing:.04em;margin:.1rem 0 1rem;text-transform:uppercase}
.lll-course-info-card dl{margin:0}
.lll-course-info-card dl>div{align-items:start;border-top:1px solid var(--lll-border-soft,#ebe4da);display:flex;gap:1rem;justify-content:space-between;padding:.75rem 0}
.lll-course-info-card dt{color:var(--lll-muted,#70675f);font-size:.78rem}
.lll-course-info-card dd{font-size:.82rem;font-weight:800;margin:0;text-align:right}
.lll-course-timeline{list-style:none;margin:0;padding:0}
.lll-course-timeline li{border-left:2px solid var(--lll-cream-deep,#ebe0d1);display:grid;gap:.15rem;margin-left:.3rem;padding:0 0 1.15rem 1rem;position:relative}
.lll-course-timeline li:before{background:var(--lll-terracotta,#9d4b2f);border-radius:50%;content:"";height:9px;left:-5.5px;position:absolute;top:.25rem;width:9px}
.lll-course-timeline strong{font-size:.82rem}
.lll-course-timeline span{color:var(--lll-muted,#70675f);font-size:.76rem}
.lll-course-cancel-card{background:#fffaf8}
.lll-course-danger-button{background:#fff!important;border-color:#b34332!important;color:#9e2d20!important}
.lll-course-request-status{background:#eef4ef;border-radius:8px;color:#31563d;padding:.8rem}
.lll-course-waitlist-form{max-width:820px}
.lll-course-message-card{margin:4rem auto;max-width:760px;text-align:center}
.lll-course-message-card h1{font-size:clamp(2.5rem,6vw,4.5rem);margin:.2rem 0 .8rem}
.woocommerce-checkout .woocommerce-checkout-review-order-table .variation-Coursedate,.woocommerce-cart-form .variation-Coursedate{font-weight:700}

@media(max-width:900px){
 .lll-course-session-card{grid-template-columns:90px minmax(0,1fr)}
 .lll-course-session-action{align-items:flex-start;grid-column:2;min-width:0}
 .lll-course-manage-grid{grid-template-columns:1fr}
 .lll-course-manage-aside{position:static}
}
@media(max-width:680px){
 .lll-course-page-shell{padding-inline:1rem}
 .lll-course-session-card{align-items:start;grid-template-columns:70px minmax(0,1fr);padding:1rem}
 .lll-course-session-date{min-height:94px}
 .lll-course-session-date strong{font-size:1.9rem}
 .lll-course-session-copy h3{font-size:1.4rem}
 .lll-course-session-action{grid-column:1/-1;width:100%}
 .lll-course-session-action .lll-button{width:100%}
 .lll-course-places-form,.lll-course-field-grid,.lll-course-transfer-form{grid-template-columns:1fr}
 .lll-course-places-form button,.lll-course-transfer-form button{width:100%}
 .lll-course-account-card{align-items:flex-start;flex-direction:column}
 .lll-course-account-card .lll-button{width:100%}
 .lll-course-booking-header h1{font-size:2.7rem}
}
.lll-course-place-count{color:var(--lll-muted,#70675f);font-size:.78rem;font-weight:800}

/* Course materials library */
.lll-course-material-ready{color:#31563d!important;font-size:.78rem!important;font-weight:800;margin-top:.35rem!important}
.lll-course-materials-library>p{color:var(--lll-muted,#70675f);max-width:720px}
.lll-course-material-library-card{background:#fff;border:1px solid var(--lll-border,#ded5ca);border-radius:18px;margin:1rem 0;padding:1.35rem}
.lll-course-material-library-card h3{font-size:1.55rem;margin:.4rem 0 .2rem}
.lll-course-material-library-card>div:first-child>p{color:var(--lll-muted,#70675f);margin:0 0 1rem}
.lll-course-material-grid{display:grid;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}
.lll-course-material-card{background:var(--lll-cream,#f5efe6);border:1px solid var(--lll-border,#ded5ca);border-radius:12px;color:var(--lll-charcoal,#26221f);display:grid;gap:.25rem;padding:1rem;text-decoration:none;transition:transform .16s ease,border-color .16s ease}
.lll-course-material-card:hover{border-color:var(--lll-terracotta,#9d4b2f);transform:translateY(-1px)}
.lll-course-material-card strong{font-size:1rem}
.lll-course-material-card>span:last-child{color:var(--lll-muted,#70675f);font-size:.75rem}
.lll-course-material-type{color:var(--lll-terracotta-dark,#783522);font-size:.67rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:680px){.lll-course-material-grid{grid-template-columns:1fr}}

/* Expandable public course information — 0.5.0 */
.lll-course-browser-help{color:var(--lll-muted,#70675f);font-size:.88rem;margin:0 0 1rem}
.lll-course-session-card{cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.lll-course-session-card:hover{border-color:#c9b7a6;box-shadow:0 14px 34px rgba(58,42,30,.08)}
.lll-course-session-card.is-expanded{border-color:var(--lll-terracotta,#9d4b2f);box-shadow:0 18px 40px rgba(58,42,30,.1)}
.lll-course-session-card a,.lll-course-session-card button{cursor:pointer}
.lll-course-details-toggle{align-items:center;background:transparent;border:0;border-bottom:1px solid currentColor;color:var(--lll-terracotta-dark,#783522);display:inline-flex;font:inherit;font-size:.82rem;font-weight:850;gap:.35rem;justify-content:center;margin:0 auto;padding:.18rem .05rem}
.lll-course-details-toggle svg{height:18px;transition:transform .18s ease;width:18px}
.lll-course-details-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.lll-course-session-details{border-top:1px solid var(--lll-border-soft,#ebe4da);cursor:default;grid-column:1/-1;margin-top:.2rem;padding:1.6rem .2rem .25rem}
.lll-course-session-details[hidden]{display:none!important}
.lll-course-detail-intro{max-width:850px}
.lll-course-detail-intro>p:last-child{color:var(--lll-muted,#70675f);font-size:1rem;line-height:1.7;margin:.25rem 0 1.45rem}
.lll-course-detail-columns{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1rem}
.lll-course-detail-columns section,.lll-course-public-timeline,.lll-course-included,.lll-course-practical-summary{background:var(--lll-cream,#f5efe6);border:1px solid var(--lll-border-soft,#ebe4da);border-radius:14px;padding:1.2rem}
.lll-course-session-details h4{font-family:inherit;font-size:.8rem;font-weight:900;letter-spacing:.075em;margin:0 0 .8rem;text-transform:uppercase}
.lll-course-session-details ul{list-style:none;margin:0;padding:0}
.lll-course-session-details li{color:var(--lll-muted,#70675f);font-size:.87rem;line-height:1.55;padding:.28rem 0 .28rem 1.1rem;position:relative}
.lll-course-session-details li:before{color:var(--lll-terracotta,#9d4b2f);content:"•";font-weight:900;left:.1rem;position:absolute;top:.25rem}
.lll-course-public-timeline{margin-bottom:1rem}
.lll-course-public-timeline ol{display:grid;gap:0;list-style:none;margin:0;padding:0}
.lll-course-public-timeline ol li{align-items:start;border-left:2px solid var(--lll-cream-deep,#ebe0d1);display:grid;gap:.8rem;grid-template-columns:72px minmax(0,1fr);margin-left:.25rem;padding:0 0 .8rem 1rem}
.lll-course-public-timeline ol li:last-child{padding-bottom:.1rem}
.lll-course-public-timeline ol li:before{background:var(--lll-terracotta,#9d4b2f);border:2px solid var(--lll-cream,#f5efe6);border-radius:50%;content:"";height:10px;left:-6px;top:.2rem;width:10px}
.lll-course-public-timeline time{color:var(--lll-charcoal,#26221f);font-size:.8rem;font-weight:850}
.lll-course-public-timeline ol span{color:var(--lll-muted,#70675f);font-size:.84rem;line-height:1.45}
.lll-course-public-timeline>p{border-top:1px solid var(--lll-border,#ded5ca);color:var(--lll-muted,#70675f);font-size:.78rem;margin:.85rem 0 0;padding-top:.8rem}
.lll-course-included{margin-bottom:1rem}
.lll-course-included-grid{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.lll-course-included-grid>div{background:#fff;border-radius:10px;display:grid;gap:.3rem;padding:.9rem}
.lll-course-included-grid strong{font-size:.86rem}
.lll-course-included-grid span{color:var(--lll-muted,#70675f);font-size:.78rem;line-height:1.5}
.lll-course-practical-summary{margin-bottom:1rem}
.lll-course-terms-link{background:none;border:0;border-bottom:1px solid currentColor;color:var(--lll-terracotta-dark,#783522);font:inherit;font-size:.82rem;font-weight:850;padding:.1rem 0}
.lll-course-terms-dialog{background:transparent;border:0;margin:auto;max-height:calc(100vh - 2rem);max-width:760px;padding:0;width:calc(100% - 2rem)}
.lll-course-terms-dialog::backdrop{background:rgba(34,28,24,.65);backdrop-filter:blur(3px)}
.lll-course-terms-dialog-inner{background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.28);max-height:calc(100vh - 2rem);overflow:auto;padding:clamp(1.3rem,4vw,2.4rem);position:relative}
.lll-course-terms-dialog h2{font-size:clamp(2rem,5vw,3.3rem);margin:.2rem 2.5rem 1.2rem 0}
.lll-course-terms-dialog h3{font-family:inherit;font-size:1rem;margin:1.25rem 0 .35rem}
.lll-course-terms-dialog p:not(.lll-eyebrow){color:var(--lll-muted,#70675f);font-size:.9rem;line-height:1.65}
.lll-course-dialog-close{align-items:center;background:var(--lll-cream,#f5efe6);border:0;border-radius:50%;display:flex;font-size:1.7rem;height:40px;justify-content:center;line-height:1;position:absolute;right:1rem;top:1rem;width:40px}
.lll-course-terms-dialog .lll-button{margin-top:1rem}
@media(max-width:900px){.lll-course-details-toggle{margin:0}.lll-course-session-action{gap:.8rem}}
@media(max-width:680px){
 .lll-course-browser-help{font-size:.8rem}
 .lll-course-session-card{cursor:default}
 .lll-course-session-details{padding-top:1.2rem}
 .lll-course-detail-columns,.lll-course-included-grid{grid-template-columns:1fr}
 .lll-course-public-timeline ol li{gap:.5rem;grid-template-columns:62px minmax(0,1fr);padding-left:.8rem}
 .lll-course-details-toggle{justify-content:flex-start}
}



/* Customer account course terms enforcement — 0.5.1 */
.lll-course-account-terms{align-items:flex-start;background:#f7f1e8;border:1px solid var(--lll-border,#ded5ca);border-left:5px solid #4c7656;border-radius:16px;display:flex;gap:1rem;justify-content:space-between;margin:0 0 1.4rem;padding:1.2rem 1.35rem}
.lll-course-account-terms.is-conditional{background:#fff8e9;border-left-color:#a26922}
.lll-course-account-terms.is-closed{background:#f5f2ef;border-left-color:#77706a}
.lll-course-account-terms h2{font-family:inherit;font-size:1.15rem;margin:.15rem 0 .35rem}
.lll-course-account-terms p:not(.lll-eyebrow):not(.lll-course-request-status){color:var(--lll-muted,#70675f);font-size:.84rem;line-height:1.55;margin:.25rem 0}
.lll-course-account-terms .lll-course-terms-link{flex:0 0 auto;margin-top:.2rem}
.lll-course-policy-note{background:var(--lll-cream,#f5efe6);border-radius:10px;color:var(--lll-muted,#70675f);font-size:.82rem;line-height:1.55;padding:.85rem 1rem}
.lll-course-policy-positive{background:#edf5ef;border-left:4px solid #4c7656;border-radius:8px;color:#31563d!important;font-size:.84rem;line-height:1.55;padding:.85rem 1rem}
.lll-course-policy-warning{background:#fff4dc;border-left:4px solid #a26922;border-radius:8px;color:#674718!important;font-size:.84rem;line-height:1.55;padding:.85rem 1rem}
.lll-course-terms-ack{align-items:flex-start;background:#fff;border:1px solid #dbc9aa;border-radius:9px;display:flex;font-size:.8rem;font-weight:700;gap:.55rem;line-height:1.45;margin:.85rem 0;padding:.75rem}
.lll-course-terms-ack input{flex:0 0 auto;margin-top:.2rem}
.lll-course-cancellation-pending{color:#7d4f17!important;font-size:.78rem!important;font-weight:850;margin-top:.35rem!important}
@media(max-width:680px){.lll-course-account-terms{display:block}.lll-course-account-terms .lll-course-terms-link{margin-top:.8rem}}
