/* Listado Articulos y Prensa: orden visual uniforme (2026-07-04) */
body.view-category.layout-blog .article-header h2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; line-height: 27px; height: 81px;  min-height: 81px;}
body.view-category.layout-blog a.sn-rm { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; line-height: 17.5px; height: 35px; }
/* Formulario flotante sn-hs-float: no tapar el contenido del listado */
@media (min-width: 1200px){ body.view-category.layout-blog #sp-component { padding-right: 380px; } }
@media (max-width: 1199.98px){ body.view-category.layout-blog .sn-hs-float { display: none !important; } }

/* AUTHORCARD-FIX 13jul v2: firma autor ordenada */
body .sn-art .article-meta, .article-meta{clear:both !important; margin:44px 0 44px 0 !important; align-items:center !important;}
.sn-art .article-meta::after{content:""; display:block; clear:both;}

/* FORM GOLD BOX v2.1 + RESEÑAS carrusel (28-jul): marco SOLO al formulario sin tapar frases (margen + desborde solo horizontal); tarjetas doradas auto-avanzando */
.schneider-footer-form::before{content:none !important;border:0 !important;}
.schneider-footer-form .hs-form-frame{position:relative !important;margin:34px 0 !important;}
.schneider-footer-form .hs-form-frame::before{content:"";position:absolute;top:-10px;left:-16px;right:-16px;bottom:-10px;border:2px solid #b08d4c;border-radius:12px;pointer-events:none;z-index:1;}
.sgf-reviews{margin:34px 0;}
.sgf-reviews-h{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.6rem;color:#0F1A2E;margin:0 0 4px;}
.sgf-reviews-sub{color:#595959;font-size:.92rem;margin:0 0 16px;}
.sgf-viewport{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);}
.sgf-track{display:flex;gap:18px;width:max-content;animation:sgf-scroll 55s linear infinite;}
.sgf-reviews:hover .sgf-track{animation-play-state:paused;}
@keyframes sgf-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.sgf-card{flex:0 0 330px;box-sizing:border-box;background:#fbfaf6;border:1px solid #e6dcc4;border-left:5px solid #b08d4c;border-radius:0 8px 8px 0;padding:22px 24px;box-shadow:0 2px 10px rgba(17,28,46,.06);display:flex;flex-direction:column;justify-content:space-between;}
.sgf-stars{color:#b08d4c;letter-spacing:2px;font-size:1.1rem;margin-bottom:10px;}
.sgf-quote{font-family:'Newsreader',Georgia,serif;font-style:italic;color:#1a2840;line-height:1.55;font-size:1rem;margin:0;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden;}
.sgf-who{margin-top:14px;padding-top:10px;border-top:1px solid #e6dcc4;font-size:.85rem;color:#003366;font-weight:600;}

/* ===== Proteccion anticopia (sitio) ===== */
body{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}
input,textarea,select,[contenteditable="true"],.hs-form-frame,.hs-form-frame *{-webkit-user-select:text !important;-moz-user-select:text !important;-ms-user-select:text !important;user-select:text !important;}
img,figure{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none;}

/* ===== claude-4ago-2026 · FIX CLS DE FUENTES (metricas medidas en vivo) =====
   Causa: al llegar Cormorant Garamond (webfont) el texto grande cambia de
   metricas vs Georgia y desplaza el layout (CLS 0,22-0,25 escritorio, 284 URLs).
   Fix: Georgia local re-calibrada con las metricas exactas de Cormorant
   (size-adjust/ascent/descent medidos por canvas el 4-ago) => el intercambio
   de fuente ocurre sin mover un pixel. Idem fallback para Source Serif Pro.
   REVERSA: eliminar este bloque completo. Backup en 14_BACKUPS_E_HISTORICO. */
/* v2: el template ya sombreaba Georgia con size-adjust 87.7% PERO sin metricas
   verticales (ascent/descent ausentes) — esa era la causa del salto de altura.
   Valores v2 medidos contra Georgia CRUDA (alias RawGeorgia, canvas 4-ago). */
@font-face{font-family:Georgia;src:local('Georgia');size-adjust:89.16%;ascent-override:103.19%;descent-override:32.53%;line-gap-override:0%;}
@font-face{font-family:'SSP Fallback';src:local('Georgia');size-adjust:101.36%;ascent-override:90.77%;descent-override:33.54%;line-gap-override:0%;}
p{font-family:'Source Serif Pro','SSP Fallback',serif;}

/* claude-4ago v3 · font-display:swap (texto visible al instante; con los
   fallbacks metricos de arriba el intercambio es sin salto). URLs gstatic
   versionadas: si Google las rota, cae al fallback Georgia ajustado (seguro). */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2) format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400 500;font-display:swap;src:url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtImSo.woff2) format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:300 700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');}
@font-face{font-family:'Font Awesome 6 Free';font-style:normal;font-weight:400;font-display:swap;src:url(/media/vendor/fontawesome-free/webfonts/fa-regular-400.woff2?v=896727) format('woff2');}
@font-face{font-family:'Font Awesome 6 Free';font-style:normal;font-weight:900;font-display:swap;src:url(/media/vendor/fontawesome-free/webfonts/fa-solid-900.woff2?v=4a6591) format('woff2');}
@font-face{font-family:'Font Awesome 6 Brands';font-style:normal;font-weight:400;font-display:swap;src:url(/media/vendor/fontawesome-free/webfonts/fa-brands-400.woff2?v=cbcf42) format('woff2');}

/* claude-7ago-2026 v7 · TABLAS MOVIL: todas se deslizan (cualquier nro de columnas) + sombra que invita a deslizar. Anticopia intacto. */
@media (max-width: 820px){
  .sn-art .sn-tw{ overflow: visible !important; position: relative !important; }
  #sp-component .sn-art table,
  .sn-art .sn-tw table{
    display: block !important; width: 100% !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch !important;
  }
  #sp-component .sn-art table th, #sp-component .sn-art table td,
  .sn-art .sn-tw table th, .sn-art .sn-tw table td{
    min-width: 160px !important; white-space: normal !important;
  }
  /* pista visual: degradado en el borde derecho -> 'hay mas columnas, desliza' */
  .sn-art .sn-tw::after{
    content: "" !important; position: absolute !important; top: 0; bottom: 0; right: 0; width: 28px;
    background: linear-gradient(to right, rgba(22,35,58,0), rgba(22,35,58,0.16)) !important;
    pointer-events: none !important; z-index: 2 !important;
  }
}


/* ===== Auditoria home 8-ago-2026 - solo maquetacion =====
   No toca texto, titulos, enlaces ni estructura indexable.
   Reversa: borrar este bloque. Respaldo: custom.css.bak-8ago */

/* 1 - Prosa sin justificar: el navegador no silabea castellano y el
       justificado abre rios blancos. Solo <p> SIN clase; los <p> con
       clase conservan la alineacion de diseno. */
html body .sn-art p:not([class]){text-align:left}

/* 2 - Bloque final 'Conversemos sobre su caso': los <p> tenian
       max-width sin margin auto y caian al borde del navegador. */
html body .sn-art .sn-final p{margin-left:auto;margin-right:auto;text-align:center}

/* 3 - Equipo: las filas de 2 tarjetas dejaban un hueco al centro
       porque .sn-team-right forzaba la columna 3. */
html body .sn-team-card.sn-team-right{grid-column:auto}

/* 4 - Carrusel de areas: se detiene con el cursor encima y respeta
       prefers-reduced-motion. */
html body .sn-areas:hover .sn-areas-track,
html body .sn-areas-track:hover,
html body .sn-areas-track:focus-within{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){
  html body .sn-areas-track{animation:none}
}

/* ===== Auditoria home 8-ago-2026 - lote 2 =====
   5 - Carrusel de areas convertido en cuadricula estatica SIN tocar el
       HTML: se ocultan por CSS las 14 tarjetas duplicadas que existen
       solo para el bucle. Los 28 enlaces siguen en el codigo: Google lee
       exactamente lo mismo que antes. Reversa = borrar este bloque. */
html body .sn-areas-track{animation:none!important;transform:none!important;
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;
  gap:22px!important;width:auto!important}
html body .sn-areas-track>*{width:auto!important;min-width:0!important;flex:none!important}
html body .sn-areas-track>*:nth-child(n+15){display:none!important}
html body .sn-areas-carousel{overflow:visible!important}
html body .sn-areas-carousel::before,
html body .sn-areas-carousel::after{display:none!important}

/* 6 - Foco visible. El tema anulaba el outline: quien navega con teclado
       o lector de pantalla no veia donde estaba parado. */
html body a:focus-visible,
html body button:focus-visible,
html body input:focus-visible,
html body textarea:focus-visible{outline:2px solid #B08D4C!important;outline-offset:3px!important}
/* 5b - La cinta llevaba una mascara degradada (mask-image) para
        desvanecer los bordes mientras se movia. Con la cuadricula quieta
        apagaba la primera columna. */
html body .sn-areas,
html body .sn-areas-carousel{-webkit-mask-image:none!important;mask-image:none!important}
/* 7 - Tarjeta de area clicable completa (patron 'stretched link').
       El area util pasa de 74x22 px (solo 'VER AREA') a 338x312 px.
       Se estira el MISMO enlace que ya existia: no se agrega ningun
       enlace nuevo ni se toca el HTML. Cada tarjeta tiene exactamente
       1 enlace (verificado en las 28), asi que la capa no tapa otro. */
html body .sn-area-card{cursor:pointer}
html body .sn-area-card a::after{content:"";position:absolute;inset:0;z-index:1}
/* 8 - TEMPORAL (8-ago-2026): ocultar de la cuadricula de la home
       Derecho Administrativo y Resolucion Alternativa. Peter contratara
       un abogado para esas areas en unos meses.
       >>> PARA REPONERLAS: borrar SOLO este bloque. <<<
       Se ocultan por CSS: los enlaces SIGUEN en el HTML y en el menu y
       el pie de todo el sitio, asi que Google ve el mismo mapa de
       enlaces que antes. Cero impacto SEO.
       Nota: 'Resolucion Alternativa' apuntaba a
       /abogados/familia/mediacion-familiar, que NO es un hub propio
       sino una hija del cluster Familia y sigue viva. */
html body .sn-area-card:has(a[href="/abogados/administrativo"]),
html body .sn-area-card:has(a[href="/abogados/familia/mediacion-familiar"]){display:none!important}
/* 9 - Equipo: el separador de grupo abria 102 px entre la ultima fila
       de un grupo y la primera del siguiente, contra 24 px entre filas
       del mismo grupo. Quedaba demasiado cortado. Ahora ~65 px.
       Para apretarlo mas: margin-top -14px y padding 0 -> ~55 px.
       Para soltarlo: padding 6/4 y margin-top 0 -> ~79 px. */
html body .sn-team-group{padding-top:2px!important;padding-bottom:2px!important;
  margin-top:-8px!important;margin-bottom:0!important}
/* 10 - Equipo: fuera la rayita dorada corta (22x1 px) que iba a la
        izquierda del separador de grupo, encima de la linea larga clara.
        La linea larga (border-bottom) SE MANTIENE. */
html body .sn-team-group::before{display:none!important}