/* Shared website discovery cards. Registration, LMS and native app styles are separate. */
.tlw-promo{--tlw-accent:#554a8e;--tlw-tint:#f7f5fb;--tlw-border:#e4def0;--tlw-ink:#292536;--tlw-muted:#625d72;box-sizing:border-box;color:var(--tlw-ink);font-family:inherit}
.tlw-promo *{box-sizing:border-box}
.tlw-promo-free{--tlw-accent:#005b38;--tlw-tint:#f1f8f4;--tlw-border:#dbe8e1;--tlw-ink:#073c2a;--tlw-muted:#52645d}
.tlw-promo-list{position:relative;width:min(1180px,calc(100% - 48px));margin:0 auto;padding:48px 0;scroll-margin-top:120px}
.tlhome .tlw-promo-list{width:min(1240px,calc(100% - 48px))}
.tlw-promo-list+.tlw-promo-list{border-top:1px solid #dbe8e1}
.tlw-promo-anchor{position:absolute;top:0;scroll-margin-top:120px}
.tlw-promo .tlw-promo-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 24px}
.tlw-promo .tlw-promo-heading h2{margin:0 0 10px;color:#005b38;font-family:inherit;font-size:clamp(28px,3vw,36px);font-weight:800;line-height:1.2;letter-spacing:-.025em;text-transform:none;text-wrap:balance}
.tlw-promo .tlw-promo-heading p{max-width:720px;margin:0;color:#52645d;font-size:17px;line-height:1.6}
.tlw-promo .tlw-promo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.tlw-promo .tlw-promo-card{min-width:0;overflow:hidden;background:#fff;border:1px solid var(--tlw-border);border-radius:18px;display:flex;flex-direction:column}
.tlw-promo .tlw-promo-art{display:flex;align-items:center;justify-content:center;background:var(--tlw-tint);padding:20px}
.tlw-promo .tlw-promo-art img{display:block;width:100%;height:280px;object-fit:contain;border-radius:8px}
.tlw-promo .tlw-promo-card-copy{padding:28px;display:flex;flex-direction:column;min-width:0;flex:1}
.tlw-promo .tlw-promo-title{margin:0 0 18px;color:var(--tlw-ink);font-family:inherit;font-size:clamp(23px,2.3vw,29px);font-weight:750;line-height:1.28;letter-spacing:-.02em;text-transform:none;overflow-wrap:break-word}
.tlw-promo .tlw-promo-date{display:flex;align-items:flex-start;gap:9px;margin:0 0 10px;color:var(--tlw-accent);font-size:15px;font-weight:700;line-height:1.6}
.tlw-promo svg{width:20px;height:20px;flex:0 0 20px}
.tlw-promo .tlw-promo-date svg{margin-top:2px}
.tlw-promo .tlw-promo-format{align-self:flex-start;margin:0 0 14px;padding:5px 11px;border:1px solid var(--tlw-border);border-radius:6px;background:var(--tlw-tint);color:var(--tlw-accent);font-size:14px;font-weight:650;line-height:1.5}
.tlw-promo .tlw-promo-intro{margin:0 0 26px;color:var(--tlw-muted);font-size:17px;line-height:1.65}
.tlw-promo .tlw-promo-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:auto;padding-top:18px;border-top:1px solid var(--tlw-border)}
.tlw-promo .tlw-promo-price{margin:0;line-height:1.4;flex-shrink:0}
.tlw-promo .tlw-promo-price strong{display:block;font-size:27px;font-weight:750;color:var(--tlw-ink)}
.tlw-promo .tlw-promo-price span{color:var(--tlw-muted);font-size:14px}
.tlw-promo a.tlw-promo-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 20px;border:1px solid var(--tlw-accent);border-radius:9px;background:var(--tlw-accent);color:#fff;font-size:15px;font-weight:700;line-height:1.4;text-decoration:none;text-transform:none;white-space:nowrap;box-shadow:none}
.tlw-promo a.tlw-promo-cta:hover{filter:brightness(.9);color:#fff}
.tlw-promo a:focus-visible{outline:3px solid var(--tlw-accent);outline-offset:4px}
.tlw-promo a.tlw-promo-more{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;flex-shrink:0;padding:12px 18px;border:2px solid var(--tlw-accent);border-radius:9px;background:var(--tlw-tint);color:var(--tlw-accent);font-size:16px;font-weight:750;line-height:1.4;text-align:center;text-decoration:none;box-shadow:0 2px 5px #29253608}
.tlw-promo a.tlw-promo-more:hover{background:var(--tlw-accent);color:#fff;text-decoration:none}
.tlw-promo .tlw-promo-card:only-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.35fr)}
.tlw-promo .tlw-promo-card:only-child .tlw-promo-art img{height:340px;max-width:100%}
.tlw-promo .tlw-promo-card:only-child .tlw-promo-card-copy{padding:32px}
.tlw-promo .tlw-promo-card-no-image:only-child{display:flex}
@media(min-width:761px) and (max-width:1000px){.tlw-promo .tlw-promo-card-bottom{flex-wrap:wrap}.tlw-promo .tlw-promo-heading{align-items:flex-start;flex-direction:column}}
.tlw-promo .tlw-promo-empty{padding:28px;border:1px solid var(--tlw-border);border-radius:18px;background:var(--tlw-tint)}
.tlw-promo .tlw-promo-empty p{margin:0 0 18px;color:var(--tlw-muted);font-size:17px;line-height:1.6}
@media(max-width:760px){
 .tlw-promo-list,.tlhome .tlw-promo-list{width:calc(100% - 36px);padding:32px 0}
 .tlw-promo .tlw-promo-heading{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:20px}
 .tlw-promo .tlw-promo-heading p{font-size:16px}
 .tlw-promo a.tlw-promo-more{width:100%;box-sizing:border-box;margin-top:6px}
 .tlw-promo .tlw-promo-grid{grid-template-columns:1fr;gap:24px}
 .tlw-promo .tlw-promo-card:only-child{display:flex}
 .tlw-promo .tlw-promo-art{padding:16px}
 .tlw-promo .tlw-promo-art img,.tlw-promo .tlw-promo-card:only-child .tlw-promo-art img{height:auto;max-height:340px;aspect-ratio:1;object-fit:contain}
 .tlw-promo .tlw-promo-card-copy,.tlw-promo .tlw-promo-card:only-child .tlw-promo-card-copy{padding:22px}
 .tlw-promo .tlw-promo-card-bottom{flex-wrap:wrap;gap:16px}
 .tlw-promo .tlw-promo-intro{font-size:16px;margin-bottom:20px}
}
@media(max-width:400px){.tlw-promo .tlw-promo-card-bottom .tlw-promo-cta{width:100%}.tlw-promo .tlw-promo-date{font-size:14px}}

/* Let the individual workshop photography fill its landscape frame. */
.tlw-promo-workshops .tlw-promo-art{display:block;padding:0;overflow:hidden}
.tlw-promo-workshops .tlw-promo-art img,.tlw-promo-workshops .tlw-promo-card:only-child .tlw-promo-art img{width:100%;height:auto;max-height:none;aspect-ratio:3/2;object-fit:cover;border-radius:0}
.tlw-promo-workshops .tlw-promo-art:hover{opacity:.96}
