.catalog-intro { background:var(--service-muted); padding:1.75rem 0 2.5rem; }
.catalog-intro .service-breadcrumb { margin-bottom:2.25rem; }
.catalog-intro h1 { color:var(--service-ink); font-size:clamp(1.75rem,3vw,2.5rem); line-height:1.12; font-weight:700; max-width:850px; }
.catalog-lead { color:var(--service-copy); font-size:.95rem; line-height:1.8; max-width:750px; margin:1.25rem 0 .8rem; }
.catalog-coverage { color:var(--service-copy); font-size:.85rem; line-height:1.8; }
.catalog-intro-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:3rem; align-items:center; }
.catalog-cover { width:100%; height:240px; object-fit:cover; border-radius:1rem; }
.catalog-area-nav { display:flex; gap:.6rem; flex-wrap:wrap; margin-top:2rem; }
.catalog-area-nav a { padding:.65rem 1rem; font-size:.85rem; font-weight:650; color:var(--service-copy); border:1px solid var(--service-border); border-radius:2rem; background:var(--service-surface); }
.catalog-area-nav a:hover { border-color:var(--area-accent,#0891b2); color:#fff; background:linear-gradient(to right,var(--area-accent,#0891b2),var(--area-end,#2563eb)); }
.catalog-area-nav [aria-current=page] { background:linear-gradient(to right,#06b6d4,#2563eb); color:#fff; border-color:transparent; }
html.dark .catalog-area-nav [aria-current=page] { background:#164e63; border-color:#22d3ee; }
.catalog-browser { padding-block:2.5rem 4.5rem; }
.catalog-search { padding:1.75rem; border:1px solid var(--service-border); border-radius:1.1rem; background:var(--service-surface); }
.catalog-search label { display:block; margin-bottom:.6rem; font-weight:650; color:var(--service-ink); font-size:.9rem; }
.catalog-search-input { display:flex; align-items:center; gap:.75rem; padding:.4rem .4rem .4rem 1rem; border:1px solid var(--service-border); border-radius:.8rem; background:var(--service-muted); }
.catalog-search-input > i { color:#0e7490; }
.catalog-search input { min-width:0; flex:1; background:transparent; padding:.6rem 0; color:var(--service-ink); font-size:1rem; }
.catalog-search input::placeholder { color:var(--service-copy); font-size:.9rem; }
.catalog-search .service-primary { padding:.7rem 1.2rem; }
.catalog-filters { display:flex; gap:1rem; flex-wrap:wrap; align-items:end; margin-top:1.25rem; }
.catalog-filters > div { flex:1 1 190px; }
.catalog-filters select { width:100%; max-width:100%; color:var(--service-ink); background:var(--service-muted); border:1px solid var(--service-border); padding:.8rem; border-radius:.6rem; font-size:.85rem; }
.catalog-reset { color:#0e7490; font-weight:650; font-size:.85rem; padding:.7rem .25rem; text-decoration:underline; text-underline-offset:4px; }
html.dark .catalog-reset,html.dark .catalog-guide-link { color:#67e8f9; }
.catalog-results-bar { display:flex; justify-content:space-between; gap:1rem; align-items:center; margin:1.5rem 0 .5rem; color:var(--service-ink); font-weight:700; }
.catalog-guidance { max-width:850px; color:var(--service-copy); font-size:.85rem; line-height:1.75; margin-bottom:1.5rem; }
.catalog-group { border:1px solid var(--service-border); background:var(--service-surface); border-radius:1rem; margin-bottom:1rem; scroll-margin-top:6rem; }
.catalog-group > summary { display:flex; align-items:center; gap:1rem; cursor:pointer; padding:1.3rem 1.5rem; list-style:none; }
.catalog-group > summary::-webkit-details-marker { display:none; }
.catalog-group-icon { display:grid; place-items:center; width:2.5rem; height:2.5rem; background:var(--service-muted); border-radius:.7rem; color:#0e7490; flex-shrink:0; }
.catalog-group-area { display:block; font-size:.72rem; color:var(--service-copy); margin-bottom:.2rem; }
.catalog-group-title { color:var(--service-ink); font-weight:700; font-size:1.05rem; line-height:1.5; }
.catalog-group-count { margin-left:auto; font-size:.8rem; color:var(--service-copy); background:var(--service-muted); padding:.25rem .65rem; border-radius:1rem; }
.catalog-chevron { color:var(--service-copy); font-size:1.4rem; }
.catalog-group[open] > summary .catalog-chevron { transform:rotate(180deg); }
.catalog-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; padding:0 1.25rem 1.25rem; }
.catalog-service-card { display:flex; flex-direction:column; background:var(--service-surface); border:1px solid var(--service-border); border-radius:.75rem; overflow:hidden; scroll-margin-top:6rem; min-width:0; }
.catalog-service-card h3 { font-weight:700; font-size:1rem; color:var(--service-ink); line-height:1.4; margin:.85rem 0; }
.catalog-service-card p { color:var(--service-copy); line-height:1.65; font-size:.8rem; }
.catalog-card-status span { display:inline-block; font-size:.7rem; padding:.25rem .65rem; border-radius:2rem; font-weight:650; }
.catalog-available { background:#dcfce7; color:#166534; }
.catalog-evaluation { background:#fef3c7; color:#92400e; }
html.dark .catalog-available { background:#123c2c; color:#a7f3d0; }
html.dark .catalog-evaluation { background:#422d0c; color:#fde68a; }
.catalog-service-card .catalog-devices { margin-top:1rem; font-size:.8rem; }
.catalog-service-card .catalog-mode { margin:.75rem 0 1rem; font-size:.8rem; }
.catalog-card-details { border-top:1px solid var(--service-border); padding-top:.9rem; margin-bottom:1rem; }
.catalog-card-details summary { font-size:.85rem; font-weight:650; color:var(--service-ink); cursor:pointer; }
.catalog-card-details ul { list-style:disc; padding-left:1.25rem; font-size:.85rem; color:var(--service-copy); line-height:1.8; margin-top:.75rem; }
.catalog-card-details p { font-size:.8rem; margin-top:.75rem; }
.catalog-card-actions { display:flex; align-items:start; gap:.9rem; flex-direction:column; margin-top:auto; }
.catalog-whatsapp { display:inline-flex; align-items:center; justify-content:center; gap:.65rem; padding:.55rem 1rem; border:0; background:linear-gradient(to right,var(--area-accent,#06b6d4),var(--area-end,#2563eb)); color:#fff; font-size:.85rem; font-weight:700; border-radius:999px; line-height:1.5; }
.catalog-whatsapp:hover { filter:brightness(1.08); }
.catalog-guide-link { color:#0e7490; font-size:.85rem; font-weight:700; line-height:1.6; }
.catalog-empty { padding:2.5rem; background:var(--service-muted); border-radius:1rem; text-align:center; }
.catalog-empty h2,.catalog-help h2 { color:var(--service-ink); font-size:1.45rem; font-weight:700; margin-bottom:.75rem; }
.catalog-empty p { margin-bottom:1.5rem; color:var(--service-copy); line-height:1.8; }
.catalog-help { display:flex; gap:2rem; justify-content:space-between; align-items:center; margin-top:2rem; padding:2rem; background:var(--service-muted); border:1px solid var(--service-border); border-radius:1rem; }
.catalog-help p { max-width:660px; color:var(--service-copy); line-height:1.8; }
.catalog-help .service-primary { flex-shrink:0; }
.catalog-page [hidden] { display:none !important; }
@media (max-width:1100px) { .catalog-area-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) {
  .catalog-home { padding:3rem 0; }
  .catalog-home-heading,.catalog-help { flex-direction:column; align-items:start; }
  .catalog-intro-grid,.catalog-service-grid { grid-template-columns:1fr; }
  .catalog-intro-grid { gap:1.5rem; }
  .catalog-cover { height:180px; }
  .catalog-search { padding:1rem; }
  .catalog-search-input > i { display:none; }
  .catalog-search-input { flex-wrap:wrap; padding:.75rem; }
  .catalog-search input { flex-basis:100%; }
  .catalog-search .service-primary { width:100%; }
  .catalog-filters { gap:.85rem; }
  .catalog-filters > div { flex-basis:100%; }
  .catalog-group > summary { padding:1rem; gap:.65rem; }
  .catalog-group-icon { width:2rem; height:2rem; }
  .catalog-group-title { font-size:.95rem; }
  .catalog-service-grid { padding:0 .75rem .75rem; }

  .catalog-help { padding:1.5rem; }
}
@media (max-width:480px) { .catalog-area-grid { grid-template-columns:1fr; } .catalog-area-photo img { aspect-ratio:16/9; } }

/* Misma identidad del sitio original: fotos, bordes finos y degradados por familia. */
.catalog-home { padding: 6rem 0; background: var(--service-muted); }
.catalog-home-heading { text-align: center; margin-bottom: 4rem; }
.catalog-home-heading h2 { font-size: 2rem; font-weight: 700; margin-bottom: 1rem; }
.catalog-home-heading p { font-size: .875rem; line-height: 1.8; color: var(--service-copy); }
.catalog-home-heading .catalog-area-nav { justify-content: center; }
.catalog-home-group { --area-accent: #0891b2; --area-end: #2563eb; margin-top: 4rem; }
.catalog-accent-violet { --area-accent: #9333ea; --area-end: #7c3aed; }
.catalog-accent-blue { --area-accent: #2563eb; --area-end: #06b6d4; }
.catalog-accent-teal { --area-accent: #0f766e; --area-end: #0891b2; }
.catalog-home-title { display: flex; align-items: center; justify-content: center; gap: .75rem; color: var(--area-accent); font-size: 1.25rem; font-weight: 700; margin-bottom: 2.5rem; }
.catalog-home-rule { width: 3rem; height: 1px; background: var(--area-accent); opacity: .25; }
.catalog-home-icon { width: 2.25rem; height: 2.25rem; display: grid; place-items: center; background: linear-gradient(135deg,var(--area-accent),var(--area-end)); color: white; border-radius: .75rem; box-shadow: 0 4px 8px #0002; flex-shrink: 0; }
.catalog-home-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; }
.catalog-home-consoles { grid-template-columns: repeat(4,minmax(0,1fr)); }
.catalog-home-card { display: flex; flex-direction: column; background: var(--service-surface); border: 1px solid var(--service-border); border-radius: .75rem; overflow: hidden; transition: transform .3s,box-shadow .3s; }
.catalog-home-card:hover { transform: translateY(-5px); box-shadow: 0 8px 24px #0001; }
.catalog-card-photo { display: block; position: relative; overflow: hidden; }
.catalog-card-photo img { width: 100%; aspect-ratio: 16/9; object-fit: cover; transition: transform .5s; }
.catalog-home-card:hover .catalog-card-photo img { transform: scale(1.05); }
.catalog-card-photo > span { position: absolute; top: .75rem; left: .75rem; max-width: calc(100% - 1.5rem); background: #ffffffe6; color: #374151; border-radius: 999px; padding: .2rem .6rem; font-size: .625rem; line-height: 1.4; }
.catalog-card-photo > span i { color: var(--area-accent,#06b6d4); margin-right: .25rem; }
.catalog-home-body { padding: 1.25rem; display: flex; flex-direction: column; flex: 1; }
.catalog-home-body h4 { font-size: 1rem; font-weight: 700; line-height: 1.4; color: var(--service-ink); margin-bottom: .5rem; }
.catalog-home-body > p { font-size: .8rem; line-height: 1.65; color: var(--service-copy); margin-bottom: 1.25rem; }
.catalog-home-bottom { display: flex; align-items: end; justify-content: space-between; gap: .5rem; margin-top: auto; }
.catalog-home-bottom small { display: block; font-size: .55rem; color: #9ca3af; margin-bottom: .25rem; }
.catalog-home-bottom strong { color: var(--area-accent); font-size: .875rem; line-height: 1.5; display: block; }
.catalog-home-more { display: inline-flex; gap: .35rem; white-space: nowrap; background: linear-gradient(to right,var(--area-accent),var(--area-end)); padding: .45rem .9rem; color: white; border-radius: 999px; font-weight: 600; font-size: .65rem; }
.catalog-home-all { text-align: center; margin-top: 1.75rem; }
.catalog-home-body .catalog-home-evaluation { font-size:.7rem; color:var(--area-accent,#0891b2); margin-top:-.5rem; margin-bottom:1rem; }
.catalog-card-body { display: flex; flex-direction: column; flex: 1; padding: 1.25rem; }
.catalog-intro h1 { background: linear-gradient(to right,#0891b2,#2563eb); background-clip: text; -webkit-background-clip: text; color: transparent; }
.catalog-card-status { margin-bottom: .25rem; }
.catalog-service-card .catalog-price { color:var(--area-accent,#0891b2); font-weight:700; margin-top:.75rem; }
.catalog-group-icon { background: linear-gradient(135deg,var(--area-accent,#06b6d4),var(--area-end,#2563eb)); color: white; }
@media (max-width: 1000px) { .catalog-home-consoles, .catalog-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 700px) { .catalog-home { padding: 4rem 0; } .catalog-home-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; } .catalog-service-grid { grid-template-columns: 1fr; } .catalog-home-title { font-size: 1.1rem; gap: .5rem; } .catalog-home-body { padding: 1rem; } .catalog-home-bottom { flex-wrap: wrap; } }
@media (max-width: 480px) { .catalog-home-grid { grid-template-columns: 1fr; } .catalog-home-rule { width: 1rem; } }

/* Paleta por área: identidad compartida en portada, catálogo y páginas de servicio. */
.catalog-accent-cyan { --area-accent:#0e7490; --area-end:#0369a1; --area-text:#0e7490; }
.catalog-accent-green { --area-accent:#15803d; --area-end:#166534; --area-text:#15803d; }
.catalog-accent-violet { --area-accent:#7c3aed; --area-end:#9333ea; --area-text:#7c3aed; }
.catalog-accent-blue { --area-accent:#1d4ed8; --area-end:#2563eb; --area-text:#1d4ed8; }
.catalog-accent-amber { --area-accent:#b45309; --area-end:#c2410c; --area-text:#b45309; }
html.dark .catalog-accent-cyan { --area-text:#67e8f9; }
html.dark .catalog-accent-green { --area-text:#86efac; }
html.dark .catalog-accent-violet { --area-text:#c4b5fd; }
html.dark .catalog-accent-blue { --area-text:#93c5fd; }
html.dark .catalog-accent-amber { --area-text:#fdba74; }
.catalog-home-title,.catalog-home-bottom strong,.catalog-home-group .catalog-guide-link,.catalog-service-card .catalog-price,.catalog-service-card .catalog-guide-link { color:var(--area-text,var(--area-accent)); }
.catalog-home-card:hover,.catalog-service-card:hover,.catalog-home-card:focus-within,.catalog-service-card:focus-within { border-color:var(--area-accent); }
.catalog-home-card:hover h4,.catalog-service-card:hover h3 { color:var(--area-text,var(--area-accent)); }
.catalog-home-more:hover,.catalog-whatsapp:hover { filter:brightness(.9); }
.catalog-area-nav a:hover,.catalog-area-nav a:focus-visible,.catalog-area-nav [aria-current=page],html.dark .catalog-area-nav [aria-current=page] { color:white; background:linear-gradient(110deg,var(--area-accent,#0e7490),var(--area-end,#2563eb)); border-color:var(--area-accent,#0e7490); }
.catalog-area-nav a:focus-visible { outline:2px solid var(--area-accent,#0e7490); outline-offset:3px; }
.catalog-page .catalog-intro h1 { background-image:linear-gradient(110deg,var(--area-text,#0891b2),var(--area-end,#2563eb)); }
.catalog-page .service-primary,.service-page .service-primary { background:linear-gradient(110deg,var(--area-accent,#0891b2),var(--area-end,#2563eb)); }
.catalog-page .catalog-reset,.catalog-page .catalog-search-input > i,.service-page .service-eyebrow,.service-page .service-link,.service-page .service-breadcrumb a { color:var(--area-text,#0e7490); }
.service-page .service-related-card:hover { border-color:var(--area-accent,#0891b2); }
