html body .elementor .ut-lib,
html body .ut-lib{
  --bg:#E6E6FF;--cream:#FFF9EE;--ink:#212121;--accent:#F47A2A;--accent-soft:#FF9E57;
  --heading:#2B2459;--lilac:#847AD3;--lav:#E6E6FF;--peach:#FFDFC7;
  --shadow:0 2px 2.5px rgba(43,36,89,.08);
  font-family:Montserrat,sans-serif;color:var(--ink);background:var(--bg);
  padding:0 40px 80px;max-width:1500px;margin:0 auto;box-sizing:border-box
}
html body .ut-lib *,
html body .ut-lib *::before,
html body .ut-lib *::after{box-sizing:border-box}
html body .ut-lib h1,
html body .ut-lib h2,
html body .ut-lib h3{font-family:"Montserrat Alternates",Montserrat,sans-serif;margin:0;color:var(--heading)}
html body .ut-lib button,
html body .ut-lib input,
html body .ut-lib select{font-family:inherit}
html body .ut-lib .ut-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:40px}
html body .ut-lib .ut-top h1{font-size:36px;line-height:1.12;font-weight:700;color:var(--ink)}
html body .ut-lib .ut-support{display:flex;align-items:center;flex-wrap:wrap;gap:16px;flex-shrink:0}
html body .ut-lib .ut-support span{font-size:16px;color:var(--ink)}
html body .ut-lib .ut-support img{height:35px;width:auto;max-width:none;display:block;border-radius:5px;background:#fff}
html body .ut-lib .ut-intro{display:flex;justify-content:space-between;align-items:stretch;gap:24px;margin-bottom:40px}
html body .ut-lib .ut-desc{background:var(--cream);box-shadow:var(--shadow);border-radius:25px;padding:25px 30px;max-width:624px;flex:1;margin:0;font-size:16px;line-height:1.38;color:var(--ink)}
html body .ut-lib .ut-desc p{margin:0}
html body .ut-lib .ut-desc p.ut-free{
  display:block;
  margin:20px 0 0 !important;
  padding-top:0;
  font-family:Montserrat,sans-serif;
  font-size:16px;
  font-weight:500;
  line-height:1.38;
  color:var(--ink)
}
html body .ut-lib .ut-tools{width:536px;max-width:100%;display:flex;flex-direction:column;align-items:flex-end;gap:15px}
html body .ut-lib .ut-search{width:100%;background:var(--cream);box-shadow:var(--shadow);border-radius:10px;height:54px;display:flex;align-items:center;padding:0 20px 0 30px;gap:10px;margin:0}
html body .ut-lib .ut-search input{border:0;background:transparent;flex:1;font:400 16px/1.38 Montserrat,sans-serif;outline:none;min-width:0;color:var(--ink);box-shadow:none;height:auto;padding:0}
html body .ut-lib .ut-search input::placeholder{color:rgba(33,33,33,.5)}
html body .ut-lib .ut-search svg{width:24px;height:24px;flex-shrink:0}
html body .ut-lib .ut-sort{background:var(--cream);box-shadow:var(--shadow);border-radius:10px;height:52px;display:flex;align-items:center;gap:12px;padding:0 18px 0 30px;margin:0;font-size:16px;font-weight:500;color:var(--ink)}
html body .ut-lib .ut-sort select{border:0;background-color:transparent;color:var(--lilac);font-weight:500;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;padding:0 22px 0 0;height:auto;box-shadow:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='24' viewBox='0 0 12 24'%3E%3Cpath fill='%23847AD3' d='M10.157 12.711L4.5 18.368 3.086 16.954 8.036 12.004 3.086 7.054 4.5 5.64l5.657 5.657a1 1 0 010 1.414z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right center}
html body .ut-lib .ut-body{display:grid;grid-template-columns:260px minmax(0,1fr);gap:36px;align-items:start}
html body .ut-lib .ut-side{display:flex;flex-direction:column;gap:20px;margin:0;min-width:0;background:#FFF9EE;background:var(--cream);border-radius:25px;box-shadow:var(--shadow);padding:20px;box-sizing:border-box}
html body .ut-lib .ut-f{border:0;margin:0;min-inline-size:0;border-radius:25px;box-shadow:var(--shadow);padding:28px 20px;display:flex;flex-direction:column;gap:14px}
html body .ut-lib .ut-f h3{display:block;width:100%;padding:0;margin:0;font-family:Montserrat,sans-serif;font-size:19px;font-weight:600;line-height:1.2;color:inherit}
html body .ut-lib .ut-f label{display:flex;align-items:flex-start;gap:10px;margin:0;font-size:16px;font-weight:500;line-height:1.38;cursor:pointer;color:inherit}
html body .ut-lib .ut-f input[type=checkbox]{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
html body .ut-lib .ut-check{width:22px;height:22px;border-radius:4px;flex-shrink:0;margin-top:1px;display:grid;place-items:center;border:2px solid currentColor;background:transparent}
html body .ut-lib .ut-f input:focus-visible + .ut-check{outline:2px solid #fff;outline-offset:2px}
html body .ut-lib .ut-f input:checked + .ut-check{background:var(--accent);border-color:var(--accent)}
html body .ut-lib .ut-f input:checked + .ut-check::after{content:"";width:11px;height:6px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg) translate(0,-1px)}
html body .ut-lib .ut-f-season{background:var(--lilac);color:#fff}
html body .ut-lib .ut-f-month{background:var(--accent-soft);color:#fff}
html body .ut-lib .ut-f-age{background:var(--lav);color:var(--ink)}
html body .ut-lib .ut-f-topic{background:var(--peach);color:var(--ink)}
html body .ut-lib .ut-f-season h3,
html body .ut-lib .ut-f-month h3{color:#fff}
html body .ut-lib .ut-f-age h3,
html body .ut-lib .ut-f-topic h3{color:var(--ink)}
html body .ut-lib .ut-f-month input:checked + .ut-check,
html body .ut-lib .ut-f-topic input:checked + .ut-check{background:var(--lilac);border-color:var(--lilac)}
html body .ut-lib .ut-f-season .ut-check,
html body .ut-lib .ut-f-month .ut-check{border-color:#fff}
html body .ut-lib .ut-f-age .ut-check,
html body .ut-lib .ut-f-topic .ut-check{border-color:var(--ink)}
html body .ut-lib .ut-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
html body .ut-lib .ut-card{background:#FFF9EE;background:var(--cream);border-radius:25px;box-shadow:0 4.8px 6px rgba(43,36,89,.1);padding:25px;display:flex;flex-direction:column;gap:12px;min-width:0}
html body .ut-lib .ut-card[hidden]{display:none}
html body .ut-lib .ut-pills{display:flex;gap:12px}
html body .ut-lib .ut-pills span{flex:1;text-align:center;border-radius:50px;padding:10px 8px;font-family:"Montserrat Alternates",Montserrat,sans-serif;font-weight:600;font-size:15px;line-height:1.2;text-transform:uppercase;color:#fff}
html body .ut-lib .ut-pills .s{background:var(--lilac)}
html body .ut-lib .ut-pills .m{background:var(--accent-soft)}
html body .ut-lib .ut-illu{position:relative;border-radius:15px;overflow:hidden;aspect-ratio:308/327;background:#d9f3fb;width:100%}
html body .ut-lib .ut-illu img{width:100%;height:100%;max-width:none;object-fit:cover;display:block;border:0;border-radius:0}
html body .ut-lib .ut-clip{position:absolute;left:8px;top:10px;z-index:1;transform:rotate(-4deg);pointer-events:none}
html body .ut-lib .ut-clip b{display:block;background:var(--accent-soft);color:#fff;border-radius:6px;padding:8px 12px 6px;font-family:"Montserrat Alternates",sans-serif;font-weight:700;font-size:16px;line-height:1;text-transform:uppercase;font-style:normal}
html body .ut-lib .ut-illu.has-art .ut-clip{display:none}
html body .ut-lib .ut-illu-css{display:block;width:100%;height:100%;min-height:100%}
html body .ut-lib .ut-illo-7{background:radial-gradient(circle at 22% 68%,#ffdfc7 0 48px,transparent 49px),linear-gradient(#e6e6ff 48%,#fff9ee 48%)}
html body .ut-lib .ut-illo-8{background:radial-gradient(circle at 78% 72%,#847ad3 0 42px,transparent 43px),linear-gradient(#fff3d6 50%,#cdebc8 50%)}
html body .ut-lib .ut-illo-9{background:radial-gradient(circle at 50% 58%,#ff9e57 0 56px,transparent 57px),linear-gradient(#d7d4ff 45%,#fff9ee 45%)}
html body .ut-lib .ut-ages{display:flex;gap:12px}
html body .ut-lib .ut-ages span{flex:1;text-align:center;background:var(--lav);border-radius:50px;padding:10px 8px;font-family:"Montserrat Alternates",sans-serif;font-weight:600;font-size:15px;line-height:1.2;text-transform:uppercase;color:var(--ink)}
html body .ut-lib .ut-card h2{font-size:20px;font-weight:600;line-height:1.3;color:var(--ink)}
html body .ut-lib .ut-card p{margin:0;font-size:17px;line-height:1.3;color:var(--ink)}
html body .elementor .ut-lib button.ut-btn,
html body .elementor .ut-lib a.ut-btn,
html body .ut-lib button.ut-btn,
html body .ut-lib a.ut-btn{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:20px;
  width:100% !important;
  height:67px;
  min-height:67px;
  margin-top:auto !important;
  margin-bottom:0 !important;
  padding:10px 20px !important;
  border:0 !important;
  border-radius:80px !important;
  background:#ff9e57 !important;
  background-image:linear-gradient(90deg,#ffc499 0%,#ff9e57 100%) !important;
  color:#212121 !important;
  box-shadow:none !important;
  font-family:"Montserrat Alternates",Montserrat,sans-serif !important;
  font-size:19px !important;
  font-weight:500 !important;
  font-style:normal !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  text-align:center !important;
  cursor:pointer;
  text-decoration:none !important
}
html body .elementor .ut-lib button.ut-btn,
html body .elementor .ut-lib a.ut-btn,
html body .ut-lib button.ut-btn,
html body .ut-lib a.ut-btn,
html body .elementor .ut-lib a.ut-cta,
html body .ut-lib a.ut-cta{
  position:relative;
  overflow:hidden;
  isolation:isolate
}
html body .ut-lib button.ut-btn::before,
html body .ut-lib a.ut-btn::before,
html body .ut-lib a.ut-cta::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  z-index:0;
  transition:opacity .45s ease
}
html body .ut-lib button.ut-btn::before,
html body .ut-lib a.ut-btn::before{background:#F47A2A}
html body .ut-lib a.ut-cta::before{background:#847AD3}
html body .ut-lib button.ut-btn:hover::before,
html body .ut-lib a.ut-btn:hover::before,
html body .ut-lib a.ut-cta:hover::before{opacity:1}
html body .ut-lib button.ut-btn:focus-visible,
html body .ut-lib a.ut-btn:focus-visible{outline:3px solid var(--lilac);outline-offset:2px}
html body .ut-lib .ut-btn-txt{
  display:flex;align-items:center;height:47px;line-height:1;margin:0;padding:0;position:relative;z-index:1
}
html body .ut-lib .ut-btn-ico{
  width:47px;height:47px;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:center;overflow:hidden;padding:0;margin:0;line-height:0;position:relative;z-index:1
}
html body .ut-lib .ut-btn-ico img{width:47px;height:47px;display:block;border:0;margin:0}
html body .ut-lib .ut-btn-ico svg{width:18px;height:18px;display:block}
html body .ut-lib .ut-empty{display:none;grid-column:1/-1;background:var(--cream);border-radius:25px;padding:40px;margin:0;text-align:center;font-size:16px}
html body .ut-lib .ut-grid.is-empty .ut-empty{display:block}
html body .ut-lib .ut-banner{margin-top:110px;background:var(--cream);box-shadow:var(--shadow);border-radius:25px;min-height:121px;display:flex;align-items:center;justify-content:flex-end;gap:24px;padding:25px 30px 25px 460px;position:relative}
html body .ut-lib .ut-banner-art{position:absolute;left:0;bottom:-8px;height:250px;display:flex;align-items:flex-end;pointer-events:none;z-index:1}
html body .ut-lib .ut-banner-art img{height:auto;width:auto;max-width:none;display:block}
html body .ut-lib .ut-banner-art img.ut-banner-group{height:250px;width:auto;max-width:460px}
html body .ut-lib .ut-banner p{margin:0;max-width:437px;font-size:16px;line-height:1.38;color:var(--ink)}
html body .ut-lib .ut-banner p strong{font-weight:700}
html body .elementor .ut-lib a.ut-cta,
html body .ut-lib a.ut-cta{
  display:flex !important;align-items:center !important;justify-content:center !important;gap:20px;
  width:338px;max-width:100%;height:67px;min-height:67px;padding:10px 20px !important;border:0 !important;border-radius:80px !important;
  background:#c7c2ff !important;background-image:linear-gradient(90deg,#d7d4ff,#b8b3ff) !important;
  color:#1e1233 !important;box-shadow:none !important;text-decoration:none !important;
  font-family:"Montserrat Alternates",Montserrat,sans-serif !important;font-size:19px !important;font-weight:500 !important;font-style:normal !important;line-height:1 !important;cursor:pointer
}
html body .ut-lib a.ut-cta .ut-btn-ico{background:#fff}
@media (max-width:1100px){
  html body .ut-lib,
  html body .elementor .ut-lib{padding:16px 10px 60px}
  html body .ut-lib .ut-top,
  html body .ut-lib .ut-intro,
  html body .ut-lib .ut-body{display:flex;flex-direction:column}
  html body .ut-lib .ut-tools{width:100%;align-items:stretch}
  html body .ut-lib .ut-support{
    width:100%;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:10px 12px;
  }
  html body .ut-lib .ut-support span{width:100%}
  html body .ut-lib .ut-support img{
    height:auto;
    width:auto;
    max-width:calc(50% - 6px);
    max-height:40px;
    object-fit:contain;
  }
  html body .ut-lib .ut-grid{grid-template-columns:1fr 1fr}
  html body .ut-lib .ut-banner{
    margin-top:48px;
    min-height:0;
    padding:20px 20px 24px;
    justify-content:center;
    text-align:center;
    flex-direction:column;
    gap:16px;
    overflow:hidden;
  }
  html body .ut-lib .ut-banner-art{
    position:relative;
    left:auto;
    top:auto;
    bottom:auto;
    transform:none;
    height:auto;
    width:100%;
    justify-content:center;
    z-index:0;
  }
  html body .ut-lib .ut-banner-art img,
  html body .ut-lib .ut-banner-art img.ut-banner-group{
    height:auto;
    width:auto;
    max-width:min(100%,380px);
    max-height:180px;
    object-fit:contain;
    margin:0 auto;
  }
  html body .ut-lib .ut-banner p{max-width:100%}
}
@media (max-width:700px){
  html body .ut-lib,
  html body .elementor .ut-lib{padding:12px 10px 48px}
  html body .ut-lib .ut-support{
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 10px;
  }
  html body .ut-lib .ut-support span{width:100%}
  html body .ut-lib .ut-support img{
    max-width:calc(50% - 5px);
    width:auto;
    height:auto;
    max-height:36px;
    object-fit:contain;
  }
  html body .ut-lib .ut-grid{grid-template-columns:1fr}
  html body .ut-lib .ut-banner{
    margin-top:32px;
    padding:16px 16px 20px;
    gap:12px;
  }
  html body .ut-lib .ut-banner-art img,
  html body .ut-lib .ut-banner-art img.ut-banner-group{
    max-width:100%;
    max-height:140px;
  }
  html body .elementor .ut-lib a.ut-cta,
  html body .ut-lib a.ut-cta{width:100%}
}
