/* core/fonts.css */
/* Webfonts are enqueued from PHP to avoid a CSS @import waterfall.
   Abel is self-hosted — no Google Fonts request needed for it. */

@font-face {
  font-family: "Abel";
  src: url("/wp-content/uploads/2026/03/Abel-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "SYNNET";
  src: url("/wp-content/uploads/2025/10/synnet-pjs-latin.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --ssf-font-body: "SYNNET", "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ssf-font-display: "SYNNET", "Sora", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ssf-font-accent: "SYNNET", "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ssf-font-price: "Sora", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
/* core/elementor-header.css */
/* Bridge between Elementor sticky headers and the WP admin bar on the frontend. */
body.admin-bar .elementor-location-header {
    margin-top: -32px;
}

@media (max-width: 782px) {
    body.admin-bar .elementor-location-header {
        margin-top: -46px;
    }
}

@media (max-width: 1024px) {
    /* Colapsa el espacio del sidebar de filtros pero permite que el FAB (position:fixed)
       escape visualmente del contenedor y siga siendo accesible. */
    .elementor-element-88f0f80 {
        height: 0 !important;
        min-height: 0 !important;
        overflow: hidden !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}
/* modules/avatar/scope.css */
.ssf-avatar,
.ssf-avatar *{
  box-sizing:border-box;
}

.ssf-avatar{
  --av-blue:#0566C1;
  --av-blue-dark:#044D92;
  --av-blue-soft:#2F84D4;
  --av-text:#0f172a;
  --av-text-soft:#5b6b84;
  --av-border:rgba(5,102,193,.16);
  --av-shadow:0 20px 48px rgba(5,44,92,.18);
  --av-avatar-size:44px;
  --av-panel-avatar-size:62px;
  --av-welcome-size:18px;
  --av-title-size:13px;
  --av-trigger-text:#0f172a;
  --av-trigger-meta:#374151;
  position:relative;
  display:inline-block;
  font-family:inherit;
  color:var(--av-trigger-text);
}

.ssf-avatar a{
  text-decoration:none;
}
/* modules/avatar/panel.css */
.ssf-avatar__trigger,
.ssf-avatar--guest{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:calc(var(--av-avatar-size) + 14px);
  padding:6px 16px 6px 8px;
  border:1px solid transparent;
  border-radius:999px;
  background:transparent;
  color:inherit;
  cursor:pointer;
  box-shadow:none;
}

.ssf-avatar__trigger{
  width:auto;
}

.ssf-avatar__trigger:hover,
.ssf-avatar--guest:hover{
  background:rgba(5,102,193,.06);
  border-color:rgba(5,102,193,.10);
}

.ssf-avatar__media,
.ssf-avatar__avatar,
.ssf-avatar__guest-icon{
  width:var(--av-avatar-size);
  height:var(--av-avatar-size);
  border-radius:50%;
  overflow:hidden;
  flex-shrink:0;
  background:rgba(5,102,193,.08);
  border:1px solid rgba(5,102,193,.14);
  display:flex;
  align-items:center;
  justify-content:center;
}

.ssf-avatar__media img,
.ssf-avatar__avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.ssf-avatar__media svg,
.ssf-avatar__avatar svg{
  width:58%;
  height:58%;
  display:block;
  color:var(--av-blue);
}

.ssf-avatar__guest-icon svg,
.ssf-avatar__chevron svg{
  width:18px;
  height:18px;
}

.ssf-avatar__copy,
.ssf-avatar__guest-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  text-align:left;
}

.ssf-avatar__welcome,
.ssf-avatar__guest-copy strong{
  font-size:var(--av-welcome-size);
  font-weight:700;
  color:var(--av-trigger-text);
  line-height:1.05;
}

.ssf-avatar__title,
.ssf-avatar__guest-copy span{
  font-family:inherit;
  font-size:var(--av-title-size);
  font-weight:600;
  letter-spacing:0;
  color:var(--av-trigger-meta);
  opacity:1;
  line-height:1.1;
}

.ssf-avatar__chevron{
  display:flex;
  align-items:center;
  justify-content:center;
  color:inherit;
  transition:transform .2s ease;
}

.ssf-avatar.is-open .ssf-avatar__chevron{
  transform:rotate(180deg);
}

.ssf-avatar__panel{
  position:absolute;
  top:calc(100% + 14px);
  right:0;
  width:min(860px, calc(100vw - 28px));
  max-height:min(720px, calc(100vh - 36px));
  padding:0;
  border-radius:26px;
  background:#fff;
  border:1px solid var(--av-border);
  box-shadow:var(--av-shadow);
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  z-index:220;
}

.ssf-avatar__panel::-webkit-scrollbar{
  width:6px;
}

.ssf-avatar__panel::-webkit-scrollbar-thumb{
  background:rgba(5,102,193,.18);
  border-radius:999px;
}

.ssf-avatar__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:24px 26px;
  background:linear-gradient(180deg,rgba(5,102,193,.08),rgba(5,102,193,.02));
  border-bottom:1px solid rgba(5,102,193,.10);
}

.ssf-avatar__identity{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}

.ssf-avatar__avatar{
  width:var(--av-panel-avatar-size);
  height:var(--av-panel-avatar-size);
  border-color:rgba(5,102,193,.12);
  background:#eef5ff;
}

.ssf-avatar__name{
  font-family:inherit;
  font-size:24px;
  font-weight:700;
  line-height:1;
  letter-spacing:-.02em;
  color:var(--av-text);
}

.ssf-avatar__meta{
  margin-top:6px;
  font-size:13px;
  line-height:1.5;
  color:var(--av-text-soft);
}

.ssf-avatar__quick{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
  max-width:360px;
}

.ssf-avatar__quick-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(5,102,193,.12);
  color:var(--av-text);
  font-size:14px;
  font-weight:600;
}

.ssf-avatar__quick-link:hover,
.ssf-avatar__link:hover{
  border-color:rgba(5,102,193,.24);
  background:#f7fbff;
}

.ssf-avatar__quick-icon,
.ssf-avatar__link-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--av-blue);
}

