.vds-lessons { --lessons-ink: #081b3d; --lessons-red: #ff3f58; color: var(--lessons-ink); background: #fff; font-family: var(--vds-font-family, Inter, Arial, sans-serif); overflow: clip; }
.vds-lessons *, .vds-lessons *::before, .vds-lessons *::after { box-sizing: border-box; }
.vds-lessons__container { width: min(86%,90rem); margin-inline: auto; }
.vds-lessons__eyebrow { display: flex; align-items: center; gap: .9rem; margin: 0 0 1rem; color: #65768b; font-size: .64rem; font-weight: 600; letter-spacing: .1em; line-height: 1.5; text-transform: uppercase; }
.vds-lessons__eyebrow::before { content: ''; width: 2rem; height: 2px; flex: 0 0 auto; background: var(--lessons-red); }
.vds-lessons__title { margin: 0; font-size: clamp(2rem,3vw,3.4rem); font-weight: 500; letter-spacing: -.04em; line-height: 1.05; text-wrap: balance; }
.vds-lessons__description { color: #566a84; font-size: clamp(.95rem,1.1vw,1.15rem); font-weight: 400; line-height: 1.55; }
.vds-lessons__description p { margin: .8rem 0 0; }
.vds-lessons__description p:first-child { margin-top: 0; }
.vds-lessons__title + .vds-lessons__description { margin-top: .9rem; }
.vds-lessons__hero { position: relative; isolation: isolate; display: flex; align-items: center; min-height: clamp(29rem,36vw,43rem); padding: 4rem 0; background: #dfebf4; }
.vds-lessons__hero-image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.vds-lessons__hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(243,249,253,.97),rgba(243,249,253,.72) 33%,rgba(243,249,253,.02) 72%); }
.vds-lessons__hero-title { max-width: 15ch; margin: 0; font-size: clamp(2.8rem,4.8vw,5.5rem); font-weight: 600; line-height: 1.05; letter-spacing: -.04em; }
.vds-lessons__hero-title > span { display: block; font-size: .7em; font-weight: 300; margin-top: .2rem; }
.vds-lessons__hero-copy > .vds-lessons__description { max-width: 36rem; margin-top: 1rem; }
.vds-lessons__top-features { padding-block: 2.5rem; }
.vds-lessons__features { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.vds-lessons__feature { position: relative; min-width: 0; padding-inline: .7rem; text-align: center; }
.vds-lessons__top-features .vds-lessons__feature + .vds-lessons__feature { border-left: 1px solid #dbe3ed; }
.vds-lessons__feature svg { display: block; width: 2.8rem; height: 2.8rem; margin: 0 auto .8rem; }
.vds-lessons__feature h3 { margin: 0; font-size: 1rem; font-weight: 600; letter-spacing: -.03em; line-height: 1.2; }
.vds-lessons__feature p { margin: .55rem auto 0; max-width: 17rem; color: #65768b; font-size: .8rem; line-height: 1.45; }
.vds-lessons__split { display: grid; grid-template-columns: minmax(0,47%) minmax(0,53%); align-items: stretch; min-height: clamp(23rem,25vw,31rem); }
.vds-lessons__split-media { position: relative; min-width: 0; min-height: 0; overflow: hidden; clip-path: polygon(0 0,100% 5%,76% 100%,0 100%); }
.vds-lessons__image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: center; }
.vds-lessons__split-copy { min-width: 0; align-self: center; padding: 2rem max(4vw,calc((100vw - 90rem)/2)) 2rem 2.3vw; }
.vds-lessons__split-copy .vds-lessons__title { font-size: clamp(1.85rem,2.65vw,3.1rem); text-wrap: initial; }
.vds-lessons__split-copy .vds-lessons__description { font-size: clamp(.95rem,1.08vw,1.15rem); line-height: 1.45; }
.vds-lessons__split-copy .vds-lessons__features { margin-top: 1.5rem; gap: .65rem; }
.vds-lessons__split-copy .vds-lessons__feature { padding-inline: .1rem; }
.vds-lessons__split-copy .vds-lessons__feature h3 { font-size: .9rem; }
.vds-lessons__split-copy .vds-lessons__feature p { font-size: .75rem; }
.vds-lessons__features--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.vds-lessons__split--text-only { grid-template-columns: 1fr; }
.vds-lessons__split--text-only .vds-lessons__split-copy { width: min(86%,90rem); margin-inline: auto; padding: 3rem 0; }
.vds-lessons__booking { padding: clamp(2rem,4vw,4rem) 0; background: #f2f7fb; scroll-margin-top: 8rem; }
.vds-lessons__notice { padding: 1.5rem; margin: 0; border: 1px solid #dbe3e9; background: #fff; color: #65768b; }
.vds-lessons__faq { padding: 2.5rem 0 3rem; }
.vds-lessons__faq-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem 2rem; align-items: start; }
.vds-lessons__faq-item { border: 1px solid #d6e0ea; background: #fff; }
.vds-lessons__faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; list-style: none; cursor: pointer; font-size: .85rem; font-weight: 500; }
.vds-lessons__faq-item summary::-webkit-details-marker { display: none; }
.vds-lessons__faq-item summary > span { flex: 0 0 .45rem; width: .45rem; height: .45rem; border-right: 1px solid; border-bottom: 1px solid; transform: rotate(45deg); }
.vds-lessons__faq-item[open] summary > span { transform: rotate(225deg); }
.vds-lessons__faq-item > div { padding: 0 1rem 1rem; color: #65768b; font-size: .83rem; line-height: 1.6; }
.vds-lessons__faq-item p { margin: .6rem 0 0; }
.vds-lessons__cta { position: relative; isolation: isolate; width: 100%; min-height: clamp(18rem,23vw,27rem); display: flex; align-items: center; padding: clamp(3rem,4vw,5rem) 0; background: #0d2c50; color: #fff; clip-path: polygon(0 0,50% 4%,100% 0,100% 100%,0 100%); }
.vds-lessons__cta-image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.vds-lessons__cta::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(5,27,54,.72),rgba(5,27,54,.32) 60%,rgba(5,27,54,.18)); }
.vds-lessons__cta-content { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.vds-lessons__cta .vds-lessons__title { color: #fff; font-weight: 300; }
.vds-lessons__cta .vds-lessons__description { color: #e4ebf3; margin-top: .6rem; }
.vds-lessons__button { display: inline-flex; flex: 0 0 auto; justify-content: space-between; align-items: center; gap: 2rem; min-height: 3.2rem; padding: .9rem 1.4rem; background: #ff3f58; color: #fff; font-size: .7rem; font-weight: 600; text-decoration: none; text-transform: uppercase; }
.vds-lessons__button:hover { background: #dc2942; color: #fff; }
.vds-lessons a:focus-visible, .vds-lessons summary:focus-visible { outline: 2px solid #ff3f58; outline-offset: 3px; }

/* Formularz OnRent — style motywu, bez zmian obsługi rezerwacji. */
.vds-lessons .onrent-instructors { width: 100%; margin: 0; padding: clamp(1.25rem,3vw,3rem); border: 1px solid #d9e3ec; background: #fff; color: #092b56; font-family: inherit; box-shadow: 0 .8rem 2.5rem rgba(9,43,86,.05); }
.vds-lessons .onrent-instructors__heading { margin-bottom: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid #dfe7ef; }
.vds-lessons .onrent-instructors__heading > span { display: block; margin-bottom: .8rem; color: #ff3f58; font-size: .62rem; font-weight: 600; letter-spacing: .1em; }
.vds-lessons .onrent-instructors__heading h2 { margin: 0; color: #092b56; font-size: clamp(2rem,3vw,3rem); font-weight: 300; letter-spacing: -.04em; line-height: 1.05; }
.vds-lessons .onrent-instructors__heading p { margin: .8rem 0 0; color: #65768b; font-size: .85rem; line-height: 1.6; }
.vds-lessons .onrent-instructor-picker { min-width: 0; padding: 0; margin: 0 0 1.5rem; border: 0; }
.vds-lessons .onrent-instructor-picker legend { padding: 0; margin-bottom: .8rem; font-size: .65rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.vds-lessons .onrent-instructor-options { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3rem)/4); gap: 1rem; overflow-x: auto; padding: .2rem .1rem .85rem; scrollbar-width: thin; scrollbar-color: #a9bbcc #edf2f7; scroll-snap-type: x proximity; }
.vds-lessons .onrent-instructor-option { position: relative; display: flex; align-items: center; gap: .8rem; min-width: 0; margin: 0; padding: 1rem; border: 1px solid #d5e0eb; cursor: pointer; scroll-snap-align: start; }
.vds-lessons .onrent-instructor-option:has(input:checked) { border-color: #ff3f58; box-shadow: inset 0 0 0 1px #ff3f58; background: #fff8f9; }
.vds-lessons .onrent-instructor-option:has(input:focus-visible) { outline: 2px solid #092b56; outline-offset: 2px; }
.vds-lessons .onrent-instructor-option input { position: absolute; right: .45rem; top: .45rem; width: .8rem; height: .8rem; margin: 0; accent-color: #ff3f58; }
.vds-lessons .onrent-instructor-option__photo { display: grid; width: 3.8rem; height: 3.8rem; flex: 0 0 3.8rem; place-items: center; object-fit: cover; background: #092b56; color: #fff; font-size: 1.4rem; }
.vds-lessons .onrent-instructor-option__copy { min-width: 0; padding-right: .25rem; }
.vds-lessons .onrent-instructor-option__copy strong { display: block; font-size: .82rem; font-weight: 600; overflow-wrap: anywhere; line-height: 1.2; }
.vds-lessons .onrent-instructor-option__copy small { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; margin-top: .35rem; color: #65768b; font-size: .66rem; line-height: 1.4; }
.vds-lessons .onrent-booking__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 1.2rem; }
.vds-lessons .onrent-booking__grid label { display: grid; min-width: 0; gap: .5rem; margin: 0; color: #52677f; font-size: .72rem; }
.vds-lessons .onrent-booking__grid :is(input,select) { min-width: 0; max-width: 100%; width: 100%; min-height: 3rem; padding: .7rem .8rem; margin: 0; border: 1px solid #cbd6e0; border-radius: 0; background: #fff; color: #092b56; font: inherit; font-size: .82rem; }
.vds-lessons .onrent-multi-dates { grid-column: 1 / -1; padding: 1.2rem; border: 1px solid #dce5ee; background: #f6f9fb; }
.vds-lessons .onrent-multi-dates__title { display: block; margin-bottom: .8rem; font-size: .75rem; font-weight: 600; }
.vds-lessons .onrent-multi-dates__rows { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .8rem; }
.vds-lessons .onrent-multi-dates__rows label { position: relative; padding-right: 2rem; }
.vds-lessons .onrent-multi-dates__remove { position: absolute; right: 0; bottom: 0; width: 1.8rem; height: 3rem; border: 0; padding: 0; background: transparent; color: #b32d46; font-size: 1.3rem; cursor: pointer; }
.vds-lessons .onrent-multi-dates__remove[hidden] { display: none; }
.vds-lessons .onrent-multi-dates__add { min-height: 2.6rem; margin-top: .9rem; padding: .65rem 1rem; border: 1px solid #b9c9d9; background: #fff; color: #092b56; font: inherit; font-size: .7rem; cursor: pointer; }
.vds-lessons .onrent-multi-dates__add:disabled { opacity: .4; cursor: default; }
.vds-lessons .onrent-multi-dates > small { display: block; margin-top: .7rem; color: #65768b; font-size: .65rem; line-height: 1.5; }
.vds-lessons .onrent-booking__terms { display: flex; align-items: flex-start; gap: .6rem; margin-top: 1.5rem; color: #65768b; font-size: .72rem; line-height: 1.5; }
.vds-lessons .onrent-booking__terms input { flex: 0 0 1rem; width: 1rem; height: 1rem; margin: .1rem 0 0; accent-color: #ff3f58; }
.vds-lessons .onrent-booking__hint { margin: .9rem 0; color: #65768b; font-size: .68rem; line-height: 1.6; }
.vds-lessons .onrent-booking__submit { min-height: 3.2rem; padding: .9rem 1.4rem; border: 0; border-radius: 0; background: #ff3f58; color: #fff; font: inherit; font-size: .72rem; font-weight: 600; text-transform: uppercase; cursor: pointer; }
.vds-lessons .onrent-booking__submit:hover { background: #d9233d; }
.vds-lessons .onrent-booking__notice { margin: 1rem 0; padding: 1rem; border-left: 3px solid #092b56; background: #f3f7fa; font-size: .85rem; line-height: 1.5; }
.vds-lessons .onrent-booking__notice.is-error { background: #fff2f4; border-color: #b32740; color: #98233a; }
.vds-lessons .onrent-booking__notice.is-success { background: #eff8f3; border-color: #22704f; color: #22704f; }
.vds-lessons .onrent-booking :is(input,select,button):focus-visible { outline: 2px solid #ff3f58; outline-offset: 3px; }
@media (max-width: 1100px) { .vds-lessons .onrent-instructor-options { grid-auto-columns: calc((100% - 2rem)/3); } }
@media (max-width: 900px) {
    .vds-lessons__split { grid-template-columns: 1fr; min-height: 0; }
    .vds-lessons__split-media { height: clamp(17rem,45vw,25rem); }
    .vds-lessons__split-copy { padding: 2.5rem 7vw; }
    .vds-lessons__top-features .vds-lessons__features { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem 0; }
    .vds-lessons__top-features .vds-lessons__feature:nth-child(3) { border-left: 0; }
    .vds-lessons .onrent-instructor-options { grid-auto-columns: calc((100% - 1rem)/2); }
    .vds-lessons .onrent-multi-dates__rows { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
    .vds-lessons__cta { min-height: 26rem; padding: 4rem 0; }
    .vds-lessons__container { width: calc(100% - 2.5rem); }
    .vds-lessons__hero { min-height: 34rem; align-items: flex-end; padding: 3rem 0; }
    .vds-lessons__hero-image { object-position: 62% center; }
    .vds-lessons__hero::after { background: linear-gradient(0deg,rgba(245,250,253,.98),rgba(245,250,253,.8) 40%,rgba(245,250,253,.02)); }
    .vds-lessons__hero-title { font-size: clamp(2.5rem,9vw,3.8rem); }
    .vds-lessons__split-copy { padding: 2.5rem 1.25rem; }
    .vds-lessons__split-copy .vds-lessons__features { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
    .vds-lessons__faq-grid { grid-template-columns: 1fr; }
    .vds-lessons__cta-content { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
    .vds-lessons .onrent-instructor-options { grid-auto-columns: 88%; }
    .vds-lessons .onrent-booking__grid { grid-template-columns: minmax(0,1fr); }
    .vds-lessons .onrent-multi-dates__rows { grid-template-columns: minmax(0,1fr); }
    .vds-lessons .onrent-multi-dates { padding: 1rem; }
    .vds-lessons .onrent-booking__submit { width: 100%; }
}
.vds-lessons__offer-heading { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-bottom: 1.5rem; }
.vds-lessons__offer-link { display: inline-flex; align-items: center; gap: .9rem; flex: 0 0 auto; color: #092b56; font-size: .63rem; font-weight: 600; text-transform: uppercase; text-decoration: none; }
.vds-lessons__offer-link span { font-size: 1.1rem; }
.vds-lessons__offer-layout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(13rem, 1fr); gap: clamp(1.5rem,3vw,3rem); align-items: start; }
.vds-lessons__offer-form { min-width: 0; scroll-margin-top: 8rem; }
.vds-lessons__offer-points { display: grid; gap: 1.1rem; margin: 0; padding: 1rem 0; list-style: none; color: #566a84; font-size: .9rem; line-height: 1.5; }
.vds-lessons__offer-points li { position: relative; padding-left: 1.6rem; }
.vds-lessons__offer-points li::before { content: ''; position: absolute; top: .25rem; left: .1rem; width: .45rem; height: .8rem; border-right: 2px solid #1260e8; border-bottom: 2px solid #1260e8; transform: rotate(40deg); }
.vds-lessons .vds-lessons__offer-form .onrent-instructors { padding: clamp(1.1rem,2vw,2rem); }
.vds-lessons .vds-lessons__offer-form .onrent-instructors__heading { padding-bottom: 1rem; margin-bottom: 1rem; }
.vds-lessons .vds-lessons__offer-form .onrent-instructors__heading > span,
.vds-lessons .vds-lessons__offer-form .onrent-instructors__heading h2 { display: none; }
.vds-lessons .vds-lessons__offer-form .onrent-instructors__heading p { margin: 0; }
.vds-lessons .vds-lessons__offer-form .onrent-instructor-options { grid-auto-columns: calc((100% - 2rem)/3); }
.vds-lessons .vds-lessons__offer-form .onrent-multi-dates__rows { grid-template-columns: repeat(2,minmax(0,1fr)); }
@media (max-width: 1100px) {
    .vds-lessons__offer-heading { align-items: flex-start; flex-direction: column; gap: 1rem; }
    .vds-lessons__offer-layout { grid-template-columns: minmax(0,1fr); }
    .vds-lessons__offer-points { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
    .vds-lessons .vds-lessons__offer-form .onrent-instructor-options { grid-auto-columns: 85%; }
    .vds-lessons .vds-lessons__offer-form .onrent-multi-dates__rows { grid-template-columns: minmax(0,1fr); }
    .vds-lessons__offer-points { grid-template-columns: minmax(0,1fr); font-size: .85rem; }
}
@media (max-width: 600px) {
    .vds-lessons__split-copy .vds-lessons__features--three > .vds-lessons__feature:last-child:nth-child(3) {
        grid-column: 1 / -1;
        justify-self: center;
        width: calc((100% - 1.5rem) / 2);
    }
}
