/* ====== Sitemap Tree (T2P) ====== */
#main .sitemap{
  --line:#e5e7eb;        /* color de líneas del árbol */
  --accent:#c3a461;      /* dorado/acento T2P */
  --text:#1a1a1a;

  /* NO estirar todas las columnas a la misma altura */
  align-items:flex-start;      /* <-- clave para que cada col tome su alto */
}

/* Tarjetas por columna */
#main .sitemap .block-links{
  background:#fff;
  border:1px solid #eee;
  border-radius:12px;
  padding:1rem 1.25rem;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
  font-size:.95rem;

  /* Mantener el título fijo arriba y UL debajo */
  display:flex;
  flex-direction:column;

  /* NO forzar a igualar alturas del resto */
  align-self:flex-start;  /* <-- evita estiramiento por la fila flex */
  height:auto;
  min-height:0;           /* por si el tema impone min-height */
}
#main .sitemap .block-links + .block-links{ margin-left: 10px; }
@media (max-width: 992px){
  #main .sitemap .block-links{ margin-bottom:1rem; }
}

/* Título de bloque */
#main .sitemap .block-links .block-title{
  font-size:1rem;
  text-transform:uppercase;
  letter-spacing:.02em;
  margin:0 0 .65rem;
  padding:0 0 .5rem;
  border-bottom:1px solid #eee;
}
#main .sitemap .block-links .block-title span{
  position:relative;
  display:inline-block;
}
#main .sitemap .block-links .block-title span::after{
  content:"";
  display:block;
  width:42px; height:2px;
  background:var(--accent);
  margin-top:.4rem;
}

/* ====== Árbol: UL/LI con líneas y flecha ====== */
#main .sitemap .block-links ul{
  list-style:none;
  margin:0;
  padding-left:1rem;     /* sangría general del árbol */
}
#main .sitemap .block-links li{
  position:relative;
  line-height:1.35;
  padding:.28rem 0 .28rem 1rem; /* deja hueco a la “ramita” */
  color:var(--text);
}

/* Horizontal (ramita) que conecta nodo con el tronco */
#main .sitemap .block-links li::before{
  content:"";
  position:absolute;
  left:0;                 /* arranca desde el tronco */
  top:1.05em;             /* altura aprox. del texto */
  width:.8rem;
  border-top:1px solid var(--line);
}

/* Vertical (tronco) que baja por la columna */
#main .sitemap .block-links li::after{
  content:"";
  position:absolute;
  left:0;
  top:-.6em;              /* un poco por encima del texto */
  bottom:-.6em;           /* y un poco por debajo */
  border-left:1px solid var(--line);
}

/* El último hijo no “sigue bajando” el tronco */
#main .sitemap .block-links li:last-child::after{
  bottom:auto;            /* cortamos abajo */
  height:1.2em;           /* remate limpio */
}

/* Separación entre sub-listas */
#main .sitemap .block-links li > ul{
  margin-top:.25rem;
}

/* Flecha para nodos con hijos (solo CSS, sin despliegue) */
#main .sitemap .block-links li:has(> ul) > a{
  font-weight:600;
}
#main .sitemap .block-links li:has(> ul) > a::before{
  content:"▸";            /* flecha */
  display:inline-block;
  margin:0 .35rem 0 -.75rem; /* entra donde iría la viñeta */
  transform:rotate(90deg);   /* apunta hacia abajo */
  font-size:.85em;
  color:var(--accent);
}

/* Enlaces */
#main .sitemap .block-links a{
  color:var(--text);
  text-decoration:none;
}
#main .sitemap .block-links a:hover{
  color:var(--accent);
  text-decoration:underline;
}

/* Accesibilidad: foco visible */
#main .sitemap .block-links a:focus{
  outline:2px solid var(--accent);
  outline-offset:2px;
  border-radius:4px;
}

/* —— Extras opcionales (listas muy largas) —— */

/* 1) Marcas: límite de alto con scroll suave */
#main .sitemap .block-links a#manufacturer-page + ul{
  max-height: 280px;
  overflow:auto;
  padding-right:.25rem;
}

/* 2) Compactar listas profundas un poco más */
#main .sitemap .block-links ul ul{
  padding-left: 1.1rem; /* subniveles */
}

/* ====== OPCIÓN A: scroll SOLO en la columna "Categorías" (2ª) ====== */
#main .sitemap .block-links:nth-of-type(2) > ul{
  max-height: 72vh;                 /* ajusta 60–75vh a tu gusto */
  overflow:auto;
  padding-right:.35rem;
  overscroll-behavior:contain;      /* evita arrastre del scroll de la página */
  scrollbar-width:thin;             /* Firefox */
  scrollbar-color: var(--accent) #f6f6f6; /* Firefox */
}
/* Scrollbar (WebKit/Chromium) */
#main .sitemap .block-links:nth-of-type(2) > ul::-webkit-scrollbar{ width:8px; }
#main .sitemap .block-links:nth-of-type(2) > ul::-webkit-scrollbar-track{ background:#f6f6f6; }
#main .sitemap .block-links:nth-of-type(2) > ul::-webkit-scrollbar-thumb{
  background:#c3a46133;
  border-radius:8px;
}
#main .sitemap .block-links:nth-of-type(2) > ul:hover::-webkit-scrollbar-thumb{
  background:#c3a46177;
}

/* En móvil, mejor sin scroll interno */
@media (max-width: 768px){
  #main .sitemap .block-links:nth-of-type(2) > ul{
    max-height:none;
    overflow:visible;
    padding-right:0;
  }
}