.ssf-avatar__quick-icon svg,
.ssf-avatar__link-icon svg{
  width:16px;
  height:16px;
}

.ssf-avatar__badge-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:16px 26px 0;
}

.ssf-avatar__badge{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  background:#f7fbff;
  border:1px solid rgba(5,102,193,.12);
  color:var(--av-text-soft);
  font-size:12px;
  font-weight:700;
}

.ssf-avatar__badge--type{
  background:rgba(5,102,193,.10);
  color:var(--av-blue-dark);
}

.ssf-avatar__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  padding:24px 26px 26px;
}

.ssf-avatar__group{
  min-width:0;
}

.ssf-avatar__group-title{
  margin-bottom:14px;
  font-family:inherit;
  font-size:15px;
  font-weight:800;
  letter-spacing:-.01em;
  color:var(--av-text);
}

.ssf-avatar__links{
  display:grid;
  gap:10px;
}

.ssf-avatar__link{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:0 12px;
  border-radius:14px;
  border:1px solid transparent;
  color:var(--av-text-soft);
  font-size:14px;
  font-weight:600;
}
/* modules/avatar/responsive.css */
@media (max-width: 920px){
  .ssf-avatar__trigger,
  .ssf-avatar--guest{
    gap:10px;
    padding-right:12px;
  }

  .ssf-avatar__panel{
    width:min(720px, calc(100vw - 28px));
  }

  .ssf-avatar__head{
    flex-direction:column;
    align-items:stretch;
    padding:22px 22px 20px;
  }

  .ssf-avatar__quick{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    justify-content:flex-start;
    max-width:none;
    width:100%;
  }

  .ssf-avatar__quick-link{
    justify-content:center;
    min-width:0;
  }

  .ssf-avatar__badge-row{
    padding:14px 22px 0;
  }

  .ssf-avatar__grid{
    grid-template-columns:1fr 1fr;
    gap:18px;
    padding:20px 22px 22px;
  }
}

@media (max-width: 640px){
  body.ssf-avatar-locked{
    overflow:hidden;
  }

  .ssf-avatar{
    width:auto;
  }

  .ssf-avatar__trigger,
  .ssf-avatar--guest{
    width:auto;
    min-height:calc(var(--av-avatar-size) + 4px);
    padding:4px;
    gap:0;
    justify-content:center;
  }

  .ssf-avatar__copy,
  .ssf-avatar__guest-copy,
  .ssf-avatar__chevron{
    display:none;
  }

  .ssf-avatar__panel{
    position:fixed;
    top:calc(env(safe-area-inset-top, 0px) + 12px);
    left:12px;
    right:12px;
    width:auto;
    max-height:calc(100dvh - env(safe-area-inset-top, 0px) - 24px);
    border-radius:24px;
    z-index:2147483646;
  }

  .ssf-avatar__head{
    padding:20px 18px;
  }

  .ssf-avatar__identity{
    align-items:flex-start;
    gap:14px;
  }

  .ssf-avatar__quick{
    grid-template-columns:1fr;
    gap:8px;
  }

  .ssf-avatar__badge-row{
    padding:12px 18px 0;
  }

  .ssf-avatar__badge{
    width:100%;
    justify-content:center;
  }

  .ssf-avatar__name{
    font-size:20px;
  }

  .ssf-avatar__grid{
    grid-template-columns:1fr;
    gap:16px;
    padding:18px;
  }
}
