/* SONAR Classes 1.3.0 beta1 — dynamic library. Scoped to .sonar-library */
.sonar-library{max-width:1210px;margin:0 auto 58px;padding:0 12px;color:#16392a;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.sonar-library *{box-sizing:border-box}
.sonar-library-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:12px 0 26px}
.sonar-library-eyebrow{display:block;color:#087a46;font-size:11px;letter-spacing:.13em;font-weight:800;margin:0 0 8px}
.sonar-library h2{font-size:clamp(26px,3vw,37px);font-weight:800;font-family:inherit;line-height:1.15;color:#153828;margin:0 0 9px;letter-spacing:-.035em}
.sonar-library-header p{font-size:16px;color:#55695e;line-height:1.6;margin:0}
.sonar-library-counter{flex:none;display:grid;place-items:center;text-align:center;min-width:100px;padding:12px;border:1px solid #dbeadf;background:#eef8f1;border-radius:16px;font-size:12px;color:#4d6657}
.sonar-library-counter strong{display:block;font-size:26px;color:#127c46;line-height:1}
.sonar-library-toolbar{display:flex;align-items:stretch;gap:13px;margin-bottom:14px}
.sonar-library-search{flex:1;display:flex;align-items:center;gap:12px;min-height:48px;padding:0 15px;border:1px solid #d8e6db;background:white;border-radius:12px}
.sonar-library-search svg{width:20px;height:20px;fill:none;stroke:#217b4b;stroke-width:2;flex:none}
.sonar-library-input{border:0!important;outline:0!important;box-shadow:none!important;flex:1;min-width:0;font-size:14px!important;line-height:1.4;background:transparent!important;padding:8px 0!important;color:#153828}
.sonar-library-search:focus-within{border-color:#1b8d56;box-shadow:0 0 0 3px #0b884523}
.sonar-library-order{display:flex;align-items:center;gap:8px;background:white;border:1px solid #d8e6db;border-radius:12px;padding:0 12px;font-size:13px;color:#587162;white-space:nowrap}
.sonar-library-sort{max-width:210px;border:0!important;background:transparent!important;box-shadow:none!important;color:#16432d!important;font-size:13px!important}
.sonar-library-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}
.sonar-library-filter{appearance:none;border:1px solid #ddebe1;background:#f1f6f2;color:#365e48;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s,color .2s}
.sonar-library-filter:hover,.sonar-library-filter:focus-visible{background:#dff2e5;border-color:#86ca9c}
.sonar-library-filter.is-active{background:#0d7a47;color:white;border-color:#0d7a47}
.sonar-library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch}
.sonar-library-item{position:relative;min-width:0;display:flex;flex-direction:column;background:white;border:1px solid #dfe9e1;border-radius:17px;box-shadow:0 8px 23px #0e362116;overflow:hidden}
.sonar-library-item[hidden]{display:none!important}
.sonar-library-item .sonar-class-card{border:0!important;border-radius:0!important;box-shadow:none!important;min-width:0;flex-shrink:0;transform:none!important}
.sonar-library-item .sonar-layout-below.sonar-size-wide .sonar-class-media{aspect-ratio:16/9}
.sonar-library-item .sonar-class-photo{object-fit:cover}
.sonar-library-item .sonar-class-shade{background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.17))}
.sonar-library-item .sonar-class-textbox{min-height:75px;padding:14px 14px 5px!important;align-items:flex-start;background:#fff}
.sonar-library-item .sonar-class-title{font-size:15px!important;line-height:1.34!important;font-weight:750!important;color:#173828!important;text-align:left!important;letter-spacing:-.01em!important;text-shadow:none!important}
.sonar-library-item .sonar-class-play{background:#057d47!important;color:#fff!important;box-shadow:0 4px 15px #0004}
.sonar-library-item .sonar-class-play-icon{color:white!important}
.sonar-library-item .sonar-class-card:hover .sonar-class-play{background:#095e38!important}
.sonar-library-tag{position:absolute;z-index:9;top:11px;left:11px;max-width:calc(100% - 22px);pointer-events:none;border-radius:999px;background:#e8f8eeed;color:#0f683e;font-size:10px;font-weight:800;letter-spacing:.025em;padding:5px 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sonar-library-desc{font-size:12px!important;line-height:1.5!important;margin:0!important;padding:0 14px 10px!important;color:#617467!important;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sonar-library-access{display:block;padding:11px 14px 13px;margin-top:auto;font-size:11px;line-height:1.2;color:#0f7645;border-top:1px solid #edf3ee;font-weight:650}
.sonar-library-legacy-link{display:flex;flex-direction:column;text-decoration:none!important;color:inherit!important}
.sonar-library-legacy-image{display:grid;place-items:center;position:relative;aspect-ratio:16/9;overflow:hidden;background:#12242a}
.sonar-library-legacy-image img{width:100%;height:100%;object-fit:cover}
.sonar-library-legacy-play{display:grid;place-items:center;position:absolute;width:56px;height:56px;border-radius:50%;background:#067d47;color:white;font-size:23px;padding-left:4px;box-shadow:0 4px 15px #0004}
.sonar-library-legacy-title{display:block;min-height:75px;padding:14px 14px 5px;font-size:15px;font-weight:750;line-height:1.34;color:#173828}
.sonar-library-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin:29px 0 18px}
.sonar-library-page{min-width:37px;height:37px;border:1px solid #dce8df;background:white;color:#245b3c;border-radius:9px;font-weight:750;cursor:pointer}
.sonar-library-page.is-active{background:#0e7e49;color:white;border-color:#0e7e49}
.sonar-library-empty{padding:40px 20px;text-align:center;color:#476555}
.sonar-library-footnote{color:#62736a;text-align:center;font-size:12px;line-height:1.5}
.sonar-library-sr{position:absolute!important;clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap}
.sonar-library button:focus-visible,.sonar-library a:focus-visible,.sonar-library select:focus-visible{outline:3px solid #23844b;outline-offset:3px}
@media(max-width:991px){.sonar-library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}}
@media(max-width:767px){.sonar-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sonar-library-header{align-items:flex-start}.sonar-library-toolbar{flex-direction:column}.sonar-library-order{min-height:44px}.sonar-library-item .sonar-class-title,.sonar-library-legacy-title{font-size:14px!important}}
@media(max-width:430px){.sonar-library-grid{grid-template-columns:1fr}.sonar-library-counter{min-width:70px}.sonar-library-header p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.sonar-library-filter{transition:none}}

/* 1.4 grouped catalog, without affecting the standalone addon or player. */
.sonar-library-group{margin:28px 0 34px}.sonar-library-group[hidden]{display:none!important}
.sonar-library-category-title{font:800 clamp(19px,2vw,25px)/1.3 system-ui,sans-serif!important;color:#103f2b!important;margin:0 0 17px!important;padding:0 0 11px;border-bottom:2px solid #dbe9de}
.sonar-library-result-count{font-size:12px;color:#59705f;margin:0 0 12px}
.sonar-library-legacy-caption{font-size:11px;color:#62736a;margin:auto 0 0;padding:10px 14px 13px;border-top:1px solid #edf3ee}
.sonar-library-item .sonar-class-textbox{min-height:70px!important}.sonar-library-item .sonar-class-title{line-height:1.36!important}
.sonar-library .sonar-class-media{min-width:0}
.sonar-library-group .sonar-library-grid{margin-bottom:0}
@media(max-width:991px){.sonar-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.sonar-library-grid{grid-template-columns:1fr}.sonar-library-group{margin:22px 0}.sonar-library h2{font-size:27px!important}}

/* v1.4 beta3: larger cards while retaining 4 desktop columns. The catalog
 * may use the viewport width even inside a narrower SP Page Builder container.
 * This changes ONLY sonar_catalog, never the individual sonar_class addon. */
@media(min-width:1024px){
  .sonar-library{
    position:relative;
    width:min(1570px,calc(100vw - 64px));
    max-width:none;
    margin-left:50%;margin-right:0;
    transform:translateX(-50%);
  }
  .sonar-library-grid{gap:23px}
}
@media(min-width:768px) and (max-width:1023px){.sonar-library{max-width:100%}}
.sonar-library-item .sonar-class-textbox{min-height:88px!important;padding:16px 17px 9px!important}
.sonar-library-item .sonar-class-title{font-size:17px!important;line-height:1.36!important}
.sonar-library-legacy-title{min-height:88px;padding:16px 17px 9px;font-size:17px}
.sonar-library-item .sonar-class-play{transform:scale(1.10)!important}
@media(max-width:767px){
 .sonar-library-item .sonar-class-title,.sonar-library-legacy-title{font-size:15px!important}
 .sonar-library-item .sonar-class-textbox,.sonar-library-legacy-title{min-height:78px}
}

/* SONAR Classes 1.4 beta4 — taller thumbnails, 4/2/1 responsive columns.
 * 3:2 is +18.5% image height over 16:9 at the same width.
 * Only sonar_catalog cards, not the standalone sonar_class addon. */
.sonar-library .sonar-library-item .sonar-layout-below.sonar-size-wide .sonar-class-media,
.sonar-library .sonar-library-legacy-image{aspect-ratio:3/2}
.sonar-library[data-sonar-image-ratio="16_9"] .sonar-library-item .sonar-layout-below.sonar-size-wide .sonar-class-media,
.sonar-library[data-sonar-image-ratio="16_9"] .sonar-library-legacy-image{aspect-ratio:16/9}
.sonar-library[data-sonar-image-ratio="4_3"] .sonar-library-item .sonar-layout-below.sonar-size-wide .sonar-class-media,
.sonar-library[data-sonar-image-ratio="4_3"] .sonar-library-legacy-image{aspect-ratio:4/3}
.sonar-library .sonar-library-item .sonar-class-textbox,
.sonar-library .sonar-library-legacy-title{min-height:96px!important}
@media(max-width:767px){
  .sonar-library .sonar-library-item .sonar-class-textbox,
  .sonar-library .sonar-library-legacy-title{min-height:80px!important}
}

/* 1.4.0 Beta 7 — mostrar más independientemente en cada categoría */
.sonar-library .sonar-library-morewrap{display:flex;justify-content:center;margin:16px 0 8px}
.sonar-library .sonar-library-morewrap[hidden]{display:none!important}
.sonar-library .sonar-library-more{border:1px solid #acd8bf;background:#eef9f2;color:#086e40;
 border-radius:999px;padding:10px 23px;min-height:43px;font:750 13px/1.35 system-ui,sans-serif;
 cursor:pointer;transition:background-color .2s,border-color .2s}
.sonar-library .sonar-library-more:hover{background:#d8f0e2;border-color:#74ba93}
.sonar-library .sonar-library-more:focus-visible{outline:3px solid #23844b;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.sonar-library .sonar-library-more{transition:none}}
