/* JujuyConectado Design System 1.0 */
:root{--jc-brand:#1769e0;--jc-brand-strong:#0f4fae;--jc-action:#ff8a00;--jc-surface:#fff;--jc-canvas:#f4f6f8;--jc-ink:#20252b;--jc-ink-soft:#66717d;--jc-line:#dfe5eb;--jc-radius-sm:8px;--jc-radius-md:12px;--jc-radius-lg:18px;--jc-shadow-soft:0 5px 18px rgba(20,35,55,.06);--jc-shadow-float:0 16px 40px rgba(20,35,55,.13);--jc-space-1:4px;--jc-space-2:8px;--jc-space-3:12px;--jc-space-4:16px;--jc-space-5:24px;--jc-space-6:32px}
.jc-ui-card{background:var(--jc-surface);border:1px solid var(--jc-line);border-radius:var(--jc-radius-md);box-shadow:var(--jc-shadow-soft);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.jc-ui-card:hover{transform:translateY(-2px);box-shadow:var(--jc-shadow-float);border-color:#bfd5f1}.jc-ui-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 14px;border:1px solid transparent;border-radius:var(--jc-radius-sm);font-size:13px;font-weight:800}.jc-ui-button-primary{background:var(--jc-brand);color:#fff}.jc-ui-button-primary:hover{background:var(--jc-brand-strong);color:#fff}.jc-ui-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eef6ff;color:#1556ad;font-size:11px;font-weight:800}.jc-ui-section-title{margin:0;color:var(--jc-ink);font-size:clamp(25px,3vw,34px);letter-spacing:-.6px}.jc-ui-section-copy{margin:5px 0 0;color:var(--jc-ink-soft);font-size:14px}
.jc-home-localities{padding:42px 0;background:#fff}.jc-home-localities-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.jc-home-localities-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.jc-locality-cover{position:relative;min-height:220px;overflow:hidden;border-radius:16px;background:#17385d center/cover no-repeat;color:#fff;box-shadow:var(--jc-shadow-soft);transition:transform .2s ease,box-shadow .2s ease}.jc-locality-cover:hover{color:#fff;transform:translateY(-3px);box-shadow:var(--jc-shadow-float)}.jc-locality-cover:after{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,12,24,.88),rgba(5,12,24,.05) 65%);content:""}.jc-locality-cover-content{position:absolute;z-index:2;left:16px;right:16px;bottom:15px}.jc-locality-cover strong{display:block;font-size:20px;line-height:1.1}.jc-locality-cover small{display:block;margin-top:5px;color:rgba(255,255,255,.82);font-size:12px}.jc-locality-cover span{display:inline-flex;margin-top:10px;font-size:12px;font-weight:800}.jc-localities-all{white-space:nowrap;font-weight:800;font-size:13px}
@media(max-width:1000px){.jc-home-localities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.jc-home-localities{padding:30px 0}.jc-home-localities-head{align-items:flex-start;flex-direction:column}.jc-home-localities-grid{grid-template-columns:1fr 1fr;gap:10px}.jc-locality-cover{min-height:170px}.jc-locality-cover strong{font-size:16px}.jc-locality-cover-content{left:12px;right:12px;bottom:12px}}@media(max-width:390px){.jc-home-localities-grid{grid-template-columns:1fr}}

/* Aplicación instalable y experiencia móvil — v5.7.4 */
.jc-install-app{position:fixed;right:18px;bottom:20px;z-index:140;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 15px;border:0;border-radius:999px;background:var(--jc-brand);color:#fff;box-shadow:0 14px 34px rgba(15,79,174,.28);font-size:13px;font-weight:850;cursor:pointer}.jc-install-app[hidden]{display:none!important}.jc-install-app span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.18);font-size:17px}.jc-install-app:hover{background:var(--jc-brand-strong)}.jc-install-hint{position:fixed;right:14px;bottom:78px;z-index:141;max-width:310px;padding:13px 15px;border:1px solid var(--jc-line);border-radius:12px;background:#fff;color:var(--jc-ink);box-shadow:var(--jc-shadow-float);font-size:12px;line-height:1.45}.jc-install-hint[hidden]{display:none!important}
@media(max-width:620px){.jc-install-app{right:12px;bottom:88px;min-height:40px;padding:8px 12px;font-size:12px}.jc-install-hint{left:12px;right:12px;bottom:140px;max-width:none}.jc-app-nav{padding-bottom:max(6px,env(safe-area-inset-bottom))}}
@media(display-mode:standalone){.jc-install-app,.jc-install-hint{display:none!important}body{overscroll-behavior-y:contain}}

/* Posición de instalación sin superposición — v5.8.3 */
.jc-install-app{
  right:18px;
  bottom:82px;
  z-index:10022;
}
.jc-install-hint{
  right:18px;
  bottom:140px;
  z-index:10023;
}
@media(max-width:620px){
  .jc-install-app{
    right:12px;
    bottom:142px;
  }
  .jc-install-hint{
    left:12px;
    right:12px;
    bottom:196px;
  }
}
@media(max-width:480px){
  .jc-install-app{
    bottom:140px;
    min-width:44px;
  }
}
@media(display-mode:standalone){
  .jc-install-app,.jc-install-hint{display:none!important}
}

/* Actualizaciones PWA dentro de la app — v6.2.2 */
.jc-pwa-update{position:fixed;left:50%;bottom:24px;z-index:10080;display:flex;align-items:flex-start;gap:12px;width:min(520px,calc(100% - 28px));padding:15px 16px;transform:translateX(-50%);border:1px solid #cddcf0;border-radius:16px;background:#fff;color:var(--jc-ink);box-shadow:0 20px 55px rgba(12,35,66,.24)}
.jc-pwa-update[hidden]{display:none!important}.jc-pwa-update__icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:var(--jc-brand);color:#fff;font-size:23px;font-weight:900}.jc-pwa-update__body{min-width:0;flex:1}.jc-pwa-update strong{display:block;margin:0 0 3px;font-size:14px}.jc-pwa-update p{margin:0;color:var(--jc-ink-soft);font-size:12.5px;line-height:1.4}.jc-pwa-update__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}.jc-pwa-update__actions button{min-height:36px;padding:7px 13px;border-radius:9px;font-size:12px;font-weight:850;cursor:pointer}.jc-pwa-update__apply{border:1px solid var(--jc-brand);background:var(--jc-brand);color:#fff}.jc-pwa-update__apply:disabled{opacity:.65;cursor:wait}.jc-pwa-update__later{border:1px solid var(--jc-line);background:#fff;color:var(--jc-ink)}
@media(max-width:620px){.jc-pwa-update{bottom:calc(84px + env(safe-area-inset-bottom));align-items:center;padding:13px}.jc-pwa-update__icon{width:34px;height:34px;flex-basis:34px;font-size:20px}.jc-pwa-update__actions button{flex:1}}

/* =========================================================
   Sistema visual unificado de accesos y tarjetas — v7.6.0
   ========================================================= */
:root{
  --jc-card-radius:14px;
  --jc-card-border:#dfe7ef;
  --jc-card-shadow:0 7px 22px rgba(17,42,70,.065);
  --jc-card-shadow-hover:0 14px 34px rgba(17,42,70,.12);
  --jc-card-gap:14px;
  --jc-card-pad:17px;
  --jc-card-icon-bg:#edf5ff;
  --jc-card-icon-color:#1769e0;
}

/* Una categoría o acceso principal siempre se representa como tarjeta. */
.jc-category-card,.jc-commerce-card,.jc-result-card,.jcb-gestion-card,
.jcb-locality-card,.jcb-civic-service-card,.jcb-civic-card,
.jc-destination-grid>a,.jc-tourism-categories>a,
.jcb-profession-card,.jcb-professional-card,.jcb-prof-card,
.jc-service-card,.jcb-service-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--jc-card-border)!important;
  border-radius:var(--jc-card-radius)!important;
  background:#fff!important;
  box-shadow:var(--jc-card-shadow)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease!important;
}
.jc-category-card:hover,.jc-commerce-card:hover,.jc-result-card:hover,.jcb-gestion-card:hover,
.jcb-locality-card:hover,.jcb-civic-service-card:hover,.jcb-civic-card:hover,
.jc-destination-grid>a:hover,.jc-tourism-categories>a:hover,
.jcb-profession-card:hover,.jcb-professional-card:hover,.jcb-prof-card:hover,
.jc-service-card:hover,.jcb-service-card:hover{
  transform:translateY(-2px)!important;
  border-color:#b9d3f2!important;
  box-shadow:var(--jc-card-shadow-hover)!important;
}
.jc-category-card:active,.jc-commerce-card:active,.jc-result-card:active,.jcb-gestion-card:active,
.jcb-locality-card:active,.jcb-civic-service-card:active,.jcb-civic-card:active,
.jcb-profession-card:active,.jcb-professional-card:active,.jcb-prof-card:active{
  transform:scale(.985)!important;
}

/* Retícula común. */
.jc-category-grid,.jc-commerce-grid,.jc-results-grid,.jcb-gestiones-grid,
.jcb-locality-grid,.jcb-civic-service-grid,.jcb-civic-grid,
.jc-tourism-categories,.jc-destination-grid,.jcb-professions-grid,
.jcb-professional-grid,.jc-services-grid{
  gap:var(--jc-card-gap)!important;
}

/* Iconografía común. */
.jc-card-icon,.jcb-gestion-icon,.jcb-civic-service-icon,.jcb-civic-icon,
.jcb-profession-icon,.jcb-locality-card .jcb-locality-icon{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  border-radius:11px!important;
  background:var(--jc-card-icon-bg)!important;
  color:var(--jc-card-icon-color)!important;
  font-size:20px!important;
  line-height:1!important;
}

/* Centro Cívico, Gestiones y Profesionales: tarjetas compactas. */
.jcb-civic-service-card,.jcb-gestion-card,.jcb-profession-card,
.jcb-professional-card,.jcb-prof-card{
  min-height:0!important;
  padding:var(--jc-card-pad)!important;
}
.jcb-civic-service-card strong,.jcb-gestion-card strong,.jcb-profession-card strong,
.jcb-professional-card strong,.jcb-prof-card strong{
  font-size:15px!important;
  line-height:1.25!important;
}
.jcb-civic-service-card small,.jcb-gestion-card small,.jcb-profession-card small,
.jcb-professional-card small,.jcb-prof-card small{
  color:var(--jc-ink-soft)!important;
  font-size:12px!important;
  line-height:1.4!important;
}
.jcb-civic-service-card em,.jcb-gestion-open{
  margin-top:10px!important;
  color:var(--jc-brand)!important;
  font-size:12px!important;
  font-style:normal!important;
  font-weight:800!important;
}

/* Comercios y turismo mantienen imagen, pero con proporciones homogéneas. */
.jc-commerce-card-media,.jc-result-image{
  aspect-ratio:16/9!important;
  min-height:0!important;
  max-height:190px!important;
  overflow:hidden!important;
  background:#edf2f7!important;
}
.jc-commerce-card-media img,.jc-result-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.jc-commerce-card-body,.jc-result-content{padding:16px!important}
.jc-commerce-card-actions{gap:8px!important;margin-top:13px!important}

/* Encabezados de sección consistentes. */
.jc-section-heading,.jcb-civic-section-heading,.jc-home-localities-head{
  margin-bottom:18px!important;
}
.jc-section-heading h2,.jcb-civic-section-heading h2,.jc-ui-section-title{
  font-size:clamp(24px,3vw,32px)!important;
  line-height:1.12!important;
  letter-spacing:-.55px!important;
}

/* El header ya no muestra submenú de Profesionales. */
.jc-menu .menu-item-has-children>a[href*="/profesionales/"]::after{display:none!important}
.jc-menu .menu-item-has-children>a[href*="/profesionales/"]+ul{display:none!important}

/* Accesibilidad táctil y foco. */
.jc-category-card:focus-visible,.jc-commerce-card:focus-visible,.jc-result-card:focus-visible,
.jcb-gestion-card:focus-visible,.jcb-locality-card:focus-visible,
.jcb-civic-service-card:focus-visible,.jcb-profession-card:focus-visible{
  outline:3px solid rgba(23,105,224,.28)!important;
  outline-offset:3px!important;
}

@media(max-width:900px){
  .jc-category-grid,.jc-commerce-grid,.jc-results-grid,.jcb-gestiones-grid,
  .jcb-locality-grid,.jcb-civic-service-grid,.jcb-civic-grid,
  .jc-tourism-categories,.jc-destination-grid,.jcb-professions-grid,
  .jcb-professional-grid,.jc-services-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:620px){
  :root{--jc-card-gap:10px;--jc-card-pad:14px}
  .jc-category-grid,.jc-commerce-grid,.jc-results-grid,.jcb-gestiones-grid,
  .jcb-locality-grid,.jcb-civic-service-grid,.jcb-civic-grid,
  .jc-tourism-categories,.jc-destination-grid,.jcb-professions-grid,
  .jcb-professional-grid,.jc-services-grid{
    grid-template-columns:1fr!important;
  }
  .jc-category-card,.jcb-gestion-card,.jcb-civic-service-card,
  .jcb-profession-card,.jcb-professional-card,.jcb-prof-card{
    min-height:0!important;
    padding:14px!important;
  }
  .jcb-gestion-card,.jcb-civic-service-card,.jcb-profession-card{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    column-gap:12px!important;
    align-items:center!important;
  }
  .jcb-gestion-card>*:not(.jcb-gestion-icon),
  .jcb-civic-service-card>*:not(.jcb-civic-service-icon),
  .jcb-profession-card>*:not(.jcb-profession-icon){grid-column:2!important}
  .jcb-gestion-icon,.jcb-civic-service-icon,.jcb-profession-icon{
    grid-row:1/6!important;
    align-self:start!important;
  }
  .jc-commerce-card-media,.jc-result-image{max-height:165px!important}
}
@media(prefers-reduced-motion:reduce){
  .jc-category-card,.jc-commerce-card,.jc-result-card,.jcb-gestion-card,
  .jcb-locality-card,.jcb-civic-service-card,.jcb-civic-card,
  .jcb-profession-card,.jcb-professional-card,.jcb-prof-card{
    transition:none!important;
  }
}
