.calendar-wrap{max-width:1200px;margin:0 auto;padding:64px 6% 90px}.calendar-lead{font-size:clamp(18px,2vw,22px);line-height:1.6;max-width:720px}.calendar-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0}.calendar-tab{font:700 15px 'DM Sans',sans-serif;color:#343b3a;background:transparent;border:1px solid #9ca9a7;border-radius:30px;padding:12px 20px;cursor:pointer}.calendar-tab[aria-pressed=true]{background:#393939;border-color:#393939;color:#fff}.calendar-tab:focus-visible,.calendar-book:focus-visible{outline:3px solid #16a39b;outline-offset:3px}.calendar-meta{color:#52605e;font-size:14px;line-height:1.5}.calendar-warning{background:#fff3d6;color:#55400c;padding:12px 16px;border-radius:8px}.calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px}.calendar-card{background:#fff;border:1px solid #e1e7e5;box-shadow:0 8px 30px rgba(28,50,46,.06);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}.calendar-image{width:100%;height:190px;object-fit:cover}.calendar-card-body{padding:24px;display:flex;flex:1;flex-direction:column}.calendar-date{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#14736d;margin:0 0 10px}.calendar-title{font:700 clamp(22px,2vw,27px)/1.2 'DM Sans',sans-serif;margin:0 0 12px;color:#383838}.calendar-time{font-size:16px;margin:0 0 26px}.calendar-book{align-self:flex-start;background:#3dd2cc;color:#253737;text-decoration:none;font-size:15px;font-weight:700;padding:12px 17px;margin-top:auto}.calendar-book:hover{background:#a4e8e4}.calendar-empty{padding:30px;background:#e6f0ee;margin-top:26px}.calendar-noscript{padding:20px;background:#e6f0ee}@media(max-width:800px){.calendar-wrap{padding:42px 6% 70px}.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.calendar-image{height:155px}.calendar-card-body{padding:19px}.calendar-tab{font-size:14px;padding:10px 15px}}@media(max-width:520px){.calendar-grid{grid-template-columns:1fr}.calendar-image{height:200px}}
@media(min-width:801px) and (max-width:1150px){.header{height:76px;padding:0 4%;gap:10px}.header>.brand{width:220px}.header>nav{display:none}.mobile-menu{display:block;margin-left:auto;position:relative}.mobile-menu summary{cursor:pointer;font-size:14px;font-weight:700;list-style:none;padding:14px}.mobile-menu nav{display:flex;position:absolute;z-index:5;right:0;top:100%;min-width:230px;padding:16px;background:#3f3f3f;box-shadow:0 8px 20px #0005;flex-direction:column;gap:0}.mobile-menu nav a{padding:12px 8px}.header .nav-book{margin-left:0}}
