.acm-catalog{background:var(--acm-catalog-bg);width:100%;box-sizing:border-box}.acm-catalog *{box-sizing:border-box}.acm-layout{display:grid;grid-template-columns:minmax(210px,260px) minmax(0,1fr);gap:28px;align-items:start}.acm-filters{position:sticky;top:24px;background:#fff;border:1px solid #e7e9ee;border-radius:12px;padding:18px;max-height:calc(100vh - 48px);overflow:auto}.acm-filter-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.acm-filter-head strong{font-size:18px}.acm-filter-close{display:none;border:0;background:none;font-size:28px;line-height:1;cursor:pointer}.acm-filter-block{padding:16px 0;border-top:1px solid #eceef2}.acm-filter-title{display:block;font-weight:700;margin-bottom:10px;color:#111}.acm-search,.acm-category-select{width:100%;min-height:40px;border:1px solid #d8dde6;border-radius:8px;padding:8px 10px;background:#fff}.acm-check-list{display:grid;gap:8px}.acm-check-list label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.acm-check-list input{margin:0}.acm-spec-list label span{display:flex;align-items:center;gap:7px}.acm-spec-list img{width:20px;height:20px;object-fit:contain}.acm-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:14px;font-weight:600}.acm-toggle{position:relative;width:42px;height:24px;flex:0 0 auto}.acm-toggle input{position:absolute;opacity:0}.acm-toggle i{display:block;position:absolute;inset:0;background:#d1d5db;border-radius:999px;transition:.2s}.acm-toggle i:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.15);transition:.2s}.acm-toggle input:checked+i{background:var(--acm-accent)}.acm-toggle input:checked+i:before{transform:translateX(18px)}.acm-clear-filters{width:100%;border:1px solid #d8dde6;background:#fff;border-radius:8px;padding:10px 12px;cursor:pointer;font-weight:600}.acm-clear-filters:hover{border-color:var(--acm-accent);color:var(--acm-accent)}.acm-range-track{position:relative;height:28px;margin:3px 0 8px}.acm-range-track input[type=range]{position:absolute;inset:0;width:100%;appearance:none;background:transparent;pointer-events:none}.acm-range-track input[type=range]::-webkit-slider-runnable-track{height:4px;background:#111;border-radius:8px}.acm-range-track input[type=range]::-webkit-slider-thumb{appearance:none;width:16px;height:16px;border:2px solid #111;background:#fff;border-radius:50%;margin-top:-6px;pointer-events:auto;cursor:pointer}.acm-range-track input[type=range]::-moz-range-track{height:4px;background:#111;border-radius:8px}.acm-range-track input[type=range]::-moz-range-thumb{width:14px;height:14px;border:2px solid #111;background:#fff;border-radius:50%;pointer-events:auto;cursor:pointer}.acm-price-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.acm-price-inputs label{display:flex;align-items:center;border:1px solid #d8dde6;border-radius:7px;padding:0 8px}.acm-price-inputs input{width:100%;border:0!important;box-shadow:none!important;padding:8px 4px;min-width:0}.acm-results{min-width:0}.acm-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px}.acm-result-count{font-size:14px;color:#525866}.acm-toolbar label{display:flex;align-items:center;gap:8px;font-size:13px}.acm-order{min-height:38px;border:1px solid #d8dde6;border-radius:8px;background:#fff;padding:6px 28px 6px 9px}.acm-section-title h2{font-size:26px;margin:0 0 16px}.acm-featured{margin-bottom:28px}.acm-grid{display:grid;grid-template-columns:repeat(var(--acm-cols),minmax(0,1fr));gap:var(--acm-gap);align-items:stretch}.acm-product-card{display:flex;flex-direction:column;min-width:0;background:var(--acm-card-bg);border-radius:var(--acm-radius);overflow:hidden;border:1px solid rgba(17,24,39,.06);transition:transform .24s ease,box-shadow .24s ease;box-shadow:none}.acm-product-card:hover{transform:translateY(-3px);box-shadow:var(--acm-shadow)}.acm-image-wrap{position:relative;aspect-ratio:16/9;overflow:hidden;background:#eef1f5}.acm-image-wrap>a{display:block;width:100%;height:100%}.acm-image-wrap img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.7,.2,1)}.acm-image-wrap:hover img{transform:scale(1.045)}.acm-category-badge,.acm-new-badge{position:absolute;top:12px;z-index:2;border-radius:6px;font-size:11px;font-weight:700;line-height:1;display:inline-flex;align-items:center;gap:5px;padding:7px 9px}.acm-category-badge{left:12px}.acm-category-badge .dashicons{font-size:var(--acm-category-icon-size);width:var(--acm-category-icon-size);height:var(--acm-category-icon-size)}.acm-new-badge{right:12px;background:var(--acm-new-bg);color:var(--acm-new-text)}.acm-card-body{display:flex;flex-direction:column;flex:1;padding:18px 20px 20px}.acm-card-body h3{margin:0 0 8px;font-family:var(--acm-title-font);font-size:var(--acm-title-size);line-height:1.18;font-weight:var(--acm-title-weight);letter-spacing:-.015em}.acm-card-body h3 a{color:#111;text-decoration:none;transition:color .18s ease}.acm-card-body h3 a:hover{color:var(--acm-accent)}.acm-specializations{display:flex;align-items:center;gap:7px;min-height:var(--acm-icon-size);margin:0 0 10px}.acm-spec-icon{width:var(--acm-icon-size)!important;height:var(--acm-icon-size)!important;object-fit:contain}.acm-spec-text{display:inline-flex;padding:3px 6px;border-radius:5px;background:#f3f4f6;font-size:10px}.acm-description{font-family:var(--acm-body-font);font-size:var(--acm-body-size);font-weight:var(--acm-body-weight);line-height:1.55;color:#4b5563;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(var(--acm-body-size) * 1.55 * 3)}.acm-author{display:flex;align-items:center;gap:7px;margin-bottom:12px;font-family:var(--acm-author-font);font-size:var(--acm-author-size);font-weight:var(--acm-author-weight);color:#6b7280}.acm-author img{width:var(--acm-author-img-size)!important;height:var(--acm-author-img-size)!important;object-fit:cover;border-radius:50%}.acm-author a{color:inherit;text-decoration:none}.acm-author a:hover{color:var(--acm-accent)}.acm-card-spacer{flex:1}.acm-price{margin-top:8px;margin-bottom:13px;font-family:var(--acm-price-font)}.acm-price .acm-before{display:block;color:var(--acm-before-color);font-size:13px;line-height:1.2;margin-bottom:4px}.acm-price strong{display:block;color:var(--acm-price-color);font-size:var(--acm-price-size);line-height:1.15;font-weight:var(--acm-price-weight)}.acm-actions{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(90px,.8fr);gap:14px;align-items:center}.acm-buy{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:var(--acm-button-radius);background:var(--acm-accent);color:#fff!important;text-decoration:none!important;font-family:var(--acm-button-font);font-size:var(--acm-button-size);font-weight:var(--acm-button-weight);padding:10px 14px;transition:filter .18s ease,transform .18s ease}.acm-buy:hover{filter:brightness(1.1);transform:translateY(-1px)}.acm-buy.disabled{opacity:.5;cursor:not-allowed}.acm-more{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;border-bottom:1px solid #111;color:#111!important;text-decoration:none!important;font-family:var(--acm-more-font);font-size:var(--acm-more-size);font-weight:var(--acm-more-weight);padding:6px 1px}.acm-more span{transition:transform .2s ease}.acm-more:hover{color:var(--acm-accent)!important;border-color:var(--acm-accent)}.acm-more:hover span{transform:translateX(4px)}.acm-pagination{margin-top:26px}.acm-pagination nav{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.acm-pagination button{min-width:38px;height:38px;border:1px solid #d8dde6;background:#fff;border-radius:7px;padding:0 10px;cursor:pointer}.acm-pagination button:hover:not(:disabled),.acm-pagination button.active{background:var(--acm-accent);border-color:var(--acm-accent);color:#fff}.acm-pagination button:disabled{opacity:.38;cursor:not-allowed}.acm-pagination span{padding:0 4px;color:#6b7280}.acm-empty{padding:32px;border:1px dashed #d8dde6;border-radius:12px;text-align:center;color:#6b7280}.acm-mobile-filter-button{display:none;margin-bottom:14px;width:100%;min-height:44px;border:1px solid #d8dde6;background:#fff;border-radius:9px;font-weight:700}.acm-catalog.acm-loading .acm-grid{opacity:.38;pointer-events:none}.acm-catalog.acm-loading .acm-results:after{content:"";position:fixed;width:26px;height:26px;border:3px solid #dbe4f3;border-top-color:var(--acm-accent);border-radius:50%;left:50%;top:50%;animation:acmspin .65s linear infinite;z-index:999}@keyframes acmspin{to{transform:rotate(360deg)}}@media(max-width:1024px){.acm-layout{grid-template-columns:220px minmax(0,1fr)}.acm-grid{grid-template-columns:repeat(var(--acm-cols-tablet),minmax(0,1fr))}.acm-card-body{padding:16px}.acm-actions{grid-template-columns:1fr}.acm-more{justify-content:flex-start}.acm-more span{margin-left:auto}}@media(max-width:767px){.acm-mobile-filter-button{display:flex;align-items:center;justify-content:center;gap:7px}.acm-layout{display:block}.acm-filters{position:fixed;z-index:99999;top:0;left:0;bottom:0;width:min(88vw,360px);max-height:none;border-radius:0;transform:translateX(-105%);transition:transform .25s ease;box-shadow:0 0 30px rgba(0,0,0,.18)}.acm-catalog.filters-open .acm-filters{transform:translateX(0)}.acm-filter-close{display:block}.acm-grid{grid-template-columns:repeat(var(--acm-cols-mobile),minmax(0,1fr))}.acm-toolbar{align-items:flex-start;flex-direction:column}.acm-toolbar label{width:100%;justify-content:space-between}.acm-order{flex:1}.acm-card-body h3{font-size:var(--acm-title-mobile)}.acm-description{font-size:var(--acm-body-mobile);min-height:calc(var(--acm-body-mobile) * 1.55 * 3)}.acm-section-title h2{font-size:22px}.acm-pagination nav{justify-content:center}.acm-pagination button:first-child,.acm-pagination button:last-child{display:none}}

/* 1.1.0 refinements */
.acm-catalog{padding-left:var(--acm-padding-desktop,0);padding-right:var(--acm-padding-desktop,0)}
.acm-list-title{margin-top:2px}
.acm-spec-icon{border-radius:5px}
.acm-promo-art{position:absolute;left:12px;bottom:12px;z-index:3;display:block;width:58px;height:58px;border-radius:10px;overflow:hidden;box-shadow:0 5px 16px rgba(0,0,0,.16)}
.acm-promo-art img{width:100%!important;height:100%!important;object-fit:cover;transform:none!important}
.acm-buy{background:var(--acm-card-accent,var(--acm-accent))}
@media(max-width:767px){.acm-catalog{padding-left:var(--acm-padding-mobile,0);padding-right:var(--acm-padding-mobile,0)}.acm-promo-art{width:52px;height:52px}}

/* 1.2.0 — categorías múltiples, descripción completa y valor total */
.acm-category-badges{position:absolute;z-index:3;top:12px;left:12px;right:86px;display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;pointer-events:none}
.acm-category-badges .acm-category-badge{position:static;top:auto;left:auto;right:auto;max-width:100%;white-space:normal;line-height:1.15;padding:6px 8px;pointer-events:auto}
.acm-description{display:block!important;-webkit-line-clamp:unset!important;-webkit-box-orient:initial!important;overflow:visible!important;min-height:0!important;white-space:normal;overflow-wrap:anywhere}
.acm-list-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:2px}
.acm-list-title h2{margin-bottom:10px}
.acm-total-value{display:flex;align-items:baseline;gap:7px;margin:0 0 10px;color:#6b7280;font-size:13px;white-space:nowrap}
.acm-total-value strong{font-size:16px;color:#111;font-weight:800}
@media(max-width:1024px) and (min-width:768px){.acm-catalog{padding-left:var(--acm-padding-tablet,0);padding-right:var(--acm-padding-tablet,0)}}
@media(max-width:767px){.acm-category-badges{right:76px}.acm-list-title{align-items:flex-start}.acm-total-value{white-space:normal}}


/* 1.2.1 — encabezados, espacios y estados sin resultados */
.acm-featured{margin-bottom:25px}
.acm-featured .acm-section-title h2{margin:0 0 25px}
.acm-list-title{display:block;margin:0 0 2px}
.acm-list-title h2{display:flex;align-items:baseline;flex-wrap:wrap;gap:0;margin:0 0 10px;font-size:26px}
.acm-total-value{display:inline;margin:0;color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;white-space:normal}
.acm-total-value strong{font:inherit;color:inherit}
.acm-total-value[hidden]{display:none!important}
.acm-empty{margin-top:8px;font-size:15px;line-height:1.55}
@media(max-width:767px){.acm-list-title h2{font-size:22px}.acm-featured .acm-section-title h2{margin-bottom:25px}}


/* 1.2.2 — espaciado real de destacados y valor total discreto a la derecha */
.acm-featured{
  display:flex;
  flex-direction:column;
  gap:25px;
  margin:0 0 25px!important;
}
.acm-featured .acm-section-title,
.acm-featured .acm-section-title h2{
  margin:0!important;
}
.acm-list-title{
  display:flex!important;
  align-items:baseline;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  margin:0 0 2px!important;
}
.acm-list-title h2{
  display:block!important;
  margin:0 0 10px!important;
  font-size:26px;
}
.acm-total-value{
  display:flex!important;
  align-items:baseline;
  gap:6px;
  margin:0 0 10px auto!important;
  color:#6b7280!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.3!important;
  white-space:nowrap!important;
}
.acm-total-value strong{
  color:#111!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.2!important;
}
.acm-total-value[hidden]{display:none!important}
@media(max-width:767px){
  .acm-featured{gap:25px;margin-bottom:25px!important}
  .acm-list-title{align-items:flex-start}
  .acm-list-title h2{font-size:22px}
  .acm-total-value{margin-left:0!important;white-space:normal!important}
}


/* 1.3.0 — formato de curso */
.acm-course-format{margin:0 0 10px;font-size:12px;line-height:1.35;font-weight:600;color:#6b7280}
.acm-course-format span{max-width:100%}


/* 1.4.0 — filtro de formato y preventa */
.acm-format-list label span{display:inline-flex;align-items:center;min-height:20px}
.acm-presale-ribbon{width:100%;padding:9px 12px;text-align:center;font-size:12px;line-height:1.25;font-weight:800;letter-spacing:.035em;text-transform:none}
.acm-product-card .acm-presale-ribbon + .acm-card-body{padding-top:16px}


/* 1.4.1 — precio exacto por oferta y ribbon de oferta */
.acm-sale-ribbon{width:100%;padding:9px 12px;text-align:center;font-size:12px;line-height:1.25;font-weight:800;letter-spacing:.035em;background:#E53935;color:#FFFFFF}
.acm-product-card .acm-sale-ribbon + .acm-card-body{padding-top:16px}


/* 1.4.4 — borde y animación global para tarjetas en oferta */
.acm-product-card.acm-sale-card{
    border:var(--acm-sale-border-width,2px) solid var(--acm-sale-border-color,#c40303);
    box-sizing:border-box;
}
.acm-product-card.acm-sale-animated{
    animation:acmSaleLift 4.8s ease-in-out infinite;
    transform-origin:center bottom;
}
.acm-product-card.acm-sale-animated:hover{
    animation-play-state:paused;
    transform:translateY(-3px);
}
@keyframes acmSaleLift{
    0%,78%,100%{transform:translateY(0)}
    84%{transform:translateY(-3px)}
    90%{transform:translateY(0)}
    95%{transform:translateY(-1px)}
}
@media (prefers-reduced-motion: reduce){
    .acm-product-card.acm-sale-animated{animation:none!important}
}
