.toi-webinars,
.toi-webinar-single {
    --toi-brown: #4e3228;
    --toi-dark: #403425;
    --toi-cream: #e8e2d5;
    --toi-card: #fcf9f2;
    --toi-olive: #797d41;
    color: var(--toi-brown);
    background: var(--toi-cream);
}
.toi-webinar-container { width: min(1170px, calc(100% - 48px)); margin: 0 auto; }
.toi-webinars-header { padding: 85px 0 65px; text-align: center; background: var(--toi-cream); }
.toi-webinars-header h1 { color: var(--toi-dark); font: 700 38px/1.2 "Maitree", serif; text-transform: uppercase; }
.toi-webinars-listing { padding: 80px 0 110px; }
.toi-webinar-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.toi-webinar-load-more-wrap { display: flex; justify-content: center; margin-top: 58px; }
.toi-webinar-load-more { position: relative; display: inline-flex; min-width: 210px; height: 58px; padding: 0 34px; align-items: center; justify-content: center; color: var(--toi-cream); background: url("../assets/images/icons/link1-left.png") no-repeat 0 0, url("../assets/images/icons/link1-right.png") no-repeat 100% 0; background-size: auto 100%; border: 0; cursor: pointer; font: 700 15px/1 "Maitree", serif; letter-spacing: .1em; text-transform: uppercase; transition: filter .35s ease, opacity .35s ease, transform .35s ease; }
.toi-webinar-load-more::before { content: ""; position: absolute; z-index: 0; inset: 0 14px; background: url("../assets/images/icons/link1-bg.png") repeat-x 0 0 / 100% 100%; }
.toi-webinar-load-more span { position: relative; z-index: 1; }
.toi-webinar-load-more:hover,
.toi-webinar-load-more:focus { color: var(--toi-cream); filter: brightness(130%); transform: translateY(-2px); }
.toi-webinar-load-more[disabled] { cursor: wait; opacity: .65; transform: none; }
.toi-webinar-card { display: flex; flex-direction: column; background: var(--toi-card); box-shadow: 0 7px 20px rgba(78,50,40,.14); }
.toi-webinar-card-image { position: relative; display: block; aspect-ratio: 20/19; overflow: hidden; background: #d8d2c5; }
.toi-webinar-card-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .4s ease; }
.toi-webinar-card:hover .toi-webinar-card-image img { transform: scale(1.035); }
.toi-webinar-card-content { display: flex; flex: 1; flex-direction: column; padding: 28px 28px 32px; }
.toi-webinar-card-date { color: var(--toi-olive); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.toi-webinar-card h2 { margin: 10px 0 14px; color: var(--toi-dark); font: 700 22px/1.3 "Maitree", serif; }
.toi-webinar-card h2 a { color: inherit; }
.toi-webinar-card-content > p:not(.toi-webinar-card-date) { min-height: 72px; color: #695741; line-height: 1.7; }
.toi-webinar-text-link { display: inline-block; margin-top: auto; padding-top: 12px; color: var(--toi-brown); font-weight: 700; text-transform: uppercase; }
.toi-webinar-text-link:hover { color: var(--toi-olive); }
.toi-webinar-play { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%,-50%); display: grid; place-items: center; width: 58px; height: 58px; padding-left: 4px; border-radius: 50%; color: var(--toi-cream); background: rgba(78,50,40,.9); }
.toi-webinar-empty { padding: 50px 0; text-align: center; font-size: 17px; }
.toi-webinar-body { padding: 80px 0 90px; background: var(--toi-cream); }
.toi-webinar-title { max-width: 980px; margin: 0 auto 55px; text-align: center; }
.toi-webinar-title h1 { color: var(--toi-dark); font: 700 36px/1.3 "Maitree", serif; }
.toi-webinar-single .toi-content-builder { max-width: 900px; margin: 0 auto; }
.toi-webinar-single .toi-builder-single-image { max-width: 560px; margin-right: auto; margin-bottom: 70px; margin-left: auto; }
.toi-webinar-single .toi-builder-single-image figure { margin: 0; }
.toi-webinar-single .toi-builder-single-image img { display: block; width: 100%; height: auto; }
.toi-webinar-single .toi-builder-rich-text { color: var(--toi-brown); font-size: 16px; line-height: 1.8; }
.toi-webinar-single .toi-builder-rich-text h2 { margin: 0 0 24px; color: var(--toi-dark); font: 700 20px/1.4 "Maitree", serif; }
.toi-webinar-single .toi-builder-rich-text p { margin-bottom: 22px; }
.toi-webinar-registration { padding: 85px 0 100px; background: url("../dist/images/img/bg-destination.png") repeat; }
.toi-webinar-registration h2 { margin-bottom: 45px; color: var(--toi-dark); font: 700 32px/1.25 "Maitree", serif; text-align: center; }
.toi-webinar-session-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 28px; }
.toi-webinar-session { display: flex; flex: 1 1 260px; flex-direction: column; align-items: center; max-width: 350px; min-height: 290px; padding: 38px 30px; color: var(--toi-cream); text-align: center; background: var(--toi-brown); border-radius: 45px; }
.toi-webinar-session h3 { color: inherit; font: 700 23px/1.35 "Maitree", serif; text-transform: uppercase; }
.toi-webinar-session-date { margin: 18px 0 4px; }
.toi-webinar-session-time { min-height: 48px; font-size: 18px; font-weight: 700; }
.toi-webinar-button { position: relative; display: inline-flex; min-width: 190px; height: 58px; margin-top: auto; padding: 0 30px; align-items: center; justify-content: center; color: var(--toi-cream); background: url("../assets/images/icons/link1-left.png") no-repeat 0 0, url("../assets/images/icons/link1-right.png") no-repeat 100% 0; background-size: auto 100%; border: 0; font-family: "Maitree", serif; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: filter .35s ease, transform .35s ease; }
.toi-webinar-button::before { content: ""; position: absolute; z-index: 0; inset: 0 14px; background: url("../assets/images/icons/link1-bg.png") repeat-x 0 0 / 100% 100%; }
.toi-webinar-button span { position: relative; z-index: 1; color: inherit; }
.toi-webinar-button:hover,
.toi-webinar-button:focus { color: var(--toi-cream); filter: brightness(130%); transform: translateY(-2px); }
.toi-webinar-recording { padding: 0 0 100px; background: var(--toi-cream); }
.toi-webinar-recording-inline { max-width: 900px; margin: 0 auto 70px; padding: 0; }
.toi-webinar-recording-inline h2,
.toi-builder-webinar-resources > h2 { margin: 0 0 30px; color: var(--toi-dark); font: 700 28px/1.3 "Maitree", serif; text-align: center; }
.toi-heading-left > h2 { text-align: left; }
.toi-heading-center > h2 { text-align: center; }
.toi-heading-right > h2 { text-align: right; }
.toi-webinar-video-frame { position: relative; padding-top: 56.25%; background: #000; }
.toi-webinar-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.toi-builder-webinar-resources { margin-top: 75px; }
.toi-builder-resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.toi-builder-resource-card { display: flex; min-width: 0; flex-direction: column; color: var(--toi-brown); background: var(--toi-card); box-shadow: 0 7px 20px rgba(78,50,40,.14); transition: transform .3s ease, box-shadow .3s ease; }
.toi-builder-resource-card:hover { color: var(--toi-brown); transform: translateY(-4px); box-shadow: 0 12px 26px rgba(78,50,40,.2); }
.toi-builder-resource-image { display: block; overflow: hidden; aspect-ratio: 16/10; background: #d8d2c5; }
.toi-builder-resource-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.toi-builder-resource-card:hover .toi-builder-resource-image img { transform: scale(1.035); }
.toi-builder-resource-content { display: flex; flex: 1; flex-direction: column; padding: 22px 22px 24px; }
.toi-builder-resource-content strong { color: var(--toi-dark); font: 700 18px/1.4 "Maitree", serif; }
.toi-builder-resource-link { margin-top: auto; padding-top: 18px; color: var(--toi-olive); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
@media (max-width: 900px) {
    .toi-webinar-grid,
    .toi-builder-resource-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 600px) {
    .toi-webinar-grid,
    .toi-builder-resource-grid { grid-template-columns: 1fr; }
    .toi-webinars-header { padding: 60px 0 45px; }
    .toi-webinar-body { padding: 60px 0; }
    .toi-webinar-title { margin-bottom: 38px; }
    .toi-webinar-title h1 { font-size: 27px; }
    .toi-webinar-single .toi-builder-single-image { margin-bottom: 45px; }
    .toi-webinar-session { border-radius: 32px; }
}
