.lesson-page{padding-bottom:48px}.lesson-page .page-intro{padding-bottom:24px}.lesson-page .page-intro h1{max-width:880px}.lesson-page .subtitle{max-width:800px}.lesson-section-heading{margin:12px 0 20px}.lesson-section-heading h2{font-size:1.5rem;margin:0}.lesson-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.lesson-profile{display:flex;flex-direction:column;padding:24px;border:1px solid #d4dfdb;border-radius:18px;background:white;min-width:0}.lesson-profile.is-selected{border-color:#0b4439;box-shadow:0 0 0 2px #0b4439}.lesson-profile-top{display:flex;gap:18px;align-items:flex-start}.lesson-profile-top>div{min-width:0}.lesson-profile h3{font-size:1.25rem;line-height:1.45;margin:8px 0}.lesson-profile p{font-size:1rem;line-height:1.6;margin:0;color:#576b63;overflow-wrap:anywhere}.lesson-profile-number{font-size:.75rem;letter-spacing:.12em;color:#8c7032}.lesson-photo-placeholder,.lesson-photo-button{flex:0 0 96px;width:96px;min-height:128px;border-radius:12px;background:#f0f4f2;color:#567468;text-align:center;overflow:hidden}.lesson-photo-placeholder{display:flex;flex-direction:column;justify-content:center;padding:12px 4px;gap:8px}.lesson-photo-placeholder>span{font-size:2rem;font-weight:300}.lesson-photo-placeholder small{font-size:.75rem}.lesson-photo-button{position:relative;padding:0;border:1px solid #d4dfdb;cursor:zoom-in}.lesson-photo-button img{display:block;width:100%;height:128px;object-fit:cover}.lesson-photo-button>span:not(.lesson-photo-placeholder){display:block;font-size:.75rem;padding:5px;background:#0b4439;color:white}.lesson-profile dl{margin:24px 0;display:grid;gap:14px;flex:1}.lesson-profile dl>div{display:grid;grid-template-columns:80px 1fr;gap:10px;line-height:1.6}.lesson-profile dt{font-size:.875rem;font-weight:600;color:#294c40}.lesson-profile dd{font-size:.875rem;margin:0;overflow-wrap:anywhere}.lesson-profile-pending dd{color:#687a72}.lesson-profile .button{font-size:.875rem;min-height:48px}.lesson-page button:disabled{opacity:1;background:#edf1ef;border-color:#dce4e0;color:#6d7d76;cursor:default;box-shadow:none}.lesson-select{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border:1px solid #245747;border-radius:9px;font-weight:600;cursor:pointer}.lesson-select:has(input:checked){background:#0b4439;color:white}.lesson-select input{width:18px;height:18px;accent-color:#a98a49}.lesson-select-name{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.lesson-selection{margin-top:26px;border-radius:14px;padding:24px;background:#eef4f0;display:flex;justify-content:space-between;gap:22px;align-items:center}.lesson-selection strong{display:block;font-size:1.25rem;margin-top:6px}.lesson-selection span{font-size:.875rem}.lesson-recommend{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:32px;padding:26px 0;border-top:1px solid #dae3de}.lesson-recommend h2{font-size:1.35rem;margin:0 0 8px}.lesson-recommend p{margin:0;line-height:1.7}.lesson-recommend .button{flex-shrink:0}.lesson-booking-note{font-size:.875rem;line-height:1.7;color:#64776c}.lesson-photo-open{overflow:hidden}.lesson-photo-dialog{padding:18px;width:min(760px,92vw);max-width:92vw;max-height:90dvh;border:0;border-radius:16px;background:#fff;color:#0b4439}.lesson-photo-dialog::backdrop{background:#061c18d9}.lesson-photo-heading{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:14px}.lesson-photo-heading h2{font-size:1.2rem;margin:0;overflow-wrap:anywhere}.lesson-photo-close{border:1px solid #d4dfdb;position:static;border-radius:50%;background:white;color:#0b4439;font-size:1.7rem;line-height:1;flex:0 0 44px;height:44px;cursor:pointer}.lesson-photo-dialog>img{display:block;width:100%;max-height:calc(90dvh - 106px);object-fit:contain}.lesson-photo-dialog>img[hidden],.lesson-photo-error[hidden]{display:none}.lesson-photo-error{padding:32px;text-align:center}.lesson-page :focus-visible,.lesson-photo-dialog :focus-visible{outline:3px solid #b89951;outline-offset:4px}
@media(max-width:1100px){.lesson-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.lesson-profile-grid{grid-template-columns:1fr;gap:16px}.lesson-profile{padding:22px}.lesson-profile-top{gap:18px}.lesson-photo-placeholder,.lesson-photo-button{flex-basis:88px;width:88px}.lesson-selection,.lesson-recommend{align-items:stretch;flex-direction:column}.lesson-page .page-intro h1{font-size:2rem;line-height:1.35}.lesson-selection .button,.lesson-recommend .button{width:100%}.lesson-booking-note{margin-bottom:20px}}
