/* Compact desktop-style cards: preserve each program's gradient and logo. */
.catalog-category-disclosure > summary { cursor:pointer; list-style:none; }
.catalog-category-disclosure > summary::-webkit-details-marker { display:none; }
.catalog-category-disclosure > summary:focus-visible { outline:3px solid var(--cyan); outline-offset:4px; }
.catalog-payment-note { display:none; }
@media (min-width:701px) {
  .catalog-category-disclosure > summary { margin-bottom:8px; }
}
@media (max-width:700px) {
  .catalog-page .catalog-premium-hero { padding:16px; margin-bottom:12px; }
  .catalog-page .catalog-premium-copy h1 { font-size:1.65rem; line-height:1.12; }
  .catalog-page .catalog-premium-copy > p { margin-bottom:0; }
  .catalog-page .catalog-premium-facts,
  .catalog-page .catalog-premium-copy > a { display:none; }
  .catalog-page .catalog-finder-disclosure { margin-bottom:12px; }
  .catalog-page .catalog-finder-disclosure > summary { padding:12px; }
  .catalog-page .catalog-finder-disclosure > summary p { display:none; }
  .catalog-page .catalog-toolbar { gap:10px; padding:12px; margin-bottom:14px; }
  .catalog-page .catalog-category-disclosure { display:block; }
  .catalog-page .catalog-category-disclosure > summary { display:flex; justify-content:space-between; align-items:center; min-height:36px; }
  .catalog-page .catalog-category-disclosure:not([open]) > .category-filters { display:none; }
  .catalog-page .catalog-category-disclosure .category-filters { flex-wrap:wrap; overflow:visible; padding:8px 0 0; gap:6px; }
  .catalog-page .catalog-category-disclosure .cat-btn { white-space:normal; min-height:40px; }
  .catalog-page .catalog-results-bar { margin-bottom:12px; }
  .catalog-page .catalog-results-bar > span { display:none; }
  .catalog-page #main-catalog-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
  .catalog-page #main-catalog-grid .product-card { position:relative; min-width:0; display:flex; flex-direction:column; border-radius:16px; box-shadow:none; }
  .catalog-page #main-catalog-grid .product-card-top { min-height:108px; padding:20px 16px 14px; gap:14px; }
  .catalog-page #main-catalog-grid .product-image { width:76px; height:76px; flex:0 0 76px; padding:5px; border-radius:14px; object-fit:contain; }
  .catalog-page #main-catalog-grid .platform-badges { top:8px; right:12px; font-size:.8rem; gap:6px; }
  .catalog-page #main-catalog-grid .product-heading { flex:1; }
  .catalog-page #main-catalog-grid .product-name { color:#fff; font-size:1.05rem; line-height:1.25; overflow-wrap:anywhere; }
  .catalog-page #main-catalog-grid .product-version { font-size:.74rem !important; line-height:1.3; }
  .catalog-page #main-catalog-grid .product-body { padding:12px 16px 14px; }
  .catalog-page #main-catalog-grid .product-desc { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; min-height:0; flex:none; font-size:.78rem; line-height:1.4; margin:0 0 9px; }
  .catalog-page #main-catalog-grid .product-card-payment-methods { display:none; }
  .catalog-page #main-catalog-grid .product-card-meta { gap:3px 8px; margin:0 0 8px; }
  .catalog-page #main-catalog-grid .product-card-meta > span { padding:4px 7px; font-size:.7rem; min-height:24px; line-height:1.3; }
  .catalog-page #main-catalog-grid .product-card-meta > span > span { overflow-wrap:anywhere; }
  .catalog-page #main-catalog-grid .product-footer { flex-direction:row; flex-wrap:wrap; align-items:center; gap:8px; margin-top:auto; }
  .catalog-page #main-catalog-grid .product-price { font-size:1.3rem; flex-wrap:wrap; }
  .catalog-page #main-catalog-grid .product-purchase-info { flex:1 0 auto; min-width:max-content; }
  .catalog-page #main-catalog-grid .product-price small { font-size:.65rem; }
  .catalog-page #main-catalog-grid .product-card-actions { width:auto; }
  .catalog-page #main-catalog-grid .btn-comprar { width:auto; min-height:44px; padding:9px 14px; font-size:.78rem; }
  .catalog-page #main-catalog-grid .product-cart-button { width:44px; height:44px; flex-basis:44px; }
  .catalog-page .catalog-payment-note { display:block; color:var(--texto-claro); font-size:.72rem; margin:0 0 14px; }
}
